detached 616b0de

docs(readme): tray menus and keys

commit
616b0de9f360efe44c11e23369d1663b2ba9fc9a
author
brice · · 2026-10-09 05:29 UTC
parent
eaec412
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
1 file · +12 -1
M README.md +12 -1
@@ -341,11 +341,22 @@ The icon takes the main color of the application's own icon, moved toward the ba
341341
342342 - a left click calls the application's `Activate` (for an application that only offers a menu, it asks for the menu instead);
343343 - a middle click calls `SecondaryActivate`;
344-- a right click calls `ContextMenu`, so the application shows its own menu;
344+- a right click opens the application's menu, drawn by the bar (see below); an application without a dbusmenu is asked to show its own with `ContextMenu`;
345345 - the wheel calls `Scroll`: down and right are positive.
346346
347347 Without `interactive = true` the icons only show. The tray talks to each application on a second connection and gives up on a call after 2 seconds, so a frozen application never blocks the other icons.
348348
349+**Menus.** For an application that publishes a dbusmenu (most do: Steam, Discord, nm-applet, the KDE applets), a right click opens its menu as a popup under the icon, or above it with `position = "bottom"`. A menu taller than 600 pixels scrolls. Check and radio entries show their state, disabled entries do nothing, and an entry with a submenu opens it in place, with a "‹ Back" entry on top. Choosing an entry sends the application a `clicked` event; dismissing the menu sends `closed`.
350+
351+| Key | Action |
352+|---|---|
353+| Down, Up, Tab, Shift+Tab | move between entries |
354+| Enter, Space | choose the highlighted entry |
355+| Left, BackSpace | go back out of a submenu |
356+| Escape | close the menu |
357+
358+A click outside the menu also closes it. Entries are text only: icons and menus that fill in their submenus lazily are not supported.
359+
349360 Resting the pointer on an icon for half a second shows the application's **tooltip** (its title in bold, its description below, markup removed; the item's title when it has no tooltip). Leaving the icon or clicking closes it.
350361
351362 Pick another icon with `[tray.icons]`. The key is the item's id or application name, in any case; the value is a glyph name, the text to show, or `""` to hide the item:
@@ -341,11 +341,22 @@ The icon takes the main color of the application's own icon, moved toward the ba
341 341
342 - a left click calls the application's `Activate` (for an application that only offers a menu, it asks for the menu instead);342 - a left click calls the application's `Activate` (for an application that only offers a menu, it asks for the menu instead);
343 - a middle click calls `SecondaryActivate`;343 - a middle click calls `SecondaryActivate`;
344-- a right click calls `ContextMenu`, so the application shows its own menu;344+- a right click opens the application's menu, drawn by the bar (see below); an application without a dbusmenu is asked to show its own with `ContextMenu`;
345 - the wheel calls `Scroll`: down and right are positive.345 - the wheel calls `Scroll`: down and right are positive.
346 346
347 Without `interactive = true` the icons only show. The tray talks to each application on a second connection and gives up on a call after 2 seconds, so a frozen application never blocks the other icons.347 Without `interactive = true` the icons only show. The tray talks to each application on a second connection and gives up on a call after 2 seconds, so a frozen application never blocks the other icons.
348 348
349+**Menus.** For an application that publishes a dbusmenu (most do: Steam, Discord, nm-applet, the KDE applets), a right click opens its menu as a popup under the icon, or above it with `position = "bottom"`. A menu taller than 600 pixels scrolls. Check and radio entries show their state, disabled entries do nothing, and an entry with a submenu opens it in place, with a "‹ Back" entry on top. Choosing an entry sends the application a `clicked` event; dismissing the menu sends `closed`.
350+
351+| Key | Action |
352+|---|---|
353+| Down, Up, Tab, Shift+Tab | move between entries |
354+| Enter, Space | choose the highlighted entry |
355+| Left, BackSpace | go back out of a submenu |
356+| Escape | close the menu |
357+
358+A click outside the menu also closes it. Entries are text only: icons and menus that fill in their submenus lazily are not supported.
359+
349 Resting the pointer on an icon for half a second shows the application's **tooltip** (its title in bold, its description below, markup removed; the item's title when it has no tooltip). Leaving the icon or clicking closes it.360 Resting the pointer on an icon for half a second shows the application's **tooltip** (its title in bold, its description below, markup removed; the item's title when it has no tooltip). Leaving the icon or clicking closes it.
350 361
351 Pick another icon with `[tray.icons]`. The key is the item's id or application name, in any case; the value is a glyph name, the text to show, or `""` to hide the item:362 Pick another icon with `[tray.icons]`. The key is the item's id or application name, in any case; the value is a glyph name, the text to show, or `""` to hide the item:

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 5

Tags 4

↑↓ moveenter openesc close