diff --git a/modules/dunst/README.md b/modules/dunst/README.md index b14bc2d1..c990dc4d 100644 --- a/modules/dunst/README.md +++ b/modules/dunst/README.md @@ -2,8 +2,9 @@ The notifier as a module (novox/hq ADR 0208, research 026/05). -- Installs `dunst`, `libnotify` for `notify-send`, the client every program and these tools use, and - `rofi`, the context menu its `dunstrc` calls. +- Installs `dunst`, and `libnotify` for `notify-send`, the client every program and these tools use. + The context menu its `dunstrc` calls is `rofi`, which the `rofi` module installs: two modules on one + machine may not declare the same package, so a machine dunst serves also has `rofi` assigned. - Claims the mesh's `node-notifier` seat and serves its verbs `send` and `history`. - Owns `~/.config/dunst/dunstrc` and the directory `~/.config/dunst/dunstrc.d/`. Another module's rule is that module's own file in the directory (ADR 0208 ยง4). dunst reads the directory after @@ -89,7 +90,7 @@ count. The file keeps only the settings that differ from dunst's defaults. - **The context menu works.** It called `/usr/bin/dmenu`, installed on neither machine, and then `dmenu`, the node-launcher's command in `~/.local/bin`, which dunst did not find on the laptop (2026-10-10): it runs in the account's service manager, whose `PATH` does not hold that directory. It now calls `rofi -dmenu`, a - package this module installs. + system package the `rofi` module installs. - **A tap chooses an answer.** The answers were on the middle click only, which the laptop's and the workstation's touchpads cannot give (novox/hq issue 360). - **The face is the interface one,** Inter (research 026/04), instead of a monospace Nerd font. diff --git a/modules/dunst/cmd/dunst-tools/manifest_test.go b/modules/dunst/cmd/dunst-tools/manifest_test.go index 30d5db95..fe03a5c4 100644 --- a/modules/dunst/cmd/dunst-tools/manifest_test.go +++ b/modules/dunst/cmd/dunst-tools/manifest_test.go @@ -19,8 +19,10 @@ func TestItClaimsTheNotifierSeatServingSendAndHistory(t *testing.T) { if !reflect.DeepEqual(m.Claims, []claim{{Name: "node-notifier", Scope: "node", Serves: []string{"send", "history"}}}) { t.Fatalf("claims: %+v", m.Claims) } - // rofi is the context menu the dunstrc calls by name (see TheFileIsTheDecidedOne). - if present, absent := m.packages(); !reflect.DeepEqual(present, []string{"dunst", "libnotify", "rofi"}) || absent != nil { + // rofi, the context menu the dunstrc calls by name, is the rofi module's package: two modules on one + // machine may not declare the same package, and the rofi module holds node-launcher on every + // machine dunst serves. + if present, absent := m.packages(); !reflect.DeepEqual(present, []string{"dunst", "libnotify"}) || absent != nil { t.Fatalf("packages: %v, absent %v", present, absent) } } diff --git a/modules/dunst/module.json b/modules/dunst/module.json index 0b4228f5..8f1e9f1e 100644 --- a/modules/dunst/module.json +++ b/modules/dunst/module.json @@ -45,11 +45,6 @@ "type": "package", "package": "libnotify" }, - { - "id": "menu", - "type": "package", - "package": "rofi" - }, { "id": "configuration-dir", "type": "directory",