From 84afdb1bbf5826a7552d05973d2a66bbf0ddd6f6 Mon Sep 17 00:00:00 2001 From: ItsDrike Date: Sat, 22 Jul 2023 23:40:28 +0200 Subject: [PATCH] Split up hyprland config --- home/.config/hypr/hyprland.conf | 264 +--------------------------- home/.config/hypr/keybinds.conf | 200 +++++++++++++++++++++ home/.config/hypr/window_rules.conf | 55 ++++++ 3 files changed, 260 insertions(+), 259 deletions(-) create mode 100644 home/.config/hypr/keybinds.conf create mode 100644 home/.config/hypr/window_rules.conf diff --git a/home/.config/hypr/hyprland.conf b/home/.config/hypr/hyprland.conf index 1b5d713..35cddb5 100644 --- a/home/.config/hypr/hyprland.conf +++ b/home/.config/hypr/hyprland.conf @@ -106,262 +106,8 @@ dwindle { #smart_split = true } -#################### -### WINDOW RULES ### -#################### - -# Automatically move windows to their workspace -windowrulev2 = workspace 2, class:^(firefox)$ -windowrulev2 = workspace 4, class:^(discord)$ -windowrulev2 = workspace 4, class:^(WebCord)$ -windowrulev2 = workspace 5, class:^(Spotify)$ -windowrulev2 = workspace 6, class:^(Stremio)$ - -# General float rules -windowrulev2 = float, class:^(file_progress)$ -windowrulev2 = float, class:^(confirm)$ -windowrulev2 = float, class:^(dialog)$ -windowrulev2 = float, class:^(download)$ -windowrulev2 = float, class:^(notification)$ -windowrulev2 = float, class:^(error)$ -windowrulev2 = float, class:^(splash)$ -windowrulev2 = float, class:^(confirmreset)$ - -# Float simple apps -windowrulev2 = float, class:^(Lxappearance)$ -windowrulev2 = float, class:^(Rofi)$ -windowrulev2 = float, class:^(feh)$ -windowrulev2 = float, class:^(pavucontrol-qt)$ -windowrulev2 = float, class:^(pavucontrol)$ -windowrulev2 = float, class:^(file-roller)$ -windowrulev2 = float, class:^(qalculate-gtk)$ -windowrulev2 = float, class:^(com.github.wwmm.easyeffects) - -# Give apps proper size -windowrulev2 = size 800 550, class:^(qalculate-gtk)$ -windowrulev2 = tile, class:^(Spotify)$ - -# Float some firefox windows (like bookmark menus, or some extension windows) -windowrulev2 = float, class:^(firefox)$,title:^(Revert Bookmarks)$ -windowrulev2 = float, class:^(firefox)$,title:^(Library)$ -windowrulev2 = float, class:^(firefox)$,title:^(Extension: \(uBlock Origin\)) -windowrulev2 = float, class:^(firefox)$,title:^(Firefox — Sharing Indicator)$ - -# Float some pcmanfm windows -windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Mount)$ -windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Preferences)$ -windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Move files)$ -windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Search Files)$ -windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Copy Files)$ -windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Confirm to replace files)$ - -# Float some windows from other apps -windowrulev2 = float, class:^(Spotify)$,title:^(Ozone X11)$ -windowrulev2 = float, class:^(opensnitch_ui)$ - -# Idle inhibit rules -windowrulev2 = idleinhibit focus, class:^(com.stremio.stremio)$ -windowrulev2 = idleinhibit focus, class:^(mpv)$ -windowrulev2 = idleinhibit focus, class:^(firefox)$,title:^(.+ - YouTube — Mozilla Firefox)$ - -#################### -### KEY BINDINGS ### -#################### - -$SCREENSHOT_FORMAT = "${XDG_SCREENSHOTS_DIR:-$HOME/Pictures/Screenshots}/Screenshot_$(date +%Y-%m-%d_%H-%M-%S).png" -$SCREENSHOT_DELAY = 2000 - -$MOUSE_LMB = mouse:272 -$MOUSE_RMB = mouse:273 -$MOUSE_MMB = mouse:274 -$MOUSE_EX1 = mouse:275 -$MOUSE_EX2 = mouse:276 - -# DE/WM control -bind = SUPER_SHIFT, Q, exec, menuquit -bind = SUPER_CTRL, L, exec, loginctl lock-session -bind = SUPER_SHIFT, L, exec, wlogout -p layer-shell -bind = SUPER_SHIFT, T, exec, toggle-idle -bind = SUPER_SHIFT, D, exec, toggle-notifications - -# Programs -bind = SUPER, R, exec, wofi --show drun -bind = SUPER_SHIFT, Return, exec, wofi --show run -bind = SUPER_SHIFT, C, exec, clipman pick -t wofi - -bind = SUPER, Return, exec, kitty -bind = SUPER, X, exec, pcmanfm-qt -bind = SUPER, B, exec, firefox -bind = SUPER, S, exec, spotify -bind = SUPER, D, exec, discord -bind = SUPER, C, exec, qalculate-gtk -bind = , XF86Calculator, exec, qalculate-gtk -bind = SUPER, N, exec, [float] kitty -e mknote - -# Notifications -bind = CTRL, grave, exec, dunstctl close -bind = CTRL_SHIFT, grave, exec, dunstctl close-all -bind = CTRL, period, exec, dunstctl history-pop -bind = CTRL_SHIFT, period, exec, dunstctl context - -# Volume comtrol -binde = SUPER, Down, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05- -binde = SUPER, Up, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ -binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05- -binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ -bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bind = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle - -# Brightness control -binde = SUPER, Right, exec, brightness -i 5% -n -binde = SUPER, Left, exec, brightness -d 5% -n -binde = , XF86MonBrightnessUp, exec, brightness -i 5% -n -binde = , XF86MonBrightnessDown, exec, brightness -d 5% -n - -# Screenshots (with custom screenshot script) -bind = , 248, exec, quick-record --notify toggle -bind = SUPER, 248, exec, quick-record toggle -bind = ALT, Print, exec, wl-copy --type image/png "$(hyprpicker)" && notify-send 'Picked color' "$(wl-paste) (saved to clipboard)" -bind = , Print, exec, screenshot --notify --copy --target area -bind = SUPER, Print, exec, screenshot --notify --copy --target area --edit -bind = SHIFT, Print, exec, screenshot --notify --save $SCREENSHOT_FORMAT --target area -bind = CTRL, Print, exec, screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY -bind = SUPER_SHIFT, Print, exec, screenshot --notify --save $SCREENSHOT_FORMAT --target area --edit -bind = SUPER_CTRL, Print, exec, screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY --edit -bind = SUPER_SHIFT_CTRL, Print, exec, screenshot --notify --save $SCREENSHOT_FORMAT --target area --delay $SCREENSHOT_DELAY --edit - -# Active window -bind = SUPER, W, killactive, -bind = SUPER, F, togglefloating, -bind = SUPER, Space, fullscreen, 0 -bind = SUPER_SHIFT, Space, fullscreen, 1 -bind = CTRL_SHIFT, Space, exec, toggle-fakefullscreen -bind = SUPER, P, exec, bash -c "if hyprctl activewindow | grep 'floating: 0'; then hyprctl dispatch togglefloating active; fi; hyprctl dispatch pin active" -bind = SUPER_SHIFT, P, pseudo, -bind = SUPER_SHIFT, S, togglesplit, - -# Window groups -bind = SUPER, G, togglegroup, -bind = ALT, tab, changegroupactive, f -bind = ALT, grave, changegroupactive, b - -# Special workspace (scratchpad) -bind = ALT, grave, movetoworkspace, special -bind = SUPER, grave, togglespecialworkspace, - -# Move window focus -bind = SUPER, h, movefocus, l -bind = SUPER, l, movefocus, r -bind = SUPER, k, movefocus, u -bind = SUPER, j, movefocus, d - -# Move active window in direction -bind = SUPER_ALT, h, movewindow, l -bind = SUPER_ALT, l, movewindow, r -bind = SUPER_ALT, k, movewindow, u -bind = SUPER_ALT, j, movewindow, d - -# Move between workspaces, swapping to current monitor (like xmonad) -bind = SUPER, 1, exec, swap-workspace 1 -bind = SUPER, 2, exec, swap-workspace 2 -bind = SUPER, 3, exec, swap-workspace 3 -bind = SUPER, 4, exec, swap-workspace 4 -bind = SUPER, 5, exec, swap-workspace 5 -bind = SUPER, 6, exec, swap-workspace 6 -bind = SUPER, 7, exec, swap-workspace 7 -bind = SUPER, 8, exec, swap-workspace 8 -bind = SUPER, 9, exec, swap-workspace 9 - -# Move windows to workspaces -bind = SUPER_SHIFT, 1, movetoworkspacesilent, 1 -bind = SUPER_SHIFT, 2, movetoworkspacesilent, 2 -bind = SUPER_SHIFT, 3, movetoworkspacesilent, 3 -bind = SUPER_SHIFT, 4, movetoworkspacesilent, 4 -bind = SUPER_SHIFT, 5, movetoworkspacesilent, 5 -bind = SUPER_SHIFT, 6, movetoworkspacesilent, 6 -bind = SUPER_SHIFT, 7, movetoworkspacesilent, 7 -bind = SUPER_SHIFT, 8, movetoworkspacesilent, 8 -bind = SUPER_SHIFT, 9, movetoworkspacesilent, 9 - -# Move windows to workspaces and focus it there -bind = ALT, 1, movetoworkspace, 1 -bind = ALT, 2, movetoworkspace, 2 -bind = ALT, 3, movetoworkspace, 3 -bind = ALT, 4, movetoworkspace, 4 -bind = ALT, 5, movetoworkspace, 5 -bind = ALT, 6, movetoworkspace, 6 -bind = ALT, 7, movetoworkspace, 7 -bind = ALT, 8, movetoworkspace, 8 -bind = ALT, 9, movetoworkspace, 9 - -# Cycle workspaces (relative movement) -bind = SUPER, mouse_down, workspace, +1 -bind = SUPER, mouse_up, workspace, -1 -bind = SUPER, bracketleft, workspace, -1 -bind = SUPER, bracketright, workspace, +1 - -# Cycle monitors -bind = SUPER_SHIFT, bracketleft, focusmonitor, -1 -bind = SUPER_SHIFT, bracketright, focusmonitor, +1 - -# Mouse window resizing -bindm = SUPER, $MOUSE_LMB, movewindow -bindm = SUPER, $MOUSE_RMB, resizewindow - -# Quick keyboard window resizing -binde = ALT, right, resizeactive, 10 0 -binde = ALT, left, resizeactive, -10 0 -binde = ALT, up, resizeactive, 0 -10 -binde = ALT, down, resizeactive, 0 10 -binde = ALT, H, resizeactive, -10 0 -binde = ALT, K, resizeactive, 0 -10 -binde = ALT, J, resizeactive, 0 10 -binde = ALT, L, resizeactive, 10 0 - -# Precise keyboard window resizing (group) -bind = SUPER, slash, submap, resize -submap = resize - -binde = , right, resizeactive, 10 0 -binde = , left, resizeactive, -10 0 -binde = , up, resizeactive, 0 -10 -binde = , down, resizeactive, 0 10 - -binde = SUPER, right, resizeactive, 30 0 -binde = SUPER, left, resizeactive, -30 0 -binde = SUPER, up, resizeactive, 0 -30 -binde = SUPER, down, resizeactive, 0 30 - -binde = SHIFT, right, resizeactive, 1 0 -binde = SHIFT, left, resizeactive, -1 0 -binde = SHIFT, up, resizeactive, 0 -1 -binde = SHIFT, down, resizeactive, 0 1 - -binde = , H, resizeactive, -10 0 -binde = , K, resizeactive, 0 -10 -binde = , J, resizeactive, 0 10 -binde = , L, resizeactive, 10 0 - -binde = , right, resizeactive, 10 0 -binde = , left, resizeactive, -10 0 -binde = , up, resizeactive, 0 -10 -binde = , down, resizeactive, 0 10 - -binde = SUPER, H, resizeactive, -30 0 -binde = SUPER, K, resizeactive, 0 -30 -binde = SUPER, J, resizeactive, 0 30 -binde = SUPER, L, resizeactive, 30 0 - -binde = SHIFT, H, resizeactive, -1 0 -binde = SHIFT, K, resizeactive, 0 -1 -binde = SHIFT, J, resizeactive, 0 1 -binde = SHIFT, L, resizeactive, 1 0 - -bind = , escape, submap, reset -bind = , return, submap, reset -bind = SUPER, slash, submap, reset -submap = reset - -# Global keybinds (passing keys to other programs) -bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$ -bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$ +####################### +### EXTERNAL CONFIG ### +####################### +source = ~/.config/hypr/keybinds.conf +source = ~/.config/hypr/window_rules.conf diff --git a/home/.config/hypr/keybinds.conf b/home/.config/hypr/keybinds.conf new file mode 100644 index 0000000..b02f615 --- /dev/null +++ b/home/.config/hypr/keybinds.conf @@ -0,0 +1,200 @@ +$SCREENSHOT_FORMAT = "${XDG_SCREENSHOTS_DIR:-$HOME/Pictures/Screenshots}/Screenshot_$(date +%Y-%m-%d_%H-%M-%S).png" +$SCREENSHOT_DELAY = 2000 + +$MOUSE_LMB = mouse:272 +$MOUSE_RMB = mouse:273 +$MOUSE_MMB = mouse:274 +$MOUSE_EX1 = mouse:275 +$MOUSE_EX2 = mouse:276 + +# DE/WM control +bind = SUPER_SHIFT, Q, exec, menuquit +bind = SUPER_CTRL, L, exec, loginctl lock-session +bind = SUPER_SHIFT, L, exec, wlogout -p layer-shell +bind = SUPER_SHIFT, T, exec, toggle-idle +bind = SUPER_SHIFT, D, exec, toggle-notifications + +# Programs +bind = SUPER, R, exec, wofi --show drun +bind = SUPER_SHIFT, Return, exec, wofi --show run +bind = SUPER_SHIFT, C, exec, clipman pick -t wofi + +bind = SUPER, Return, exec, kitty +bind = SUPER, X, exec, pcmanfm-qt +bind = SUPER, B, exec, firefox +bind = SUPER, S, exec, spotify +bind = SUPER, D, exec, discord +bind = SUPER, C, exec, qalculate-gtk +bind = , XF86Calculator, exec, qalculate-gtk +bind = SUPER, N, exec, [float] kitty -e mknote + +# Notifications +bind = CTRL, grave, exec, dunstctl close +bind = CTRL_SHIFT, grave, exec, dunstctl close-all +bind = CTRL, period, exec, dunstctl history-pop +bind = CTRL_SHIFT, period, exec, dunstctl context + +# Volume comtrol +binde = SUPER, Down, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05- +binde = SUPER, Up, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ +binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05- +binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+ +bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bind = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle + +# Brightness control +binde = SUPER, Right, exec, brightness -i 5% -n +binde = SUPER, Left, exec, brightness -d 5% -n +binde = , XF86MonBrightnessUp, exec, brightness -i 5% -n +binde = , XF86MonBrightnessDown, exec, brightness -d 5% -n + +# Screenshots (with custom screenshot script) +bind = , 248, exec, quick-record --notify toggle +bind = SUPER, 248, exec, quick-record toggle +bind = ALT, Print, exec, wl-copy --type image/png "$(hyprpicker)" && notify-send 'Picked color' "$(wl-paste) (saved to clipboard)" +bind = , Print, exec, screenshot --notify --copy --target area +bind = SUPER, Print, exec, screenshot --notify --copy --target area --edit +bind = SHIFT, Print, exec, screenshot --notify --save $SCREENSHOT_FORMAT --target area +bind = CTRL, Print, exec, screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY +bind = SUPER_SHIFT, Print, exec, screenshot --notify --save $SCREENSHOT_FORMAT --target area --edit +bind = SUPER_CTRL, Print, exec, screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY --edit +bind = SUPER_SHIFT_CTRL, Print, exec, screenshot --notify --save $SCREENSHOT_FORMAT --target area --delay $SCREENSHOT_DELAY --edit +# bind = , Print, exec, screenshot --save $SCREENSHOT_FORMAT --target all + +# Active window +bind = SUPER, W, killactive, +bind = SUPER, F, togglefloating, +bind = SUPER, Space, fullscreen, 0 +bind = SUPER_SHIFT, Space, fullscreen, 1 +bind = CTRL_SHIFT, Space, exec, toggle-fakefullscreen +bind = SUPER, P, exec, bash -c "if hyprctl activewindow | grep 'floating: 0'; then hyprctl dispatch togglefloating active; fi; hyprctl dispatch pin active" +bind = SUPER_SHIFT, P, pseudo, +bind = SUPER_SHIFT, S, togglesplit, + +# Window groups +bind = SUPER, G, togglegroup, +bind = ALT, tab, changegroupactive, f +bind = ALT, grave, changegroupactive, b + +# Special workspace (scratchpad) +bind = ALT, grave, movetoworkspace, special +bind = SUPER, grave, togglespecialworkspace, + +# Move window focus +bind = SUPER, h, movefocus, l +bind = SUPER, l, movefocus, r +bind = SUPER, k, movefocus, u +bind = SUPER, j, movefocus, d + +# Move active window in direction +bind = SUPER_ALT, h, movewindow, l +bind = SUPER_ALT, l, movewindow, r +bind = SUPER_ALT, k, movewindow, u +bind = SUPER_ALT, j, movewindow, d + +# Move between workspaces, swapping to current monitor (like xmonad) +bind = SUPER, 1, exec, swap-workspace 1 +bind = SUPER, 2, exec, swap-workspace 2 +bind = SUPER, 3, exec, swap-workspace 3 +bind = SUPER, 4, exec, swap-workspace 4 +bind = SUPER, 5, exec, swap-workspace 5 +bind = SUPER, 6, exec, swap-workspace 6 +bind = SUPER, 7, exec, swap-workspace 7 +bind = SUPER, 8, exec, swap-workspace 8 +bind = SUPER, 9, exec, swap-workspace 9 + +# Move windows to workspaces +bind = SUPER_SHIFT, 1, movetoworkspacesilent, 1 +bind = SUPER_SHIFT, 2, movetoworkspacesilent, 2 +bind = SUPER_SHIFT, 3, movetoworkspacesilent, 3 +bind = SUPER_SHIFT, 4, movetoworkspacesilent, 4 +bind = SUPER_SHIFT, 5, movetoworkspacesilent, 5 +bind = SUPER_SHIFT, 6, movetoworkspacesilent, 6 +bind = SUPER_SHIFT, 7, movetoworkspacesilent, 7 +bind = SUPER_SHIFT, 8, movetoworkspacesilent, 8 +bind = SUPER_SHIFT, 9, movetoworkspacesilent, 9 + +# Move windows to workspaces and focus it there +bind = ALT, 1, movetoworkspace, 1 +bind = ALT, 2, movetoworkspace, 2 +bind = ALT, 3, movetoworkspace, 3 +bind = ALT, 4, movetoworkspace, 4 +bind = ALT, 5, movetoworkspace, 5 +bind = ALT, 6, movetoworkspace, 6 +bind = ALT, 7, movetoworkspace, 7 +bind = ALT, 8, movetoworkspace, 8 +bind = ALT, 9, movetoworkspace, 9 + +# Cycle workspaces (relative movement) +bind = SUPER, mouse_down, workspace, +1 +bind = SUPER, mouse_up, workspace, -1 +bind = SUPER, bracketleft, workspace, -1 +bind = SUPER, bracketright, workspace, +1 + +# Cycle monitors +bind = SUPER_SHIFT, bracketleft, focusmonitor, -1 +bind = SUPER_SHIFT, bracketright, focusmonitor, +1 + +# Mouse window resizing +bindm = SUPER, $MOUSE_LMB, movewindow +bindm = SUPER, $MOUSE_RMB, resizewindow + +# Quick keyboard window resizing +binde = ALT, right, resizeactive, 10 0 +binde = ALT, left, resizeactive, -10 0 +binde = ALT, up, resizeactive, 0 -10 +binde = ALT, down, resizeactive, 0 10 +binde = ALT, H, resizeactive, -10 0 +binde = ALT, K, resizeactive, 0 -10 +binde = ALT, J, resizeactive, 0 10 +binde = ALT, L, resizeactive, 10 0 + +# Precise keyboard window resizing (group) +bind = SUPER, slash, submap, resize +submap = resize + +binde = , right, resizeactive, 10 0 +binde = , left, resizeactive, -10 0 +binde = , up, resizeactive, 0 -10 +binde = , down, resizeactive, 0 10 + +binde = SUPER, right, resizeactive, 30 0 +binde = SUPER, left, resizeactive, -30 0 +binde = SUPER, up, resizeactive, 0 -30 +binde = SUPER, down, resizeactive, 0 30 + +binde = SHIFT, right, resizeactive, 1 0 +binde = SHIFT, left, resizeactive, -1 0 +binde = SHIFT, up, resizeactive, 0 -1 +binde = SHIFT, down, resizeactive, 0 1 + +binde = , H, resizeactive, -10 0 +binde = , K, resizeactive, 0 -10 +binde = , J, resizeactive, 0 10 +binde = , L, resizeactive, 10 0 + +binde = , right, resizeactive, 10 0 +binde = , left, resizeactive, -10 0 +binde = , up, resizeactive, 0 -10 +binde = , down, resizeactive, 0 10 + +binde = SUPER, H, resizeactive, -30 0 +binde = SUPER, K, resizeactive, 0 -30 +binde = SUPER, J, resizeactive, 0 30 +binde = SUPER, L, resizeactive, 30 0 + +binde = SHIFT, H, resizeactive, -1 0 +binde = SHIFT, K, resizeactive, 0 -1 +binde = SHIFT, J, resizeactive, 0 1 +binde = SHIFT, L, resizeactive, 1 0 + +bind = , escape, submap, reset +bind = , return, submap, reset +bind = SUPER, slash, submap, reset +submap = reset + +# Global keybinds (passing keys to other programs) +bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$ +bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$ + +# vi: ft=conf diff --git a/home/.config/hypr/window_rules.conf b/home/.config/hypr/window_rules.conf new file mode 100644 index 0000000..df900e7 --- /dev/null +++ b/home/.config/hypr/window_rules.conf @@ -0,0 +1,55 @@ +# Automatically move windows to their workspace +windowrulev2 = workspace 2, class:^(firefox)$ +windowrulev2 = workspace 4, class:^(discord)$ +windowrulev2 = workspace 4, class:^(WebCord)$ +windowrulev2 = workspace 5, class:^(Spotify)$ +windowrulev2 = workspace 6, class:^(Stremio)$ + +# General float rules +windowrulev2 = float, class:^(file_progress)$ +windowrulev2 = float, class:^(confirm)$ +windowrulev2 = float, class:^(dialog)$ +windowrulev2 = float, class:^(download)$ +windowrulev2 = float, class:^(notification)$ +windowrulev2 = float, class:^(error)$ +windowrulev2 = float, class:^(splash)$ +windowrulev2 = float, class:^(confirmreset)$ + +# Float simple apps +windowrulev2 = float, class:^(Lxappearance)$ +windowrulev2 = float, class:^(Rofi)$ +windowrulev2 = float, class:^(feh)$ +windowrulev2 = float, class:^(pavucontrol-qt)$ +windowrulev2 = float, class:^(pavucontrol)$ +windowrulev2 = float, class:^(file-roller)$ +windowrulev2 = float, class:^(qalculate-gtk)$ +windowrulev2 = float, class:^(com.github.wwmm.easyeffects) + +# Give apps proper size +windowrulev2 = size 800 550, class:^(qalculate-gtk)$ +windowrulev2 = tile, class:^(Spotify)$ + +# Float some firefox windows (like bookmark menus, or some extension windows) +windowrulev2 = float, class:^(firefox)$,title:^(Revert Bookmarks)$ +windowrulev2 = float, class:^(firefox)$,title:^(Library)$ +windowrulev2 = float, class:^(firefox)$,title:^(Extension: \(uBlock Origin\)) +windowrulev2 = float, class:^(firefox)$,title:^(Firefox — Sharing Indicator)$ + +# Float some pcmanfm windows +windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Mount)$ +windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Preferences)$ +windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Move files)$ +windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Search Files)$ +windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Copy Files)$ +windowrulev2 = float, class:^(pcmanfm-qt)$,title:^(Confirm to replace files)$ + +# Float some windows from other apps +windowrulev2 = float, class:^(Spotify)$,title:^(Ozone X11)$ +windowrulev2 = float, class:^(opensnitch_ui)$ + +# Idle inhibit rules +windowrulev2 = idleinhibit focus, class:^(com.stremio.stremio)$ +windowrulev2 = idleinhibit focus, class:^(mpv)$ +windowrulev2 = idleinhibit focus, class:^(firefox)$,title:^(.+ - YouTube — Mozilla Firefox)$ + +# vi: ft=conf