- Add game-focus-watcher: listens on hyprland socket, auto-focuses
gaming workspace when a game opens, closing any special workspace
on DP-1 first via --batch to avoid async dispatch races
- Add gaming-focus script: SUPER+G now handles special workspaces on
DP-1 regardless of focused monitor, with toggle-back behavior
- Fix steam windowrule to send all class:steam windows to special:steam,
not just title:Steam, preventing dialogs leaking to normal workspaces
- Fix monitor 0 -> monitor DP-1 in mkGameRules and steam_app rules
so games always launch at correct resolution on the gaming monitor
- Extract gamingMonitor variable as single source of truth
Reverts the recent change that moved Steam into a named workspace. Steam is now handled via a special workspace again. The Waybar module configuration has also been updated to reflect this change.
Resolve the persistent issue of Firefox windows blurring when inactive by:
- Removing the ineffective rule from .
- Implementing the direct window rule for all relevant Firefox classes (, , ), ensuring explicit exemption from Hyprland's blur effect.
Address the issue where Firefox windows were still blurring when inactive, despite a specific window rule.
- Refined the in to use a simplified and more robust regex, , ensuring it targets all relevant Firefox profiles.
- Adjusted the opacity for inactive Firefox windows to (from ) in , as a potential workaround for Hyprland's blur handling with fully opaque windows.
- Ensured is and is in for the global blur effect.
Refactor Hyprland configuration to:
- Move Steam and Music from special workspaces to unique, named workspaces for better integration into the regular workflow.
- Update Waybar's workspace module to correctly display icons for these new named workspaces and filter them out from the special workspaces module.
- Implement a global blur effect for inactive windows, with a specific exception to keep Firefox windows fully opaque, enhancing focus on active content.
zathura had an issue where pdf's cannot be read via `find word` due to
the process being unable to read `image text`. a solution is to convert
it to ocr.
- Implemented a modular gaming configuration with a local games list.
- Added dynamic window rules for games: monitor 0, dedicated 'gaming' workspace, fullscreen, immediate mode, and stayfocused.
- Enabled 'allow_tearing' to support immediate mode for reduced latency.
- Created a dedicated 'name:gaming' workspace bound to monitor 0 with a 'SUPER+G' shortcut.
- Enabled 'workspace_back_and_forth' for intuitive workspace toggling.
- Added theme.mode to config.nix for global dark/light mode control.
- Updated Matugen to apply GTK dark mode preferences based on the global theme.
- Added a Hyprland bind (SUPER+X) to launch Yazi via uwsm.
Enabled 'recolor-keephue' to prevent documents from becoming purely monochrome
when recolor mode is active. This ensures images and colored text retain their
hue while still adapting brightness for the theme.
This fixes the issue where "Show in folder" (e.g., in Firefox) would incorrectly
open other applications like Zathura. By explicitly associating 'inode/directory'
with 'yazi.desktop', folders will now open in Yazi as expected.
- Flattened UI elements (statusbar, inputbar, notifications) to use the
surface background color, creating a seamless look similar to pywal themes.
- Changed highlight colors to use 'tertiary' and 'secondary' accents for
better visibility and style consistency.
- Updated completion highlights for higher contrast.