From e9ab2238915de99bfaf6517b8a0a6a80665e6d51 Mon Sep 17 00:00:00 2001 From: rope Date: Sun, 23 Aug 2026 10:54:00 +0100 Subject: [PATCH] hypridle: one daemon, not two; battery dropdown pins to bottom Co-Authored-By: Claude Opus 5 --- settings/hyprland.nix | 5 ++++- settings/quickshell.nix | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/settings/hyprland.nix b/settings/hyprland.nix index 1ec16e3..c484977 100644 --- a/settings/hyprland.nix +++ b/settings/hyprland.nix @@ -337,7 +337,10 @@ in -- keeps its history/cwd between peeks. hl.exec_cmd(scratchpads["dev.fred.scratchpad"]) -- swayosd removed; volume/brightness OSD handled by quickshell - ${lib.optionalString isMacbook ''hl.exec_cmd("hypridle")''} + -- No hypridle here: services.hypridle already runs it as a user + -- unit off hyprland-session.target. Launching it a second time + -- left two daemons racing, and the shell's caffeine toggle + -- (systemctl --user stop hypridle) only silenced one of them. end) -- Animation curve and definitions diff --git a/settings/quickshell.nix b/settings/quickshell.nix index 9fcd675..e789447 100644 --- a/settings/quickshell.nix +++ b/settings/quickshell.nix @@ -4944,8 +4944,14 @@ in // when it merely centres on it — pin it to the frame, the // way the bottom cluster's menus already land on yMax. property bool alignTop: false + // Mirror for the bottom cluster: a tall panel opened from a + // low widget reads better fused to the bottom frame than + // floating a few px off it. max(yMin, ...) keeps a panel + // taller than the screen pinned to the top instead. + property bool alignBottom: false x: Theme.barWidth y: alignTop ? Math.round(yMin) + : alignBottom ? Math.round(Math.max(yMin, yMax)) : Math.round(Math.max(yMin, Math.min(yMax, dropdownY - height / 2))) width: fullWidth + 4 // +24, not +16: the shader insets the panel 8px top and @@ -5965,6 +5971,7 @@ in id: batteryDropdown fullWidth: batteryDropdownCol.width + 2 * Theme.panelGap fullHeight: batteryDropdownCol.height + 2 * Theme.panelGap + alignBottom: true Column { id: batteryDropdownCol