mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2024-12-25 20:54:34 +00:00
Split up hyprland config
This commit is contained in:
parent
bbc2294602
commit
84afdb1bbf
|
@ -106,262 +106,8 @@ dwindle {
|
||||||
#smart_split = true
|
#smart_split = true
|
||||||
}
|
}
|
||||||
|
|
||||||
####################
|
#######################
|
||||||
### WINDOW RULES ###
|
### EXTERNAL CONFIG ###
|
||||||
####################
|
#######################
|
||||||
|
source = ~/.config/hypr/keybinds.conf
|
||||||
# Automatically move windows to their workspace
|
source = ~/.config/hypr/window_rules.conf
|
||||||
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)$
|
|
||||||
|
|
200
home/.config/hypr/keybinds.conf
Normal file
200
home/.config/hypr/keybinds.conf
Normal file
|
@ -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
|
55
home/.config/hypr/window_rules.conf
Normal file
55
home/.config/hypr/window_rules.conf
Normal file
|
@ -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
|
Loading…
Reference in a new issue