Feature: Run system updater in Ghostty with floating window rule

Open the update terminal in Ghostty, offering to install it via pkexec
when missing and falling back to foot if declined. Add the
system-update-terminal window rule the script already referred to, so
the window floats centred at 1000x650 instead of tiling.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-22 07:23:24 +01:00
parent 5827f18d05
commit 5c6dad3e91
2 changed files with 60 additions and 15 deletions

View File

@@ -100,6 +100,12 @@ hl.window_rule({ name = "windowrule-47", tile = true, match = { class = "^([Cc]h
hl.window_rule({ name = "windowrule-48", size = "monitor_w*0.25 monitor_h*0.55", float = true, match = { class = "^(com.network.manager)$" } })
hl.window_rule({ name = "windowrule-49", workspace = "special:nyx", match = { class = "^([Vv]esktop|[Dd]iscord|[Ss]potify)$" } })
hl.window_rule({ name = "windowrule-255", size = "monitor_w*0.75 monitor_h*0.80", float = true, match = { class = "^([Bb]itwarden)$" } })
-- System updater terminal (quickshell/scripts/update-system.sh) — float + center it instead of
-- tiling into the current workspace. Matches the title the script launches it with, so it works
-- for Ghostty and the foot fallback alike; initial_title so a later rename can't dodge it.
-- Fixed pixel size rather than monitor_w/h fractions: HDMI-A-1 is rotated portrait (1080 wide),
-- where a fraction of the width made it too narrow for package output; 1000x650 fits every screen.
hl.window_rule({ name = "system-update-terminal", float = true, center = true, size = "1000 650", match = { initial_title = "^(update)$" } })
-- viewer tags
hl.window_rule({ name = "windowrule-50", tag = "+viewer", match = { class = "^(gnome-system-monitor|org.gnome.SystemMonitor|io.missioncenter.MissionCenter)$" } }) -- system monitor