feat(quickshell): idle chain, drifting wallpaper, and a few fixes
- Idle is handled in the shell instead of hypridle: the screen dims slowly at 4 minutes, locks at 5, powers down at 6, and suspends at 15 on battery. Idle inhibitors hold every stage off; Super+Shift+I does the same by hand and puts a cup on the rail. - The shell draws the wallpaper (backdrop/), so hyprpaper is gone. The picture is drawn a little larger than the screen and drifts with the workspace a beat after the windows, and dims a shade while windows are open. The path lives in quickshell/wallpaper. - The lock screen and power menu say "Take your time." instead of the NieR slogan. - hyprpaper is no longer launched twice, the media module keeps the player that played last instead of an empty browser tab, and grouped windows show thin untitled tabs with their place in the group (2/3) in the bar title. - qt6ct uses Darkly; the package list gains adw-gtk-theme and darkly-bin.
This commit is contained in:
1 parent
864420281b
commit
c36a74e861
20 files changed
+396
-128
No files matched your search
@@ -10,7 +10,8 @@ hl.on("hyprland.start", function()
|
||||
hl.exec_cmd("uwsm app -- qs")
|
||||
|
||||
hl.exec_cmd("uwsm app -- nm-applet --indicator")
|
||||
hl.exec_cmd("uwsm app -- hyprpaper")
|
||||
-- hyprpaper is not started here: its systemd unit is enabled for
|
||||
-- graphical-session.target, and a second copy here ran alongside it.
|
||||
|
||||
-- clipboard history, text and images
|
||||
hl.exec_cmd("wl-paste --type text --watch cliphist store")
|
||||
|
||||
@@ -11,6 +11,7 @@ shell("power", { key = mod .. " + P", description = "power menu" })
|
||||
shell("ask", { key = mod .. " + A", description = "ask claude" })
|
||||
shell("dashboard", { key = mod .. " + D", description = "dashboard" })
|
||||
shell("toggleDnd", { key = mod .. " + SHIFT + N", description = "toggle do not disturb" })
|
||||
shell("toggleStayAwake", { key = mod .. " + SHIFT + I", description = "keep the screen awake" })
|
||||
shell("clearNotifications", { key = mod .. " + CTRL + SHIFT + N", description = "clear notifications" })
|
||||
shell("reloadConfig", { key = mod .. " + SHIFT + R", description = "reload shell config" })
|
||||
|
||||
|
||||
+1
-8
@@ -79,9 +79,6 @@ local function reconcile(ignore)
|
||||
return
|
||||
end
|
||||
|
||||
-- First decision of the session, and it agrees with what lua/monitors.lua
|
||||
-- already applied: nothing actually moved, so no daemon needs poking.
|
||||
local settled = panel_off == nil and not want_off
|
||||
panel_off = want_off
|
||||
|
||||
if want_off then
|
||||
@@ -91,11 +88,7 @@ local function reconcile(ignore)
|
||||
end
|
||||
monitors.apply_external()
|
||||
|
||||
-- Quickshell follows monitor hotplug by itself; only the wallpaper daemon
|
||||
-- needs a kick.
|
||||
if not settled then
|
||||
hl.exec_cmd("systemctl restart --user hyprpaper")
|
||||
end
|
||||
-- Quickshell follows monitor hotplug by itself, wallpaper included.
|
||||
end
|
||||
|
||||
-- ------------------------------------------------------------------ triggers
|
||||
|
||||
+18
-22
@@ -74,6 +74,10 @@ hl.config({
|
||||
font_family = "FiraCode Nerd Font",
|
||||
background_color = c.base,
|
||||
focus_on_activate = true,
|
||||
-- The shell powers displays down after idle (quickshell/services/Idle.qml)
|
||||
-- and back up when idle ends; these wake them even if it is not running.
|
||||
key_press_enables_dpms = true,
|
||||
mouse_move_enables_dpms = true,
|
||||
},
|
||||
|
||||
group = {
|
||||
@@ -82,37 +86,29 @@ hl.config({
|
||||
border_inactive = c.overlay,
|
||||
},
|
||||
|
||||
-- Tabs are solid slabs of the hull, not titles painted over the
|
||||
-- wallpaper. Hyprland paints a tab's fill and its indicator from the
|
||||
-- same colour, so the current tab is told apart by being lifted a step
|
||||
-- and by its title taking the light, not by an accent fill — a light
|
||||
-- fill would swallow its own title.
|
||||
-- Tabs are thin rounded lines, not titled slabs. The bar already
|
||||
-- writes the focused title and its place in the group ("2/3", in
|
||||
-- quickshell/bar/ActiveWindow.qml), so titles here only repeated it in
|
||||
-- a second font. Hyprland paints a tab's indicator in the same colour
|
||||
-- as its fill, so with no fill the current tab is simply the light one.
|
||||
groupbar = {
|
||||
font_family = "Noto Sans",
|
||||
font_size = 10,
|
||||
font_weight_active = "medium",
|
||||
font_weight_inactive = "normal",
|
||||
render_titles = false,
|
||||
gradients = false,
|
||||
|
||||
height = 22,
|
||||
indicator_height = 1,
|
||||
indicator_height = 3,
|
||||
indicator_gap = 0,
|
||||
gradients = true,
|
||||
rounding = 6,
|
||||
gradient_rounding = 6,
|
||||
round_only_edges = true,
|
||||
gradient_round_only_edges = true,
|
||||
rounding = 2,
|
||||
round_only_edges = false,
|
||||
keep_upper_gap = false,
|
||||
gaps_in = 2,
|
||||
gaps_in = 4,
|
||||
gaps_out = 0,
|
||||
|
||||
col = {
|
||||
active = c.overlay,
|
||||
inactive = c.surface,
|
||||
active = c.accent,
|
||||
inactive = c.overlay,
|
||||
locked_active = c.alarm,
|
||||
locked_inactive = c.surface,
|
||||
locked_inactive = c.overlay,
|
||||
},
|
||||
text_color = c.accent,
|
||||
text_color_inactive = c.muted,
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
+2
-3
@@ -49,10 +49,9 @@ local function mirror_all(panel)
|
||||
end
|
||||
end
|
||||
|
||||
-- The bar and popouts stay on the outputs they were created for, so
|
||||
-- respawn the shell the same way lua/autostart.lua starts it.
|
||||
-- The bar, popouts and wallpaper stay on the outputs they were created for,
|
||||
-- so respawn the shell the same way lua/autostart.lua starts it.
|
||||
local function restart_clients()
|
||||
hl.exec_cmd("systemctl restart --user hyprpaper")
|
||||
hl.exec_cmd("sh -c 'qs kill; exec uwsm app -- qs'")
|
||||
end
|
||||
|
||||
|
||||
Reference in new issue
Block a user