diff --git a/modules/home/gui/desktop/niri/default.nix b/modules/home/gui/desktop/niri/default.nix index a4da663..6eefe14 100755 --- a/modules/home/gui/desktop/niri/default.nix +++ b/modules/home/gui/desktop/niri/default.nix @@ -123,7 +123,7 @@ in "Super+t".action = niri.spawn "zeditor"; "Super+b".action = niri.spawn "floorp"; "Super+x".action = niri.spawn "freetube"; - "Super+v".action = niri.spawn "discordcanary"; + "Super+v".action = niri.spawn "vesktop"; "Super+m".action = niri.spawn "element-desktop"; "Super+d".action = niri.spawn "ghostty"; "Super+p".action = niri.spawn "bitwarden"; @@ -189,64 +189,100 @@ in is-floating = true; is-focused = true; }; + appIDs = [ + ".blueman-manager-wrapped" + "org.gnome.Calculator" + "com.github.wwmm.easyeffects" + "emote" + "mpv" + "vlc" + "org.nomacs.ImageLounge" + "flameshot" + "^.protonvpn-app-wrapped$" + "^Picture-in-Picture$" + "^Discord Popout$" + "^Enter name of file to save to…$" + "^File Upload$" + ".scrcpy-wrapped" + "^Battle.net$" + ]; in - [ - (windowMatch ".blueman-manager-wrapped") - (windowMatch "org.gnome.Calculator") - (windowMatch "com.github.wwmm.easyeffects") - (windowMatch "emote") - (windowMatch "mpv") - (windowMatch "vlc") - (windowMatch "org.nomacs.ImageLounge") - (windowMatch "flameshot") - (windowMatch "^.protonvpn-app-wrapped$") - (windowMatch "^Picture-in-Picture$") - (windowMatch "^Discord Popout$") - (windowMatch "^Enter name of file to save to…$") - (windowMatch "^File Upload$") - (windowMatch ".scrcpy-wrapped") - (windowMatch "^Battle.net$") - ]; + builtins.map windowMatch appIDs; } { - matches = [ - { app-id = "floop"; } - { app-id = "org.kde.kdenlive"; } - { app-id = "krita"; } - { app-id = "mpv"; } - { app-id = "vlc"; } - { app-id = "Brave-browser"; } - { app-id = "org.kde.okular"; } - ]; - opacity = 1.0; + matches = + let + windowMatch = c: { + app-id = c; + opacity = 1.0; + }; + appIDs = [ + "floop" + "org.kde.kdenlive" + "krita" + "mpv" + "vlc" + "Brave-browser" + "org.kde.okular" + ]; + in + builtins.map windowMatch appIDs; } { - matches = [ - { app-id = "signal"; } - { app-id = "vesktop"; } - ]; - open-on-workspace = workspace0; + matches = + let + windowMatch = c: { + app-id = c; + open-on-workspace = workspace0; + }; + appIDs = [ + "signal" + "vesktop" + ]; + in + builtins.map windowMatch appIDs; } { - matches = [ - { app-id = "code"; } - { app-id = "zeditor"; } - ]; - open-on-workspace = workspace1; + matches = + let + windowMatch = c: { + app-id = c; + open-on-workspace = workspace1; + }; + appIDs = [ + "code" + "zeditor" + ]; + in + builtins.map windowMatch appIDs; } { - matches = [ - { app-id = "steam"; } - { app-id = "org.kde.kdenlive"; } - ]; - open-on-workspace = workspace2; + matches = + let + windowMatch = c: { + app-id = c; + open-on-workspace = workspace2; + }; + appIDs = [ + "steam" + "org.kde.kdenlive" + ]; + in + builtins.map windowMatch appIDs; } { - matches = [ - { app-id = "feishin"; } - { app-id = ".scrcpy-wrapped"; } - ]; - open-on-workspace = workspace3; + matches = + let + windowMatch = c: { + app-id = c; + open-on-workspace = workspace3; + }; + appIDs = [ + "feishin" + ".scrcpy-wrapped" + ]; + in + builtins.map windowMatch appIDs; } { clip-to-geometry = true;