The floating issue was caused by the game's Unity display mode being
set to Windowed (mode 3), which locks X11 size hints (min=max) and
prevents any tiling WM from resizing it. Fixed by switching the
game to Fullscreen Window (mode 1) in the Wine registry instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
float = false isn't a valid Lua API action; tile = true is the correct
way to force an XWayland window out of floating.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The per-device config block used invalid syntax for this Hyprland
version. Revert while we find a working approach.
This reverts commit dc7845a.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The bcm5974 trackpad is classified as a mouse by Hyprland, not a
touchpad, so the global touchpad DWT setting had no effect. Use a
per-device config block to apply disable_while_typing directly to
the bcm5974.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
snixembed conflicts with waybar's tray, causing all SNI items
(Vesktop, nm-applet) to disappear. Battle.net's tray icon doesn't
use X11 embed protocol anyway, so snixembed doesn't help.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- WLR_DRM_DEVICES: wlroots env var ignored by Aquamarine, AQ_DRM_DEVICES already set
- pamixer: not referenced anywhere, volume handled by swayosd-client
- #network.disconnected CSS: no network module in waybar config
- #custom-tray-toggle CSS: renamed to #custom-tray-handle to match actual module
- removeOldHyprlandConf activation: one-time migration already completed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Hyprland 0.55.0 now links GCC 15.2.0 natively, so the symlinkJoin
wrapper that injected LD_PRELOAD for the GLIBCXX_3.4.34 symbol is
obsolete.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
systemctl stop/start in quick succession hits the start-rate limiter,
leaving the daemon in a failed state. Reset the failure counter before
restarting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix config for upstream anyrun HM module (no margin option, use
package refs for plugins). The upstream module provides a systemd
user service for the daemon with Restart=on-failure, so remove
manual daemon management from Hyprland startup.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace nixpkgs anyrun with the upstream anyrun-org/anyrun flake,
which provides its own HM module and plugin packages. The nixpkgs
build had a broken daemon (GTK activate crash). Re-enable daemon
startup and close/open toggle.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
anyrun 25.12.0's daemon mode crashes with a GLib-GIO activate error.
Revert to the reliable standalone killall toggle until upstream fixes
the daemon.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
terminal field still expects Option<T> wrapper (Some("ghostty")).
Restore close-or-open toggle for Super+R — with the daemon running,
`anyrun close` correctly fails when no window is open.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The power menu runs anyrun in standalone stdin mode, which kills the
daemon. Explicitly quit the daemon before, then restart it after the
standalone invocation so the launcher stays fast.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Just call `anyrun` directly — the daemon handles window display.
The previous `anyrun close || anyrun` toggle failed because close
returns success even with no window open.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Start `anyrun daemon` at Hyprland launch for instant open times.
Replace `killall anyrun` with `anyrun close` to dismiss without
killing the daemon. Fix applications.ron config — newer anyrun
expects plain values, not Option<T> wrappers (Some(8) → 8).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The mkForce wallpaper override (explicit monitor names) and the IPC
startup script (sleep 2 + hyprctl) were stacked workarounds for a
misdiagnosed hyprpaper 0.8.4 bug. Stylix's hyprpaper target (still
auto-enabled) correctly sets preload and wallpaper with the standard
wildcard syntax.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The previous inline shell command had quoting/PATH issues. Replace with
a proper pkgs.writeShellScript that:
- Uses the full hyprctl store path (no PATH dependency)
- Reads the wallpaper from hyprpaper.conf at runtime ($HOME/.config)
- Avoids the Nix string-context conflict from embedding a store path
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
hyprpaper 0.8.4 silently ignores wallpaper= directives in the config
on startup — preload= works but the monitor assignment does not.
Add a hyprland.start hook that waits 2s (for hyprpaper to preload the
image) then sets the wallpaper via hyprctl IPC. The image path is read
at runtime from hyprpaper.conf to avoid a Nix string-context conflict
between the stylix image store path and the powerMenu derivation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
hyprpaper 0.8.4 doesn't honour the Stylix-generated "wallpaper=,<path>"
empty-monitor wildcard — DP-2 was found but had no target. Override with
explicit monitor names (DP-2 on Gaming, eDP-1 on Macbook) using
config.stylix.image to avoid a circular reference through the preload list.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>