Skip to content

Commit b2e93e6

Browse files
update
1 parent 3c6fb1e commit b2e93e6

17 files changed

Lines changed: 121 additions & 179 deletions

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ versions from `config.mk`.
1313

1414
### Changed
1515

16+
- Make Alacritty the direct `Super`+`X` terminal default for every install
17+
profile and Fedora image. Herdr remains available only through explicit
18+
`--install-herdr` and `DWM_HERDR=1` opt-ins.
19+
1620
- Move Flatpak and the GTK desktop portal into the recommended Fedora desktop
1721
layer so AppImage management works in the default X11 session.
1822

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ before making changes.
8080
| Profile | Includes |
8181
| --- | --- |
8282
| `core` | The X11 session, required dependencies, and one terminal emulator. |
83-
| `recommended` | The complete everyday desktop, including Alacritty with Herdr, Quickshell, Gear Lever for AppImages, theming, screenshots, audio, and brightness tools. |
83+
| `recommended` | The complete everyday desktop, including Alacritty, Quickshell, Gear Lever for AppImages, theming, screenshots, audio, and brightness tools. |
8484
| `full` | The recommended desktop plus optional file-manager, keyring, wallpaper, display-manager, and supported Fedora gaming integrations. |
8585

8686
`maim` is an optional dependency used only by the screenshot hotkeys. If it is
@@ -96,7 +96,7 @@ runtime dependencies for the X11 desktop and its other managed helpers.
9696
| Action | Keybind |
9797
| --- | --- |
9898
| Open the application launcher | <kbd>Super</kbd> + <kbd>R</kbd> |
99-
| Open terminal workspace (Herdr when available) | <kbd>Super</kbd> + <kbd>X</kbd> |
99+
| Open Alacritty terminal | <kbd>Super</kbd> + <kbd>X</kbd> |
100100
| Open Control Center | <kbd>Super</kbd> + <kbd>F1</kbd> |
101101
| Show the interactive keybind viewer | <kbd>Super</kbd> + <kbd>/</kbd> |
102102
| Close the focused window | <kbd>Super</kbd> + <kbd>Q</kbd> |

SPEC.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -370,12 +370,13 @@ Runtime dependencies are classified as:
370370
emulator, and the tools required by configured core keybindings. Alacritty
371371
is the preferred emulator, with the existing supported-terminal fallback
372372
chain retained when Alacritty is unavailable.
373-
- Recommended desktop: the Herdr terminal workspace layered over Alacritty,
374-
Quickshell, Picom, Feh, Dex, a polkit agent, notification tools, audio
375-
controls, screenshot tooling, Nerd/emoji fonts, Flatpak with its GTK portal,
376-
and Gear Lever from a user-scoped Flathub remote.
377-
- Optional: file manager, network tray, theme utilities, display-manager
378-
greeter customization, wallpapers, and hardware-specific helpers.
373+
- Recommended desktop: Alacritty, Quickshell, Picom, Feh, Dex, a polkit agent,
374+
notification tools, audio controls, screenshot tooling, Nerd/emoji fonts,
375+
Flatpak with its GTK portal, and Gear Lever from a user-scoped Flathub
376+
remote.
377+
- Optional: the Herdr terminal workspace, file manager, network tray, theme
378+
utilities, display-manager greeter customization, wallpapers, and
379+
hardware-specific helpers.
379380

380381
### 5.9 System Health Dashboard
381382

@@ -539,11 +540,12 @@ configuration and unrelated application configuration by default.
539540
guidance rather than relying on silent background commands.
540541
- Error messages must identify the missing command, library, package
541542
capability, or file and provide the next action.
542-
- A plain `dwm-terminal` launch must open Herdr inside the selected terminal
543-
emulator when Herdr is installed, and otherwise open the emulator directly.
543+
- The default terminal binding must launch Alacritty directly.
544+
- A plain `dwm-terminal` launch must open the selected emulator directly unless
545+
the user explicitly enables the optional Herdr layer with `DWM_HERDR=1`.
544546
Explicit terminal arguments such as `dwm-terminal -e command` must bypass
545547
Herdr so delegated commands retain their existing execution contract.
546-
- The terminal command must prefer Alacritty, select another installed
548+
- The `dwm-terminal` helper must prefer Alacritty, select another installed
547549
supported emulator when needed, and provide a clear configuration path.
548550
- Font aliases must accommodate common Meslo Nerd Font naming differences.
549551
- Multi-monitor setup must expose EWMH tags correctly to Quickshell and EWMH
@@ -611,9 +613,9 @@ On the supported Fedora release:
611613
In a real or nested X11 session:
612614

613615
- dwm starts and can launch a terminal.
614-
- With Herdr installed, the default terminal binding opens Herdr inside
615-
Alacritty. Without Herdr, the same binding opens the selected emulator
616-
directly, and explicit `dwm-terminal -e` commands bypass Herdr in both cases.
616+
- The default terminal binding opens Alacritty directly even when Herdr is
617+
installed. With `DWM_HERDR=1`, a plain `dwm-terminal` command opens Herdr
618+
inside Alacritty; explicit `dwm-terminal -e` commands still bypass Herdr.
617619
- Tiling, floating, tags, focus, and close-window actions work.
618620
- Runtime TOML configuration loads and reloads.
619621
- A display-manager session and `startx` path both launch.

config/hotkeys.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
# Define shortcuts here, then use $name in any exec or cmd value below.
5151

5252
[vars]
53-
terminal = "dwm-terminal"
53+
terminal = "alacritty"
5454
webapp = "webapp-launch"
5555

5656
# ── KEYBINDINGS ───────────────────────────────────────────────────────────────
@@ -61,7 +61,7 @@ keys = [
6161

6262
# ── Launchers ────────────────────────────────────────────────────────────────
6363
{ mod="SUPER", key="r", desc="App launcher", func="spawn", cmd="quickshell ipc --path \"${XDG_CONFIG_HOME:-$HOME/.config}/quickshell/shell.qml\" call launcher toggle" },
64-
{ mod="SUPER", key="x", desc="Terminal workspace (Herdr when available)", func="spawn", exec=["$terminal"] },
64+
{ mod="SUPER", key="x", desc="Terminal", func="spawn", exec=["$terminal"] },
6565
{ mod="SUPER", key="w", desc="Looking Glass (VM)", func="spawn", cmd="looking-glass-client -F" },
6666
{ mod="SUPER SHIFT", key="w", desc="Randomize wallpaper", func="spawn", cmd="dwm-quickshell-controlcenter action reload-wallpaper" },
6767

docs/src/configuration.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Add or change bindings without recompiling. Save the file and they apply instant
6464
6565
```toml
6666
[vars]
67-
terminal = "dwm-terminal"
67+
terminal = "alacritty"
6868
webapp = "webapp-launch"
6969
7070
keys = [
@@ -73,19 +73,19 @@ keys = [
7373
]
7474
```
7575

76-
`dwm-terminal` prefers Alacritty and opens Herdr inside it for a plain
77-
interactive launch. If Herdr is unavailable, it opens the selected emulator
78-
directly. Explicit arguments such as `dwm-terminal -e command` always bypass
79-
Herdr so application launchers and maintenance actions keep working.
76+
The default binding launches Alacritty directly. The `dwm-terminal` helper is
77+
available to delegated tools that need a terminal selection fallback; it also
78+
prefers Alacritty and opens the emulator directly by default. Explicit
79+
arguments such as `dwm-terminal -e command` retain their direct execution
80+
contract.
8081

8182
Thunar's seeded **Open Terminal Here** action launches Alacritty directly in
82-
the selected directory. It intentionally bypasses Herdr while leaving the
83-
normal `Super` + `X` terminal workspace unchanged. Existing Thunar custom
84-
actions are preserved during installation and upgrades.
83+
the selected directory, matching the normal `Super` + `X` default. Existing
84+
Thunar custom actions are preserved during installation and upgrades.
8585

86-
Set `DWM_TERMINAL` to choose another outer emulator, set `DWM_HERDR=0` to
87-
disable the Herdr layer, or set `DWM_HERDR_COMMAND` to another Herdr binary
88-
path.
86+
Set `DWM_TERMINAL` to choose another emulator for `dwm-terminal`. Herdr is an
87+
optional layer: install it explicitly, set `DWM_HERDR=1`, and run
88+
`dwm-terminal`. Set `DWM_HERDR_COMMAND` to select a different Herdr binary.
8989

9090
Default applications use freedesktop settings. Run `dwm-default-apps browsers`
9191
to list browser desktop files, `dwm-default-apps set-browser firefox.desktop`

docs/src/getting-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Press <kbd>Super</kbd> + <kbd>/</kbd> at any time to open the interactive keybin
1111

1212
| Action | Keys |
1313
|--------|------|
14-
| Open terminal workspace (Herdr when available) | `Super` + `X` |
14+
| Open Alacritty terminal | `Super` + `X` |
1515
| App launcher (Quickshell) | `Super` + `R` |
1616
| Close window | `Super` + `Q` |
1717
| Power menu | `Super` + `Ctrl` + `Q` |

docs/src/install.md

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ curl -fsSL https://christitus.com/linux | sh
1414
In the TUI, press `v` to multi-select, then select **dwm**, **bash prompt**,
1515
and **alacritty**. Press `Enter` to install.
1616

17-
Current dwm-titus installs provide the checksum-verified Herdr helper. Run it
18-
after the Linutil path:
17+
Herdr is optional. To add its checksum-verified helper after the Linutil path,
18+
run:
1919

2020
```bash
2121
install-herdr
@@ -35,12 +35,11 @@ package names from the shared map:
3535
./install.sh --profile full
3636
```
3737

38-
Use `core` for the required build/X11/session packages and one terminal
39-
emulator, `recommended` for the desktop layer plus Herdr on top of Alacritty,
40-
or `full` for optional extras such as file-manager integration,
41-
keyring login integration, wallpapers, and display-manager setup. On x86_64
42-
Fedora, `full` can also install Steam, Gamescope, GameMode, and MangoHud after
43-
repository approval.
38+
Use `core` for the required build/X11/session packages and Alacritty,
39+
`recommended` for the complete desktop layer, or `full` for optional extras
40+
such as file-manager integration, keyring login integration, wallpapers, and
41+
display-manager setup. On x86_64 Fedora, `full` can also install Steam,
42+
Gamescope, GameMode, and MangoHud after repository approval.
4443
The installer separately asks before enabling the `christitustech/copr-fedora`
4544
COPR for patched Gamescope and RPM Fusion nonfree for Steam. Declining skips the
4645
gaming subset without affecting other full-profile extras.
@@ -99,16 +98,16 @@ done
9998
This repair is intentionally non-recursive so it does not change unrelated
10099
user files.
101100

102-
Recommended and full profiles install Herdr as the default interactive
103-
workspace inside Alacritty. The repository downloads the official
101+
Every profile and Fedora image defaults to Alacritty without Herdr. With the
102+
explicit `--install-herdr` option, the repository downloads the official
104103
`https://herdr.dev/install.sh` into an isolated staging directory and verifies
105104
repository-pinned SHA-256 checksums for both that installer and its resulting
106105
Herdr binary before copying it into `~/.local/bin`. A checksum mismatch or
107-
network failure leaves Alacritty usable and reports that Herdr was skipped.
108-
When the `codex` or `claude` command is already available, the helper also runs
109-
Herdr's matching `integration install` command so native Codex and Claude Code
110-
sessions can be restored. Integration failures are reported separately from
111-
binary installation failures.
106+
network failure leaves Alacritty usable and reports the Herdr failure. When the
107+
`codex` or `claude` command is already available, the helper also runs Herdr's
108+
matching `integration install` command so native Codex and Claude Code sessions
109+
can be restored. Integration failures are reported separately from binary
110+
installation failures.
112111

113112
When matching vendor XDG entries exist for Picom, the polkit agent, or Light
114113
Locker, the installer copies each entry to the user autostart directory and
@@ -118,14 +117,14 @@ existing user entries are preserved.
118117

119118
Installer package profiles are selected with `DWM_INSTALL_PROFILE`:
120119

121-
- `core`: required build packages, X11/session runtime, and one supported
122-
terminal emulator. Herdr is skipped unless `--install-herdr` is provided.
120+
- `core`: required build packages, X11/session runtime, and Alacritty. Herdr is
121+
skipped unless `--install-herdr` is provided.
123122
- `recommended`: `core` plus the recommended desktop layer such as Quickshell,
124-
Herdr on top of Alacritty, Picom, Feh, Dex, fonts, theming, screenshot,
125-
audio, Bluetooth control and tray tools, brightness tools, Flatpak, and the
126-
GTK desktop portal. It also adds Flathub for the target user, installs Gear
127-
Lever as the default AppImage manager, installs the available Fedora GTK
128-
theme packages, and installs Nordic system-wide for the default Nord theme.
123+
Picom, Feh, Dex, fonts, theming, screenshot, audio, Bluetooth control and
124+
tray tools, brightness tools, Flatpak, and the GTK desktop portal. It also
125+
adds Flathub for the target user, installs Gear Lever as the default AppImage
126+
manager, installs the available Fedora GTK theme packages, and installs
127+
Nordic system-wide for the default Nord theme.
129128
- `full`: `recommended` plus optional extras such as Thunar with SMB-share
130129
browsing, network tray utilities, keyring login integration,
131130
wallpapers, and display-manager setup. x86_64 Fedora full installs also
@@ -164,24 +163,21 @@ packaging checks, or scripted validation, use the non-interactive flags:
164163
Without `--enable-fedora-gaming-repos`, unattended Fedora full installs skip
165164
Steam, Gamescope, GameMode, and MangoHud rather than changing repository trust.
166165

167-
Use `--skip-herdr` or `DWM_INSTALL_HERDR=false` to skip Herdr installation.
168-
These installation controls do not disable a Herdr executable that is already
169-
available; set `DWM_HERDR=0` in the session environment to bypass an existing
170-
Herdr installation at runtime. Use `--install-herdr` or
171-
`DWM_INSTALL_HERDR=true` to include Herdr with the core profile. Automatic
172-
recommended/full-profile installation is limited to x86_64 and aarch64 because
173-
those are the Linux architectures published by Herdr. Herdr can also be
174-
installed or repaired separately:
166+
Herdr is skipped for every profile unless `--install-herdr` or
167+
`DWM_INSTALL_HERDR=true` is provided. Its published Linux binaries support
168+
x86_64 and aarch64. Installation alone does not change the terminal default;
169+
set `DWM_HERDR=1` and run `dwm-terminal` to enter the optional workspace.
170+
Herdr can also be installed or repaired separately:
175171

176172
```bash
177173
install-herdr
178174
install-herdr --force
179175
```
180176

181177
Upgrades preserve an existing `hotkeys.toml`. If an earlier installer seeded
182-
its `terminal` variable to `alacritty`, `kitty`, or another direct terminal,
183-
the installer prints the exact change needed to use `dwm-terminal` and Herdr
184-
from Super+X without overwriting that user-owned file.
178+
its `terminal` variable to `dwm-terminal`, set it to `alacritty` to adopt the
179+
current direct-terminal default. The installer does not overwrite that
180+
user-owned choice.
185181

186182
## Starting dwm
187183

@@ -260,7 +256,8 @@ sessions, and minimal Fedora qualification. It keeps only:
260256
- an X11 server and either a display-manager session or `startx`
261257
- D-Bus session support
262258
- `dwm`
263-
- one supported terminal available through `dwm-terminal`
259+
- Alacritty as the default terminal, with `dwm-terminal` available to delegated
260+
tools that require fallback selection
264261
- required X11 helpers used by core startup and display commands, such as
265262
`xrandr`, `xset`, and `xsetroot`
266263

@@ -291,6 +288,6 @@ dwm-terminal --print-command
291288

292289
`dwm-diagnostics` must report zero required failures before treating the
293290
minimal profile as ready. Optional degraded features can remain unresolved.
294-
When Herdr is installed, a plain `dwm-terminal` opens it in Alacritty. Commands
295-
such as `dwm-terminal -e sh -c 'command'` bypass Herdr and run directly in the
296-
outer emulator.
291+
The default binding opens Alacritty directly. A plain `dwm-terminal` also opens
292+
the selected emulator directly unless `DWM_HERDR=1` explicitly enables Herdr.
293+
Commands such as `dwm-terminal -e sh -c 'command'` always bypass Herdr.

docs/src/keybinds.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Bindings are defined in `config/hotkeys.toml` and reload instantly on save — n
1414
| Keys | Action |
1515
|------|--------|
1616
| `Super` + `R` | App launcher (Quickshell) |
17-
| `Super` + `X` | Terminal workspace (Herdr when available) |
17+
| `Super` + `X` | Alacritty terminal |
1818
| `Super` + `E` | File manager |
1919
| `Super` + `B` | Browser |
2020
| `Super` + `/` | Keybind viewer |
@@ -127,7 +127,7 @@ Edit `config/hotkeys.toml` — changes take effect on save, no recompile require
127127

128128
```toml
129129
[vars]
130-
terminal = "dwm-terminal"
130+
terminal = "alacritty"
131131

132132
keys = [
133133
{ mod="SUPER SHIFT", key="f", desc="Firefox", func="spawn", exec=["firefox"] },
@@ -139,5 +139,6 @@ See the comments in `hotkeys.toml` for a full list of `func` values and modifier
139139
The browser binding uses `dwm-default-apps open`. Configure it with
140140
`dwm-default-apps browsers` and `dwm-default-apps set-browser <desktop-id>`.
141141

142-
The default `dwm-terminal` wrapper opens Herdr inside Alacritty when Herdr is
143-
installed. Set `DWM_HERDR=0` to keep the same binding as a plain terminal.
142+
The default binding launches Alacritty directly. To use the optional Herdr
143+
workspace, install it explicitly, change the binding to `dwm-terminal`, and
144+
set `DWM_HERDR=1` in the session environment.

docs/src/troubleshooting.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,20 +54,17 @@ Or use the [Control Center](./control-center.md) → **System Health**.
5454

5555
## Terminal Won't Open (`Super`+`X`)
5656

57-
- Run `dwm-terminal` from an existing shell to see the exact fallback message
58-
- Run `install-herdr --force` if Alacritty opens but Herdr does not
59-
- Set `DWM_HERDR=0` to confirm the outer terminal works without Herdr
60-
- Install a supported terminal: `alacritty`, `kitty`, `st`,
61-
`warp-terminal`, or `xterm`
62-
- Or set a fixed terminal in `config/hotkeys.toml`:
57+
- Run `alacritty` from an existing shell to inspect its error directly
58+
- Install Alacritty with `sudo dnf install alacritty`
59+
- Confirm the fixed terminal in `config/hotkeys.toml`:
6360
```toml
6461
[vars]
6562
terminal = "alacritty"
6663
```
6764

68-
Herdr is a terminal workspace, not a graphical terminal emulator. The default
69-
stack is Herdr running inside Alacritty. X11 therefore reports the window class
70-
as `Alacritty`, which is already covered by the terminal swallowing rules.
65+
Herdr is an optional terminal workspace, not a graphical terminal emulator.
66+
Install it explicitly and use `DWM_HERDR=1 dwm-terminal` to run it inside
67+
Alacritty. The default `Super`+`X` binding remains plain Alacritty.
7168

7269
## Browser Won't Open (`Super`+`B`)
7370

dwm-fedora-nvidia.ks

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ chown -R "$target_user:$target_group" "$target_repo_dir"
198198
install -m 0440 /dev/null "$install_sudoers"
199199
printf '%s ALL=(ALL) NOPASSWD: ALL\n' "$target_user" > "$install_sudoers"
200200

201-
su - "$target_user" -c 'cd "$HOME/.local/share/dwm-titus" && ./install.sh --non-interactive --profile core --install-herdr'
201+
su - "$target_user" -c 'cd "$HOME/.local/share/dwm-titus" && ./install.sh --non-interactive --profile core'
202202
su - "$target_user" -c 'cd "$HOME/.local/share/dwm-titus" && scripts/install-gearlever'
203203

204204
if getent group gamemode >/dev/null 2>&1; then

0 commit comments

Comments
 (0)