refactor(hyprland): decentralize window rules and binds
This commit is contained in:
@@ -8,6 +8,20 @@
|
|||||||
exec-once = [
|
exec-once = [
|
||||||
"uwsm app -- pywalfox start"
|
"uwsm app -- pywalfox start"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
bindd = [
|
||||||
|
"SUPER, W, Open Browser, exec, uwsm app -- firefox"
|
||||||
|
"SUPER, Y, Toggle YouTube, togglespecialworkspace, youtube"
|
||||||
|
"SUPER SHIFT, Y, Move to YouTube Special Workspace, movetoworkspace, special:youtube"
|
||||||
|
];
|
||||||
|
|
||||||
|
workspace = [
|
||||||
|
"special:youtube, on-created-empty:uwsm app -- firefox -P YouTube --name youtube"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrulev2 = [
|
||||||
|
"workspace special:youtube, class:^(youtube)$"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
imports = [
|
imports = [
|
||||||
inputs.textfox.homeManagerModules.default
|
inputs.textfox.homeManagerModules.default
|
||||||
|
|||||||
@@ -62,6 +62,11 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.bindd = [
|
||||||
|
"SUPER, P, Toggle Preload, togglespecialworkspace, preload"
|
||||||
|
"SUPER SHIFT, P, Move to Preload Special Workspace, movetoworkspace, special:preload"
|
||||||
|
];
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings.exec-once = [
|
wayland.windowManager.hyprland.settings.exec-once = [
|
||||||
"[workspace special:preload silent] uwsm app -- xdg-terminal-exec"
|
"[workspace special:preload silent] uwsm app -- xdg-terminal-exec"
|
||||||
"[workspace 1] uwsm app -- ghostty -e bash -c 'fastfetch; exec $SHELL'" # TODO: must be xdg-terminal-exec, or default user terminal
|
"[workspace 1] uwsm app -- ghostty -e bash -c 'fastfetch; exec $SHELL'" # TODO: must be xdg-terminal-exec, or default user terminal
|
||||||
|
|||||||
@@ -15,7 +15,6 @@
|
|||||||
# essential
|
# essential
|
||||||
"SUPER, Return, Open Terminal, exec, uwsm app -- xdg-terminal-exec"
|
"SUPER, Return, Open Terminal, exec, uwsm app -- xdg-terminal-exec"
|
||||||
"SUPER, Q, Kill active, killactive"
|
"SUPER, Q, Kill active, killactive"
|
||||||
"SUPER, SPACE, Open Vicinae, exec, vicinae toggle"
|
|
||||||
|
|
||||||
# resize
|
# resize
|
||||||
"SUPER CTRL, H, Resize Left, resizeactive, -40 0"
|
"SUPER CTRL, H, Resize Left, resizeactive, -40 0"
|
||||||
@@ -43,29 +42,10 @@
|
|||||||
"SUPER, O, Toggle Split, layoutmsg, togglesplit"
|
"SUPER, O, Toggle Split, layoutmsg, togglesplit"
|
||||||
|
|
||||||
# apps
|
# apps
|
||||||
"SUPER, W, Open Browser, exec, uwsm app -- firefox" # TODO: must be modular
|
|
||||||
# "SUPER, SPACE, Open App Launcher, exec, nc -U $XDG_RUNTIME_DIR/walker/walker.sock"
|
# "SUPER, SPACE, Open App Launcher, exec, nc -U $XDG_RUNTIME_DIR/walker/walker.sock"
|
||||||
"SUPER, T, Toggle Steam, togglespecialworkspace, steam"
|
|
||||||
"SUPER SHIFT, T, Move to Steam Special Workspace, movetoworkspace, special:steam"
|
|
||||||
|
|
||||||
"SUPER, M, Toggle Music, togglespecialworkspace, music"
|
|
||||||
"SUPER SHIFT, M, Move to Music Special Workspace, movetoworkspace, special:music"
|
|
||||||
|
|
||||||
"SUPER, Y, Toggle YouTube, togglespecialworkspace, youtube"
|
|
||||||
"SUPER SHIFT, Y, Move to YouTube Special Workspace, movetoworkspace, special:youtube"
|
|
||||||
|
|
||||||
"SUPER, P, Toggle Preload, togglespecialworkspace, preload"
|
|
||||||
"SUPER SHIFT, P, Move to Preload Special Workspace, movetoworkspace, special:preload"
|
|
||||||
|
|
||||||
"SUPER SHIFT, T, Move to Steam Special Workspace, movetoworkspace, special:steam"
|
|
||||||
"SUPER CTRL, I, Switch Wallpaper, exec, hakase-wallpaper-switch"
|
"SUPER CTRL, I, Switch Wallpaper, exec, hakase-wallpaper-switch"
|
||||||
|
|
||||||
# Screenshots
|
|
||||||
"SUPER, S, Screenshot Region (with edit), exec, screenshot region"
|
|
||||||
"SUPER SHIFT, S, Screenshot Active Window, exec, screenshot window"
|
|
||||||
"SUPER ALT, S, Quick Screenshot (no edit), exec, screenshot region-save"
|
|
||||||
"SUPER ALT SHIFT, S, Screenshot Current Monitor, exec, screenshot screen"
|
|
||||||
|
|
||||||
# TODO:
|
# TODO:
|
||||||
# add text clipping from pictures
|
# add text clipping from pictures
|
||||||
# add screen recording
|
# add screen recording
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{
|
{
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
workspace = [
|
workspace = [
|
||||||
"special:youtube, on-created-empty:uwsm app -- firefox -P YouTube --name youtube"
|
|
||||||
"special:music, on-created-empty:hakase-music-launch"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
@@ -20,38 +18,9 @@
|
|||||||
"dimaround, class:^(org\.hakase\.switch-wallpaper)$"
|
"dimaround, class:^(org\.hakase\.switch-wallpaper)$"
|
||||||
"dimaround, initialTitle:^(Wallpaper Selector)$"
|
"dimaround, initialTitle:^(Wallpaper Selector)$"
|
||||||
|
|
||||||
# --- STEAM RULES ---
|
|
||||||
"workspace special:steam silent, class:^(steam)$"
|
|
||||||
"noinitialfocus, class:^(steam)$"
|
|
||||||
"suppressevent activate, class:^(steam)$"
|
|
||||||
|
|
||||||
# --- MUSIC RULES (Jellyfin-TUI) ---
|
|
||||||
"workspace special:music silent, title:^(jellyfin-tui)$"
|
|
||||||
"workspace special:music silent, initialTitle:^(jellyfin-tui)$"
|
|
||||||
|
|
||||||
# --- CAVA RULES ---
|
# --- CAVA RULES ---
|
||||||
"workspace special:music silent, title:^(cava)$"
|
"workspace special:music silent, title:^(cava)$"
|
||||||
"workspace special:music silent, initialTitle:^(cava)$"
|
"workspace special:music silent, initialTitle:^(cava)$"
|
||||||
|
|
||||||
# --- YOUTUBE RULES ---
|
|
||||||
"workspace special:youtube, class:^(youtube)$"
|
|
||||||
|
|
||||||
# --- GAMING RULES ---
|
|
||||||
# Steam Apps, Gamescope, Lutris, Heroic, and Wine/Proton apps
|
|
||||||
"fullscreen, class:^steam_app_\d+$"
|
|
||||||
"monitor 0, class:^steam_app_\d+$"
|
|
||||||
"workspace 1, class:^steam_app_\d+$"
|
|
||||||
|
|
||||||
"fullscreen, class:^(gamescope)$"
|
|
||||||
"fullscreen, class:^(lutris)$"
|
|
||||||
"fullscreen, class:^(heroic)$"
|
|
||||||
"fullscreen, class:^wine-.*$"
|
|
||||||
"fullscreen, title:^Wine .*$"
|
|
||||||
|
|
||||||
# --- IMAGE VIEWER (Loupe) ---
|
|
||||||
"float, class:^(org\.gnome\.Loupe)$"
|
|
||||||
"center, class:^(org\.gnome\.Loupe)$"
|
|
||||||
"size 70% 70%, class:^(org\.gnome\.Loupe)$"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,4 +13,11 @@
|
|||||||
"image/tiff" = "org.gnome.Loupe.desktop";
|
"image/tiff" = "org.gnome.Loupe.desktop";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.windowrulev2 = [
|
||||||
|
# --- IMAGE VIEWER (Loupe) ---
|
||||||
|
"float, class:^(org\.gnome\.Loupe)$"
|
||||||
|
"center, class:^(org\.gnome\.Loupe)$"
|
||||||
|
"size 70% 70%, class:^(org\.gnome\.Loupe)$"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,4 +59,12 @@ in {
|
|||||||
early_exit=false
|
early_exit=false
|
||||||
fill_shape=false
|
fill_shape=false
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.bindd = [
|
||||||
|
# Screenshots
|
||||||
|
"SUPER, S, Screenshot Region (with edit), exec, screenshot region"
|
||||||
|
"SUPER SHIFT, S, Screenshot Active Window, exec, screenshot window"
|
||||||
|
"SUPER ALT, S, Quick Screenshot (no edit), exec, screenshot region-save"
|
||||||
|
"SUPER ALT SHIFT, S, Screenshot Current Monitor, exec, screenshot screen"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,13 @@
|
|||||||
# Ensure vicinae themes directory exists for matugen output
|
# Ensure vicinae themes directory exists for matugen output
|
||||||
home.file.".local/share/vicinae/themes/.keep".text = "";
|
home.file.".local/share/vicinae/themes/.keep".text = "";
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings.exec-once = [
|
wayland.windowManager.hyprland.settings = {
|
||||||
"vicinae server"
|
exec-once = [
|
||||||
];
|
"vicinae server"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindd = [
|
||||||
|
"SUPER, SPACE, Open Vicinae, exec, vicinae toggle"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+28
-3
@@ -17,7 +17,32 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings.exec-once = [
|
wayland.windowManager.hyprland.settings = {
|
||||||
"[workspace special:steam silent] uwsm app -- steam"
|
exec-once = [
|
||||||
];
|
"[workspace special:steam silent] uwsm app -- steam"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindd = [
|
||||||
|
"SUPER, T, Toggle Steam, togglespecialworkspace, steam"
|
||||||
|
"SUPER SHIFT, T, Move to Steam Special Workspace, movetoworkspace, special:steam"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrulev2 = [
|
||||||
|
# --- STEAM RULES ---
|
||||||
|
"workspace special:steam silent, class:^(steam)$"
|
||||||
|
"noinitialfocus, class:^(steam)$"
|
||||||
|
"suppressevent activate, class:^(steam)$"
|
||||||
|
|
||||||
|
# --- GAMING RULES ---
|
||||||
|
"fullscreen, class:^steam_app_\d+$"
|
||||||
|
"monitor 0, class:^steam_app_\d+$"
|
||||||
|
"workspace 1, class:^steam_app_\d+$"
|
||||||
|
|
||||||
|
"fullscreen, class:^(gamescope)$"
|
||||||
|
"fullscreen, class:^(lutris)$"
|
||||||
|
"fullscreen, class:^(heroic)$"
|
||||||
|
"fullscreen, class:^wine-.*$"
|
||||||
|
"fullscreen, title:^Wine .*$"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,4 +31,25 @@ in {
|
|||||||
home.packages = [
|
home.packages = [
|
||||||
launch-music
|
launch-music
|
||||||
];
|
];
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
workspace = [
|
||||||
|
"special:music, on-created-empty:hakase-music-launch"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindd = [
|
||||||
|
"SUPER, M, Toggle Music, togglespecialworkspace, music"
|
||||||
|
"SUPER SHIFT, M, Move to Music Special Workspace, movetoworkspace, special:music"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrulev2 = [
|
||||||
|
# --- MUSIC RULES (Jellyfin-TUI) ---
|
||||||
|
"workspace special:music silent, title:^(jellyfin-tui)$"
|
||||||
|
"workspace special:music silent, initialTitle:^(jellyfin-tui)$"
|
||||||
|
|
||||||
|
# --- CAVA RULES ---
|
||||||
|
"workspace special:music silent, title:^(cava)$"
|
||||||
|
"workspace special:music silent, initialTitle:^(cava)$"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user