Documentación
Notch, taskbar and launcher
The always-on desktop chrome and how to drive it.
En esta página
The chrome, top to bottom
Three surfaces are always available, and all three run on the same action grammar, so anything one of them can launch, the others can too.
| Surface | Where | What it is |
|---|---|---|
| The Notch | Top centre | A short bar of your favourite one-click actions. |
| The Launcher | Centered overlay | Fuzzy search over apps, commands, windows, Store and recent files. |
| Taskbar and status bar | Bottom two rows | Open windows, workspaces, quick launches, system indicators. |
The Notch
The Notch is a rounded pill of chips centred at the top of the screen — the macOS-style shelf of things you actually open every day. Click a chip to run it.
With no configuration it shows six defaults: Apps, Shell, Files,
Web, Chat and Control. Editing it in Control Center → Notch, or
writing ~/.config/tde/notch.toml by hand, replaces that list.
[settings]
enabled = true
icons_only = false
[[items]]
icon = "🚀"
label = "Apps"
action = "launcher"
[[items]]
icon = "🗄"
label = "Backups"
action = "cmd:restic snapshots"enabled = false stops it being drawn or hit-tested at all. icons_only = true
drops the labels even when they would fit. An item with an empty action is
discarded, and if that empties the whole list the built-in defaults come back —
a broken file can never leave you with no Notch.
Chips are wide (icon label) when the cluster fits the screen and collapse to
icon-only when it does not; if an item has no icon, the first letter of its label
stands in.
The action grammar
An action is a short string the desktop interprets. The same grammar is used by
the Notch, the command palette and commands/*.toml files.
| Form | Meaning |
|---|---|
| A built-in id | Open that native surface. |
cmd:<shell command> | Run it in a terminal window, then drop into an interactive shell so the output stays. |
app:<catalog name> | Launch an installed Store app. |
url:<address> | Open it in TDE Browser. |
control:<panel-id> | Deep-link into a Control Center panel. |
myloop:<section> | Deep-link into a My Loop section. |
The built-in ids are:
launcher terminal shell files editor browser
sheets docs api redis vercel webhook
database mermaid aichat email hosts process
container env control myloop store git
pr wiperAn action the desktop does not recognise pops a toast saying so, rather than failing silently.
The Launcher
Alt+Space (or the Super key) opens the Launcher: one search field over
everything the desktop can start. It is not an app grid — it is closer to VS
Code's command palette, because every native app registers its individual
commands, not just "Open".
Typing searches, in one ranked list:
- System commands — Shell, Browser, Files, Code, Git, Database, Redis, Mermaid, Hosts, AI Chat, Email, Control, Resume, Store, Clipboard, System Monitor, Wiper, Packages, Updates, Join Web Share, Lock, Suspend, Logout, Restart, Shutdown. A shorter default subset shows on an empty query; all of them are searchable.
- Open windows, so the Launcher doubles as a window switcher.
- Per-app commands —
Control: Appearance,My Loop: Usage & Costs,TDE-Email: Configure accounts, and so on. - Installed apps from the Store catalog, plus agent CLIs TDE detected on
your
PATH. - Not-yet-installed Store apps, as full results while searching and as a four-item teaser on an empty query.
- Recent files, read from the desktop-standard
~/.local/share/recently-used.xbel.
Matching is fuzzy with a bias toward exact substrings: a contiguous match scores
highest, a subsequence match (ctlap → Control: Appearance) still matches but
scores lower, and each category adds a fixed weight so a system command outranks
a Store teaser at the same text score. Rows are labelled App: Title and matched
against "App Title", so either half finds them.
Paste or type something that looks like a URL and an Open in browser row jumps to the top.
| Key | Action |
|---|---|
↑ / ↓ | Move the selection |
PageUp / PageDown | Move by half a page |
Home / End | First / last row |
Enter | Run the selected row |
Backspace | Edit the query |
Esc | Dismiss |
Adding your own rows takes one TOML file and no code — see Extending without code.
The Start menu
F1 (or Alt+A, or the ≡ Start button on the status bar) opens the Start
menu: the TDE wordmark and build version, a search row, a category sidebar and a
scrollable list of installed apps. Tab cycles focus between search, sidebar and
list.
It shares its implementation with the Store overlay (F2 / Alt+S), which is
the same shell pointed at the catalog of apps you have not installed yet.
Taskbar and status bar
The bottom two rows are fixed chrome.
The taskbar row carries one slot per open window on the current workspace,
plus the workspace pager on the right: a numbered token per workspace and a
trailing + that adds one.
The status bar row carries, from the left, five launch pills — ≡ Start,
▤ Files, ⬇ Store, ⚙ Control, ◆ My Loop — and a ⎘ Clip button for
clipboard history. The right side is system state.
System indicators
Indicators are drawn right-aligned in a fixed order and simply omitted when the machine has nothing to report. Only the clock is guaranteed.
| Indicator | Source | Clicking it |
|---|---|---|
| Network | NetworkManager over the system D-Bus; nmcli to join a Wi-Fi network | Opens Quick Settings |
| Bluetooth | BlueZ over D-Bus (Adapter1 / Device1: discover, pair, connect) | Opens Quick Settings |
| Audio | wpctl (PipeWire) | Opens Quick Settings |
| Battery | The first battery under /sys/class/power_supply | Opens Quick Settings |
| Keyboard layout | localectl; applied with setxkbmap | Opens the layout switcher |
| Clock | — | Opens the calendar popover |
Wi-Fi shows signal bars and a truncated SSID, Ethernet shows 🖧 LAN, and no
connection shows ✕ net.
Two more pills appear conditionally: the Agent Dock pill with its activity
strip (also Alt+G), and an update badge ⬆ N in the warning colour when
the updater has found pending updates — clicking it opens the updater.
Alt+T moves keyboard focus into the taskbar and Alt+P into the status bar, so
the whole bottom strip is reachable without a mouse.
Notifications
Toasts stack in the top-right corner, four at a time, with a counter for any
older ones. They come from two places: TDE's own actions (a copy confirmed, a
screenshot saved, a process killed, an unknown action attempted) and the standard
org.freedesktop.Notifications D-Bus service, so any Linux app running inside
the desktop can raise one. A default notification lives four seconds; an app
asking to stay "until dismissed" is clamped to an hour, and explicit timeouts are
clamped to between 1 and 30 seconds. Esc dismisses what is on screen; the last
50 stay in history.
Related
- Extending without code — add Notch items and palette commands with TOML.
- Configuration — the
notch.tomlandcommands/*.tomlschemas. - Control Center — the Notch, Keyboard and Widgets panels.
- Store overview — where the installable apps come from.