mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2024-12-26 13:14:35 +00:00
Rework hyprland config
This commit is contained in:
parent
d7b486ab0a
commit
39f8fa2012
|
@ -1,8 +1,16 @@
|
||||||
# Should be configured per-profile
|
################
|
||||||
monitor = eDP-1, preferred, auto, 1
|
### MONITORS ###
|
||||||
workspace = eDP-1, 1
|
################
|
||||||
|
|
||||||
|
# Should be configured per-profile
|
||||||
|
monitor = HDMI-A-2, 1920x1080@60, 0x0, 1
|
||||||
|
monitor = eDP-1, 1920x1080@60, 1920x0, 1
|
||||||
|
monitor = , preferred, auto, 1
|
||||||
|
|
||||||
|
#################
|
||||||
|
### AUTOSTART ###
|
||||||
|
#################
|
||||||
|
|
||||||
# Autostart
|
|
||||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
exec-once = hypr-restart-portals
|
exec-once = hypr-restart-portals
|
||||||
|
@ -16,61 +24,95 @@ exec-once = aa-notify -p
|
||||||
exec-once = udiskie -A -T
|
exec-once = udiskie -A -T
|
||||||
# exec-once = nm-applet --indicator
|
# exec-once = nm-applet --indicator
|
||||||
|
|
||||||
exec-once = webcord --start-minimized
|
exec-once = discord --start-minimized
|
||||||
|
# exec-once = webcord --start-minimized
|
||||||
|
|
||||||
|
#########################
|
||||||
input {
|
### CATEGORY SETTINGS ###
|
||||||
kb_layout = us, sk
|
#########################
|
||||||
kb_variant = ,qwerty
|
|
||||||
kb_options = grp:alt_shift_toggle
|
|
||||||
numlock_by_default=true
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = no
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
general {
|
general {
|
||||||
gaps_in = 5
|
gaps_in = 5
|
||||||
gaps_out = 8
|
gaps_out = 8
|
||||||
border_size = 2
|
border_size = 2
|
||||||
|
|
||||||
#col.active_border = 0xFF327BD1 # blue
|
#col.active_border = 0xFF327BD1 # blue
|
||||||
col.active_border = 0xFFFFA500 # orange
|
col.active_border = 0xFFFFA500 # orange
|
||||||
col.inactive_border = 0xFF000000 # black
|
# col.inactive_border = 0xFF000000 # black
|
||||||
|
col.inactive_border = 0xAA444444 # gray
|
||||||
|
|
||||||
|
cursor_inactive_timeout = 10
|
||||||
|
# no_cursor_warps = true
|
||||||
|
|
||||||
layout = dwindle
|
layout = dwindle
|
||||||
}
|
}
|
||||||
|
|
||||||
decoration {
|
decoration {
|
||||||
rounding = 8
|
rounding = 8
|
||||||
blur = 1
|
|
||||||
|
blur = true
|
||||||
blur_size = 3
|
blur_size = 3
|
||||||
blur_passes = 2
|
blur_passes = 2
|
||||||
blur_new_optimizations = 1
|
blur_new_optimizations = true
|
||||||
|
|
||||||
drop_shadow = 1
|
drop_shadow = true
|
||||||
shadow_ignore_window = 1
|
shadow_range = 5
|
||||||
shadow_offset = 2 2
|
shadow_render_power = 2
|
||||||
shadow_range = 4
|
shadow_ignore_window = true
|
||||||
shadow_render_power = 1
|
shadow_offset = [0 0]
|
||||||
col.shadow = 0x55000000
|
col.shadow = 0xE60F0F0F
|
||||||
|
col.shadow_inactive = 0x990F0F0F
|
||||||
|
|
||||||
|
dim_inactive = false
|
||||||
|
dim_strength = 0.05
|
||||||
}
|
}
|
||||||
|
|
||||||
animations {
|
animations {
|
||||||
enabled = 1
|
enabled = true
|
||||||
|
|
||||||
animation = windows, 1, 3, default, popin 50%
|
animation = windows, 1, 3, default, popin 50%
|
||||||
animation = border, 1, 4, default
|
animation = border, 1, 4, default
|
||||||
animation = fade, 1, 4, default
|
animation = fade, 1, 4, default
|
||||||
animation = workspaces, 1, 3, default
|
animation = workspaces, 1, 3, default
|
||||||
}
|
}
|
||||||
|
|
||||||
dwindle {
|
input {
|
||||||
pseudotile = 1
|
kb_layout = us, sk
|
||||||
preserve_split = 1
|
kb_variant = ,qwerty
|
||||||
no_gaps_when_only = 0
|
kb_options = grp:alt_shift_toggle
|
||||||
|
|
||||||
|
numlock_by_default=true
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
workspace_swipe = true
|
||||||
|
workspace_swipe_fingers = 3
|
||||||
|
workspace_swipe_distance = 300
|
||||||
|
workspace_swipe_invert = false
|
||||||
|
workspace_swipe_min_speed_to_force = 20
|
||||||
|
workspace_swipe_cancel_ratio = 0.650000
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
disable_splash_rendering = true
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
pseudotile = false
|
||||||
|
preserve_split = true
|
||||||
|
no_gaps_when_only = false
|
||||||
|
|
||||||
|
col.group_border_active = 0xFF8ec07c
|
||||||
|
col.group_border = 0xFF665c54
|
||||||
|
}
|
||||||
|
|
||||||
|
####################
|
||||||
|
### WINDOW RULES ###
|
||||||
|
####################
|
||||||
|
|
||||||
# Automatically move windows to their workspace
|
# Automatically move windows to their workspace
|
||||||
windowrulev2 = workspace 2, class:^(firefox)$
|
windowrulev2 = workspace 2, class:^(firefox)$
|
||||||
windowrulev2 = workspace 4, class:^(discord)$
|
windowrulev2 = workspace 4, class:^(discord)$
|
||||||
|
@ -81,40 +123,37 @@ windowrulev2 = workspace 6, class:^(Stremio)$
|
||||||
windowrulev2 = float, class:^(qalculate-gtk)$
|
windowrulev2 = float, class:^(qalculate-gtk)$
|
||||||
windowrulev2 = size 800 550, class:^(qalculate-gtk)$
|
windowrulev2 = size 800 550, class:^(qalculate-gtk)$
|
||||||
|
|
||||||
# Float some firefox windows (like bookmark menus)
|
# Float some firefox windows (like bookmark menus, or some extension windows)
|
||||||
windowrulev2 = float, class:^(firefox)$,title:^(Revert Bookmarks)$
|
windowrulev2 = float, class:^(firefox)$,title:^(Revert Bookmarks)$
|
||||||
windowrulev2 = float, class:^(firefox)$,title:^(Library)$
|
windowrulev2 = float, class:^(firefox)$,title:^(Library)$
|
||||||
# TODO: Fix this
|
windowrulev2 = float, class:^(firefox)$,title:^(Extension: \(uBlock Origin\))
|
||||||
windowrulev2 = float, class:^(firefox)$,title:^(Page Info)(.*)$
|
|
||||||
|
|
||||||
|
####################
|
||||||
|
### KEY BINDINGS ###
|
||||||
|
####################
|
||||||
|
|
||||||
# Mouse window resizing
|
$MOUSE_LMB = mouse:272
|
||||||
bindm = SUPER, mouse:272, movewindow
|
$MOUSE_RMB = mouse:273
|
||||||
bindm = SUPER, mouse:273, resizewindow
|
$MOUSE_MMB = mouse:274
|
||||||
|
$MOUSE_EX1 = mouse:275
|
||||||
|
$MOUSE_EX2 = mouse:276
|
||||||
|
|
||||||
# Compositor commands
|
# DE/WM control
|
||||||
bind = SUPER, Space, fullscreen,
|
|
||||||
bind = SUPER, W, killactive,
|
|
||||||
bind = SUPER, F, togglefloating,
|
|
||||||
bind = SUPER, S, togglesplit,
|
|
||||||
bind = SUPER, G, togglegroup,
|
|
||||||
bind = SUPER_SHIFT, N, changegroupactive, f
|
|
||||||
bind = SUPER_SHIFT, P, changegroupactive, b
|
|
||||||
bind = SUPER, P, pseudo,
|
|
||||||
bind = SUPER_SHIFT, Q, exec, menuprompt --yesno -p "Quit Hyprland?" && hyprctl dispatch exit ""
|
bind = SUPER_SHIFT, Q, exec, menuprompt --yesno -p "Quit Hyprland?" && hyprctl dispatch exit ""
|
||||||
|
bind = SUPER_CTRL, L, exec, loginctl lock-session
|
||||||
# Utilities
|
|
||||||
bind = SUPER_CTRL, L, exec, swaylock -fF
|
|
||||||
bind = SUPER_SHIFT, L, exec, wlogout -p layer-shell
|
bind = SUPER_SHIFT, L, exec, wlogout -p layer-shell
|
||||||
bind = SUPER_SHIFT, T, exec, toggle-idle
|
bind = SUPER_SHIFT, T, exec, toggle-idle
|
||||||
bind = SUPER_SHIFT, D, exec, toggle-notifications
|
bind = SUPER_SHIFT, D, exec, toggle-notifications
|
||||||
|
|
||||||
# Programs
|
# Programs
|
||||||
|
bind = SUPER, R, exec, wofi --show drun
|
||||||
|
bind = SUPER_SHIFT, Return, exec, wofi --show run
|
||||||
|
|
||||||
bind = SUPER, Return, exec, alacritty
|
bind = SUPER, Return, exec, alacritty
|
||||||
bind = SUPER, X, exec, pcmanfm
|
bind = SUPER, X, exec, pcmanfm
|
||||||
bind = SUPER, B, exec, firefox
|
bind = SUPER, B, exec, firefox
|
||||||
bind = SUPER, R, exec, wofi --show drun
|
bind = SUPER, C, exec, qalculate-gtk
|
||||||
bind = SUPER_SHIFT, Return, exec, wofi --show run
|
bind = , XF86Calculator, exec, qalculate-gtk
|
||||||
|
|
||||||
# Notifications
|
# Notifications
|
||||||
bind = CTRL, grave, exec, dunstctl close
|
bind = CTRL, grave, exec, dunstctl close
|
||||||
|
@ -137,15 +176,25 @@ binde = , XF86MonBrightnessUp, exec, brightness -i 5% -n
|
||||||
binde = , XF86MonBrightnessDown, exec, brightness -d 5% -n
|
binde = , XF86MonBrightnessDown, exec, brightness -d 5% -n
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
bind = ,Print, exec, grim -g "$(slurp)" - | wl-copy && notify-send "Screenshot" "Screenshot saved to clipboard"
|
bind = ,Print, exec, grim -g "$(slurp)" - | wl-copy --type image/png && notify-send "Screenshot" "Screenshot saved to clipboard"
|
||||||
bind = SUPER, Print, exec, grim -g "$(slurp)" - | swappy -f - -o - | wl-copy
|
bind = SUPER, Print, exec, grim -g "$(slurp)" - | swappy -f - -o - | wl-copy --type image/png
|
||||||
bind = CTRL, Print, exec, echo "" | wofi --prompt "Set delay (ms)" --show dmenu | xargs -I _ sleep _e-3 && grim -g "$(slurp)" - | wl-copy
|
bind = CTRL, Print, exec, echo "" | wofi --prompt "Set delay (ms)" --show dmenu | xargs -I _ sleep _e-3 && grim -g "$(slurp)" - | wl-copy --type image/png
|
||||||
bind = SUPER_CTRL, Print, exec, echo "" | wofi --prompt "Set delay (ms)" --show dmenu | xargs -I _ sleep _e-3 && grim -g "$(slurp)" - | swappy -f - -o - | wl-copy
|
bind = SUPER_CTRL, Print, exec, echo "" | wofi --prompt "Set delay (ms)" --show dmenu | xargs -I _ sleep _e-3 && grim -g "$(slurp)" - | swappy -f - -o - | wl-copy --type image/png
|
||||||
bind = SHIFT, Print, exec, wl-copy "$(hyprpicker)" && notify-send 'Picked color' "$(wl-paste) (saved to clipboard)"
|
bind = SHIFT, Print, exec, wl-copy --type image/png "$(hyprpicker)" && notify-send 'Picked color' "$(wl-paste) (saved to clipboard)"
|
||||||
|
bind = SUPER_SHIFT_CTRL, Print, exec, grim
|
||||||
|
|
||||||
# Global keybinds (passing keys to other programs)
|
# Active window
|
||||||
bind = SUPER, F10, pass, ^(com\.obsproject\.Studio)$
|
bind = SUPER, W, killactive,
|
||||||
bind = SUPER, F10, pass, ^(com\.obsproject\.Studio)$
|
bind = SUPER, F, togglefloating,
|
||||||
|
bind = SUPER, Space, fullscreen,
|
||||||
|
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, S, togglesplit,
|
||||||
|
|
||||||
|
# Window groups
|
||||||
|
bind = SUPER, G, togglegroup,
|
||||||
|
bind = ALT, tab, changegroupactive, f
|
||||||
|
bind = ALT, grave, changegroupactive, b
|
||||||
|
|
||||||
# Move between windows
|
# Move between windows
|
||||||
bind = SUPER, h, movefocus, l
|
bind = SUPER, h, movefocus, l
|
||||||
|
@ -153,29 +202,6 @@ bind = SUPER, l, movefocus, r
|
||||||
bind = SUPER, k, movefocus, u
|
bind = SUPER, k, movefocus, u
|
||||||
bind = SUPER, j, movefocus, d
|
bind = SUPER, j, movefocus, d
|
||||||
|
|
||||||
# Window resizing
|
|
||||||
bind = SUPER, Q, 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 = , L, resizeactive, 10 0
|
|
||||||
binde = , H, resizeactive, -10 0
|
|
||||||
binde = , K, resizeactive, 0 -10
|
|
||||||
binde = , J, resizeactive, 0 10
|
|
||||||
bind = , escape, submap, reset
|
|
||||||
bind = SUPER, Q, submap, reset
|
|
||||||
submap = reset
|
|
||||||
|
|
||||||
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 = , L, resizeactive, 10 0
|
|
||||||
binde = ALT, H, resizeactive, -10 0
|
|
||||||
binde = ALT, K, resizeactive, 0 -10
|
|
||||||
binde = ALT, J, resizeactive, 0 10
|
|
||||||
|
|
||||||
# Move between workspaces
|
# Move between workspaces
|
||||||
bind = SUPER, 1, workspace, 1
|
bind = SUPER, 1, workspace, 1
|
||||||
bind = SUPER, 2, workspace, 2
|
bind = SUPER, 2, workspace, 2
|
||||||
|
@ -198,7 +224,6 @@ bind = SUPER_SHIFT, 7, movetoworkspacesilent, 7
|
||||||
bind = SUPER_SHIFT, 8, movetoworkspacesilent, 8
|
bind = SUPER_SHIFT, 8, movetoworkspacesilent, 8
|
||||||
bind = SUPER_SHIFT, 9, movetoworkspacesilent, 9
|
bind = SUPER_SHIFT, 9, movetoworkspacesilent, 9
|
||||||
|
|
||||||
|
|
||||||
# Move windows to workspaces and focus it there
|
# Move windows to workspaces and focus it there
|
||||||
bind = ALT, 1, movetoworkspace, 1
|
bind = ALT, 1, movetoworkspace, 1
|
||||||
bind = ALT, 2, movetoworkspace, 2
|
bind = ALT, 2, movetoworkspace, 2
|
||||||
|
@ -210,7 +235,7 @@ bind = ALT, 7, movetoworkspace, 7
|
||||||
bind = ALT, 8, movetoworkspace, 8
|
bind = ALT, 8, movetoworkspace, 8
|
||||||
bind = ALT, 9, movetoworkspace, 9
|
bind = ALT, 9, movetoworkspace, 9
|
||||||
|
|
||||||
# Cycle workspaces
|
# Cycle workspaces (relative movement)
|
||||||
bind = SUPER, mouse_down, workspace, m+1
|
bind = SUPER, mouse_down, workspace, m+1
|
||||||
bind = SUPER, mouse_up, workspace, m-1
|
bind = SUPER, mouse_up, workspace, m-1
|
||||||
bind = SUPER, bracketleft, workspace, m-1
|
bind = SUPER, bracketleft, workspace, m-1
|
||||||
|
@ -223,3 +248,59 @@ bind = SUPER_SHIFT, braceright, focusmonitor, r
|
||||||
# Special workspace
|
# Special workspace
|
||||||
bind = ALT, grave, movetoworkspace, special
|
bind = ALT, grave, movetoworkspace, special
|
||||||
bind = SUPER, grave, togglespecialworkspace,
|
bind = SUPER, grave, togglespecialworkspace,
|
||||||
|
|
||||||
|
# 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 = , L, resizeactive, 10 0
|
||||||
|
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 = 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 = SUPER, slash, submap, reset
|
||||||
|
submap = reset
|
||||||
|
|
||||||
|
# Global keybinds (passing keys to other programs)
|
||||||
|
bind = SUPER, F10, pass, ^(com\.obsproject\.Studio)$
|
||||||
|
bind = SUPER, F10, pass, ^(com\.obsproject\.Studio)$
|
||||||
|
|
Loading…
Reference in a new issue