Commit graph

319 commits

Author SHA1 Message Date
0fbb8ad0f3 hyprland: render games unfocused 2026-07-28 21:47:33 +01:00
b2e4e9863b ui: single rounding knob, fix balloon-shaped cards
New settings/ui.nix holds `radius` as the one source of truth. Theme
derives radiusCard/Small/Tiny from it and hyprland's decoration.rounding
reads the same value, so one number rescales the whole desktop —
previously the shell and the window corners were unrelated constants,
which is why doubling Theme.radius left windows at 8.

Cards were using the SAME radius as the panel containing them. Nested
corners need outer − gap; matching them makes the inner corner
over-round for its size, which is the inflated/balloon look. All nine
inner surfaces now use radiusCard (radius − panelGap). Invisible at
r=8, obvious at r=32.

Radius 32 -> 24.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 13:58:28 +01:00
2cf3004fc4 quickshell: fix bottom cluster pile-up, vertical workspace slide
trayArea kept anchors.verticalCenter from when it was a Row inside a
Row. A Column refuses to position ANY child when one sets a vertical
anchor ("Column will not function"), so volume/network/night-mode/
tray/power all fell to y=0 and stacked unclickably in the corner.

Workspace switch animation gets style = "slidevert" so it slides up/
down to match the vertical workspace column.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 13:31:12 +01:00
33b729c560 quickshell: vertical left bar, 2x rounding, left-aligned surfaces
Bar moves from a horizontal top band to a vertical left column
(Theme.barHeight -> barWidth, 46px for the stacked HH/mm clock).
Every panel now grows rightward out of the bar instead of down:
the dropdown chrome's morph axis, the SDF surface geometry and the
session menu all swap x/y. The launcher is the one surface left at
bottom-centre, as asked.

New: NixOS snowflake at the top (recoloured to the accent with the
tray's hidden-Image + ColorOverlay trick), vertical workspace dots
whose focused pill grows on height, an inline OSD slot in the gap
between the two clusters, and a power button in the bottom-left
that opens the session menu.

Dropped the flush-to-far-edge dropdown special case — clamped
tracking plus the SDF melt already covers it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 13:09:49 +01:00
efd1331823 quickshell: native volume/brightness OSD, drop swayosd + wob
Sixth surface in the SDF chrome shader, melting out of the bottom
frame. Volume is reactive via Pipewire so the OSD also fires for
pavucontrol/mixer changes; brightness routes through a new osd IPC
handler since sysfs backlight only notifies via POLLPRI.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 12:35:44 +01:00
e49d69c9c3 hyprland: layout toggle super+space (alt_shift collided with swapped super)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 20:31:51 +01:00
be005b7d14 hyprland: complete gnome-keyring init at session start
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 13:16:36 +01:00
acb090fbf5 hyprland: revert macbook blur disable (didn't help latency) 2026-07-25 08:45:11 +01:00
6afd762abf hyprland: disable blur on macbook (haswell igpu frame budget) 2026-07-24 16:19:50 +01:00
e4f2a3008a hyprland: force hardware cursors (fix laggy cursor on macbook i915) 2026-07-24 16:00:32 +01:00
400716c8e8 hyprland: gate alt/super swap to gaming pc 2026-07-24 12:40:56 +01:00
ab2d22063e hyprland: swap left alt and left super 2026-07-24 11:52:53 +01:00
6444a2db97 hyprland: generic steam_app_ tile rule, drop per-game rules 2026-07-21 20:19:46 +01:00
5b0b5b246b hyprland: fix 3-finger swipe, old workspace_swipe keys gone in 0.55, use hl.gesture 2026-07-21 12:35:06 +01:00
94f5e3c64f hyprland: enable 3-finger touchpad workspace swipe 2026-07-21 12:28:09 +01:00
629fd708d7 hyprland: auto-allow screenshare restore tokens
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 12:16:32 +01:00
0342cbe59a quickshell: quick-settings — night light with sunset auto, brightness + kbd backlight sliders
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 13:26:08 +01:00
05c09cfad2 hyprland: add hyprsunset night light
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 13:13:02 +01:00
104b9fed3f hyprland: lower scroll_event_delay for rapid workspace scroll
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 13:06:23 +01:00
1a1374a99e hyprland: super+scroll switches workspace
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 12:45:55 +01:00
bedb11930f lockscreen: replace hyprlock with quickshell WlSessionLock
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 11:04:27 +01:00
eb80358748 desktop: drop hyprpaper + speechd, quickshell draws wallpaper
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 10:13:26 +01:00
bfe03e4a19 hyprland: keep WoW tiled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 22:06:25 +01:00
7cdc627364 hyprland: add hyprpicker + Super+A color picker bind
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 20:56:59 +01:00
c7b3f8a306 hypridle: don't lock/dpms/suspend while MPRIS media is playing
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 15:09:13 +01:00
ee630bac30 hyprland: idle_inhibit fullscreen — no lock during fullscreen apps
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 15:02:49 +01:00
85c230457b hyprland: suppress battle.net activation events that close the launcher
Battle.net (non-Steam shortcut, class steam_app_0) spams window-activation
events that clear quickshell's HyprlandFocusGrab, instantly closing the
launcher / power menu. suppress_event activate activatefocus drops them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 19:24:21 +01:00
7cd7a0e3dc screenshots: save file for notification previews, fall back to appIcon path
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 15:20:53 +01:00
83b4c5ef09 quickshell: click-outside dropdown dismissal, drop auto-close timers
Extend the launcher/session HyprlandFocusGrab to the bar dropdowns and
remove the per-dropdown inactivity timers. Shift+Super+S brackets hyprshot
with a screenshot pin so open menus survive slurp's input grab.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 14:19:10 +01:00
4e3aa498e0 hyprland: force Tiny Terraces to tile instead of float
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 10:10:33 +01:00
21db9825d5 hyprland: widen outer gaps on framed sides to match inter-window spacing
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 20:20:29 +01:00
77fca92c5c quickshell: native launcher + power menu, drop anyrun
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 10:47:20 +01:00
7bf997176e quickshell: split QML out of hyprland.nix
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 10:00:49 +01:00
ab322e545c revert xembed-sni-proxy and tray click workarounds
XTest click forwarding doesn't work under Hyprland's XWayland,
making the tray icon non-interactive. Remove the derivation,
startup handler, container window rule, and click workarounds.

Keeps the workspace filter fix (hide special workspaces from bar).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 14:36:06 +01:00
8510ea5c4f quickshell: fix tray click via hyprctl eval for Lua mode
Use a shell script to find the window address and focus it via
hl.dispatch(hl.dsp.focus()) since hyprctl dispatch syntax changed
in Hyprland 0.55+ Lua mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 14:32:14 +01:00
166280fa33 quickshell: fix tray click — match Battle.net window directly
SNI Title is empty for xembed-sni-proxy items, so match by
class:steam_app_0 title:Battle.net instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 14:24:00 +01:00
e55ffa21c2 quickshell: focus window on tray icon click for xembed-sni-proxy items
XTest click forwarding doesn't work under Hyprland's XWayland, so
fall back to Hyprland.dispatch focuswindow for menu-less tray items.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 14:21:38 +01:00
82c0e78541 hyprland: hide xembed-sni-proxy container window
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 14:15:20 +01:00
c376f0d266 quickshell: fix tray icon click handling (left/right click, onlyMenu)
Left click → activate (or open menu if onlyMenu is set)
Right click → open context menu (or secondaryActivate if no menu)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-04 14:09:19 +01:00
612bd38fc9 hyprland: fix xembed-sni-proxy build (remove set_package_properties)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 15:05:07 +01:00
7cb8ad0611 hyprland: add xembed-sni-proxy for Wine tray icons, hide special workspaces
Package standalone xembed-sni-proxy (XEmbed→SNI bridge) for Wine/Battle.net
tray icons. Unlike snixembed, this doesn't register its own StatusNotifierWatcher
so it won't conflict with Quickshell's tray.

Also filter special workspaces (id < 0) from the bar to fix phantom "al:special".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-03 13:22:36 +01:00
3d95b7a927 anyrun: check layers not clients for toggle
Anyrun is a layer-shell surface, not a regular client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-30 11:53:56 +01:00
53d486ee68 anyrun: fix toggle keybind for daemon mode
anyrun close always exits 0, so "close || anyrun" never opened.
Use hyprctl clients to check if anyrun is visible before toggling.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-30 11:51:21 +01:00
b1d748324d anyrun: fix config for 25.12.0, add daemon service
Terminal is now a struct (command + args), max_entries is Option,
applications.ron uses bare tuple not Config(). Add systemd user
service for anyrun daemon to avoid slow standalone startup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-30 11:38:39 +01:00
72246fc440 pin to nixos 26.05, drop hyprland/anyrun flakes
Stable restore point before 26.05 — last known good unstable config.

Unify all hosts on nixos-26.05 + home-manager release-26.05.
Drop hyprland, anyrun, nixpkgs-stable, home-manager-stable,
stylix-stable inputs. Hyprland 0.55.2 and anyrun 25.12.0 from
nixpkgs. Anyrun config via xdg.configFile (no HM module in 26.05).
Stylix on master until release-26.05 branch exists.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-30 11:12:09 +01:00
fee661b9eb Revert "quickshell: fix 1px ear alignment on all concave corners"
This reverts commit c47787e516.
2026-05-27 17:28:26 +01:00
c47787e516 quickshell: fix 1px ear alignment on all concave corners
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-27 17:26:12 +01:00
a007ed45d7 quickshell: add vesktop to muted notification apps
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-27 17:19:44 +01:00
98560bbbef quickshell: move notification toast into bar surface
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-27 16:18:38 +01:00
cb3716a1ec quickshell: fix bar border gap, ear spike on close, toast border
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-27 16:08:13 +01:00