summaryrefslogtreecommitdiff
path: root/hypr/hyprland.conf
diff options
context:
space:
mode:
Diffstat (limited to 'hypr/hyprland.conf')
-rw-r--r--hypr/hyprland.conf260
1 files changed, 144 insertions, 116 deletions
diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf
index cdcca3d..9a40ef8 100644
--- a/hypr/hyprland.conf
+++ b/hypr/hyprland.conf
@@ -1,28 +1,39 @@
-# See https://wiki.hyprland.org/Configuring/Monitors/
+# See https://wiki.hypr.land/Configuring/Monitors/
#{{{ Monitor config
+#monitor = DP-2, 1920x1080@75, 0x0, 1
+#monitor = HDMI-A-1, 1920x1080@75, 1920x0, 1
+monitor = eDP-1, 1920x1080@60, 0x0, 1
monitor = , preferred, auto, 1
#}}}
-# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+# See https://wiki.hypr.land/Configuring/Keywords/ for more
+
+#{{{ Plugins
+plugin = /var/cache/hyprpm/zachir/hyprland-plugins/hyprscrolling.so
+plugin = /var/cache/hyprpm/zachir/hyprsplit/hyprsplit.so
+#}}}
#{{{ Autostart
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
-exec-once = dinit
-exec-once = xdph
exec-once = hyprpm reload -n
-#exec-once = hyprpaper
-#exec-once = hypridle
+#exec-once = dinit
+#exec-once = xdph
+exec-once = dinitctl start hyprpaper.user
exec-once = waybar
exec-once = pypr
+exec-once = hyprscratch init
exec-once = lxqt-policykit-agent
-exec-once = import-gsettings gtk-theme 'Flat-Remix-GTK-Green-Darkest-Solid'
-exec-once = import-gsettings icon-theme 'COSMIC'
+exec-once = import-gsettings gtk-theme 'Flat-Remix-GTK-Green-Darkest'
+exec-once = import-gsettings icon-theme 'Papirus-Dark'
exec-once = import-gsettings cursor-theme 'BreezeX-Black'
+exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
exec-once = xrdb -load "$XDG_CONFIG_HOME"/X11/xresources
#exec-once = com.github.wwmm.easyeffects
-#exec-once = dunst
-#exec-once = hypridle
+exec-once = dunst
+exec-once = hypridle
+exec-once = xwayland-satellite :1
+exec-once = bl-save
#exec-once = mpd
#}}}
@@ -32,6 +43,7 @@ env = HYPRCURSOR_THEME,theme_BreezeX-Black
env = HYPRCURSOR_SIZE,32
env = XCURSOR_THEME,BreezeX-Black
env = XCURSOR_SIZE,32
+env = DISPLAY=:1
#}}}
# Source a file (multi-file configs)
@@ -54,7 +66,7 @@ device {
# }}}
#{{{ Input options
-# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
+# For all categories, see https://wiki.hypr.land/Configuring/Variables/
input {
kb_layout = us
kb_variant =
@@ -81,7 +93,7 @@ input {
#{{{ General options
general {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ # See https://wiki.hypr.land/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 20
border_size = 2
@@ -89,7 +101,7 @@ general {
#col.inactive_border = rgba(595959aa)
col.active_border = rgba(198844ee)
col.inactive_border = rgba(1b1d1cee)
- layout = master
+ layout = scrolling
}
#}}}
@@ -105,7 +117,7 @@ misc {
disable_splash_rendering = true
enable_swallow = true
swallow_regex = ^(kitty)$
- swallow_exception_regex = ^(wev|.*ueberzug|n?vi?m? .*)$
+ swallow_exception_regex = ^(wev|.*ueberzug|n?vi?m? .*|.*dragon.*)$
vfr = true
vrr = 3
}
@@ -113,7 +125,7 @@ misc {
#{{{ Decoration options
decoration {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ # See https://wiki.hypr.land/Configuring/Variables/ for more
rounding = 10
#{{{ Blur options
blur {
@@ -139,7 +151,7 @@ decoration {
#{{{ Animations options
animations {
enabled = no
- # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
+ # Some default animations, see https://wiki.hypr.land/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
@@ -152,7 +164,7 @@ animations {
#{{{ Dwindle layout options
dwindle {
- # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+ # See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
special_scale_factor = 0.55
@@ -163,7 +175,7 @@ dwindle {
master {
special_scale_factor = 0.55
mfact = 0.55
- # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+ # See https://wiki.hypr.land/Configuring/Master-Layout/ for more
new_status = slave
new_on_top = false
new_on_active = before
@@ -176,8 +188,8 @@ master {
#{{{ Gestures options
gestures {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
- workspace_swipe = off
+ # See https://wiki.hypr.land/Configuring/Variables/ for more
+ #workspace_swipe = off
}
#}}}
@@ -187,6 +199,14 @@ plugin {
num_workspaces = 9
persistent_workspaces = true
}
+
+ hyprscrolling {
+ fullscreen_on_one_column = true
+ column_width = 0.5
+ explicit_column_widths = 0.25, 0.333, 0.5, 0.667, 0.75, 1.0
+ focus_fit_method = 1
+ follow_focus = true
+ }
}
#}}}
@@ -195,7 +215,7 @@ plugin {
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrule = float, class:^(kitty)$, title:^(kitty)$
-# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
windowrule = fullscreen, class:^(Xephyr)$
windowrule = float, title:^(LibreWolf - Choose User Profile)$
windowrule = float, class:^(xdg-desktop-portal-gtk)
@@ -224,10 +244,19 @@ windowrulev2 = move cursor -50% -50%, class:^(yabridge-host.exe.so)$, title:^(me
#windowrulev2 = move cursor -50% -50%, class:^(REAPER)$, title:^(Routing for track [0-9]*)$
#windowrulev2 = float, floating:0, title:^(menu)$
#windowrulev2 = forceinput, title:^(menu)$
+windowrulev2 = workspace special:easyeffects silent, class: ^(com\.github\.wwmm\.easyeffects)$
+# Fix brave xray menus
+windowrulev2 = xray 0, class: ^(\s*), title: ^(\s*)$
+# Center floating XWayland windows
+windowrule = center, xwayland: 1
+#}}}
+
+#{{{ Layerrules
+layerrule = blur, waybar
#}}}
#{{{ Mods
-# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+# See https://wiki.hypr.land/Configuring/Keywords/ for more
$mainMod = SUPER
$secdMod = ALT
#}}}
@@ -238,18 +267,40 @@ $secdMod = ALT
#}}}
#{{{ Master layout binds
-# Master layout binds
-bind = $mainMod+SHIFT, Return, layoutmsg, swapwithmaster master #MASTER
-bind = $mainMod+SHIFT, J, layoutmsg, swapnext #MASTER
-bind = $mainMod+SHIFT, K, layoutmsg, swapprev #MASTER
-bind = $mainMod+SHIFT, H, layoutmsg, addmaster #MASTER
-bind = $mainMod+SHIFT, L, layoutmsg, removemaster #MASTER
-binde = $mainMod, J, layoutmsg, cyclenext #MASTER
-binde = $mainMod, K, layoutmsg, cycleprev #MASTER
-binde = $mainMod, H, splitratio, -0.01 #MASTER
-binde = $mainMod, L, splitratio, +0.01 #MASTER
-bind = $mainMod+SHIFT, O, splitratio, exact 0.55 #MASTER
-bind = $mainMod, O, splitratio, exact 0.69 #MASTER
+## Master layout binds
+#bind = $mainMod+SHIFT, Return, layoutmsg, swapwithmaster master #MASTER
+#bind = $mainMod+SHIFT, J, layoutmsg, swapnext #MASTER
+#bind = $mainMod+SHIFT, K, layoutmsg, swapprev #MASTER
+#bind = $mainMod+SHIFT, H, layoutmsg, addmaster #MASTER
+#bind = $mainMod+SHIFT, L, layoutmsg, removemaster #MASTER
+#binde = $mainMod, J, layoutmsg, cyclenext #MASTER
+#binde = $mainMod, K, layoutmsg, cycleprev #MASTER
+#binde = $mainMod, H, splitratio, -0.01 #MASTER
+#binde = $mainMod, L, splitratio, +0.01 #MASTER
+#bind = $mainMod+SHIFT, O, splitratio, exact 0.55 #MASTER
+#bind = $mainMod, O, splitratio, exact 0.69 #MASTER
+#}}}
+
+#{{{ hyprscrolling layout binds
+# hyprscrolling layout binds
+bind = $mainMod+SHIFT, H, layoutmsg, movewindowto l #HYPRSCROLLING
+bind = $mainMod+SHIFT, J, layoutmsg, movewindowto d #HYPRSCROLLING
+bind = $mainMod+SHIFT, K, layoutmsg, movewindowto u #HYPRSCROLLING
+bind = $mainMod+SHIFT, L, layoutmsg, movewindowto r #HYPRSCROLLING
+bind = $mainMod+CONTROL, H, layoutmsg, swapcol l
+bind = $mainMod+CONTROL, L, layoutmsg, swapcol r
+bind = $mainMod, H, layoutmsg, focus l #HYPRSCROLLING
+bind = $mainMod, J, layoutmsg, focus d #HYPRSCROLLING
+bind = $mainMod, K, layoutmsg, focus u #HYPRSCROLLING
+bind = $mainMod, L, layoutmsg, focus r #HYPRSCROLLING
+bind = $mainMod+SHIFT, R, layoutmsg, colresize +conf #HYPRSCROLLING
+bind = $mainMod+SHIFT, Return, layoutmsg, promote #HYPRSCROLLING
+#}}}
+
+#{{{ tab binds
+bind = $mainMod+ALT, O, togglegroup
+bind = $mainMod+ALT, J, changegroupactive, f
+bind = $mainMod+ALT, K, changegroupactive, b
#}}}
#{{{ Group binds
@@ -278,7 +329,7 @@ bind = $mainMod, N, exec, pypr toggle_special
bind = $mainMod SHIFT, N, togglespecialworkspace, minimized
#}}}
-#{{{ Workspace binds (using split-monitor-workspaces plugin!)
+#{{{ Workspace binds (using hyprsplit plugin!)
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, split:workspace, 1
bind = $mainMod, 2, split:workspace, 2
@@ -317,6 +368,42 @@ bind = $mainMod SHIFT, comma, movewindow, mon:-1
bind = $mainMod SHIFT, period, movewindow, mon:+1
#}}}
+#{{{ Workspace binds (not using hyprsplit plugin)
+## Switch workspaces with mainMod + [0-9]
+#bind = $mainMod, 1, workspace, 1
+#bind = $mainMod, 2, workspace, 2
+#bind = $mainMod, 3, workspace, 3
+#bind = $mainMod, 4, workspace, 4
+#bind = $mainMod, 5, workspace, 5
+#bind = $mainMod, 6, workspace, 6
+#bind = $mainMod, 7, workspace, 7
+#bind = $mainMod, 8, workspace, 8
+#bind = $mainMod, 9, workspace, 9
+## Move active window to a workspace with mainMod + SHIFT + [0-9]
+#bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
+#bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
+#bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
+#bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
+#bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
+#bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
+#bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
+#bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
+#bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
+#bind = $mainMod CONTROL SHIFT, 1, movetoworkspace, 1
+#bind = $mainMod CONTROL SHIFT, 2, movetoworkspace, 2
+#bind = $mainMod CONTROL SHIFT, 3, movetoworkspace, 3
+#bind = $mainMod CONTROL SHIFT, 4, movetoworkspace, 4
+#bind = $mainMod CONTROL SHIFT, 5, movetoworkspace, 5
+#bind = $mainMod CONTROL SHIFT, 6, movetoworkspace, 6
+#bind = $mainMod CONTROL SHIFT, 7, movetoworkspace, 7
+#bind = $mainMod CONTROL SHIFT, 8, movetoworkspace, 8
+#bind = $mainMod CONTROL SHIFT, 9, movetoworkspace, 9
+#bind = $mainMod, comma, focusmonitor, -1
+#bind = $mainMod, period, focusmonitor, +1
+#bind = $mainMod SHIFT, comma, movewindow, mon:-1
+#bind = $mainMod SHIFT, period, movewindow, mon:+1
+#}}}
+
#{{{ Mouse binds
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
@@ -335,11 +422,12 @@ submap = reset
#}}}
#{{{ Menu bindings
-bind = $mainMod, R, exec, sh -c "$(tofi-drun -c ~/.config/tofi/themes/dmenu_vertical --prompt-text Run:)"
-bind = $mainMod, D, exec, sh -c "$(tofi-run -c ~/.config/tofi/themes/dmenu_vertical --prompt-text Run:)"
+bind = $mainMod, E, exec, sh -c "tofi-drun --drun-launch=true -c $HOME/.config/tofi/themes/dmenu_vertical"
+bind = $mainMod, D, exec, sh -c "$(tofi-run -c $HOME/.config/tofi/themes/dmenu_vertical)"
+bind = $mainMod, R, exec, rs
bind = $mainMod $secdMod, Q, exec, qbc
bind = $mainMod $secdMod, W, exec, lwc
-bind = $mainMod $secdMod, E, exec, mbc
+bind = $mainMod $secdMod, E, exec, brc
bind = $mainMod $secdMod, R, exec, ffc
bind = $mainMod $secdMod, 1, exec, bm
bind = $mainMod $secdMod, comma, exec, dmount -p
@@ -351,91 +439,29 @@ bind = $mainMod $secdMod, P, exec, passmenu
#{{{ Misc bindings
bind = $mainMod, Return, exec, kitty
-bind = $mainMod $secdMod, F, exec, kitty -e lf
+bind = $mainMod $secdMod, F, exec, kitty lf
bind = $mainMod, W, exec, pkill -USR1 waybar
bind = $mainMod, Q, exec, loginctl lock-session
bind = $mainMod $secdMod CONTROL, Q, exec, systemctl suspend
bind = $mainMod SHIFT, G, exec, get-app-id
bind = $mainMod Control, M, exec, volsv -m
-bind = $mainMod, Comma, exec, acpi-notify.sh
+#bind = $mainMod, Comma, exec, acpi-notify.sh
#bind = $mainMod CONTROL, R, exec, startx -- /usr/bin/Xephyr -screen 1920x1080 :1
#}}}
#{{{ Scratchpads
-bind = $mainMod CONTROL, Z, exec, pypr toggle sphtop
-$sphtop = class:^(sphtop)$
-windowrule = float,$sphtop
-windowrule = workspace special:sphtop silent,$sphtop
-windowrule = size 50% 50%,$sphtop
-windowrule = move 25% 25%,$sphtop
-bind = $mainMod CONTROL, X, exec, pypr toggle spterm
-$spterm = class:^(spterm)$
-windowrule = float,$spterm
-windowrule = workspace special:spterm silent,$spterm
-windowrule = size 50% 50%,$spterm
-windowrule = move 25% 25%,$spterm
-bind = $mainMod CONTROL, C, exec, pypr toggle sppmxr
-$sppmxr = class:^(sppmxr)$
-windowrule = float,$sppmxr
-windowrule = workspace special:sppmxr silent,$sppmxr
-windowrule = size 50% 50%,$sppmxr
-windowrule = move 25% 25%,$sppmxr
-bind = $mainMod CONTROL, V, exec, pypr toggle spblue
-$spblue = class:^(spblue)$
-windowrule = float,$spblue
-windowrule = workspace special:spblue silent,$spblue
-windowrule = size 50% 50%,$spblue
-windowrule = move 25% 25%,$spblue
-bind = $mainMod CONTROL, B, exec, pypr toggle spncmp
-$spncmp = class:^(spncmp)$
-windowrule = float,$spncmp
-windowrule = workspace special:spncmp silent,$spncmp
-windowrule = size 50% 50%,$spncmp
-windowrule = move 25% 25%,$spncmp
-bind = $mainMod CONTROL, A, exec, pypr toggle spmutt
-$spmutt = class:^(spmutt)$
-windowrule = float,$spmutt
-windowrule = workspace special:spmutt silent,$spmutt
-windowrule = size 50% 50%,$spmutt
-windowrule = move 25% 25%,$spmutt
-bind = $mainMod CONTROL, S, exec, pypr toggle spprof
-$spprof = class:^(spprof)$
-windowrule = float,$spprof
-windowrule = workspace special:spprof silent,$spprof
-windowrule = size 50% 50%,$spprof
-windowrule = move 25% 25%,$spprof
-bind = $mainMod CONTROL, D, exec, pypr toggle spirss
-$spirss = class:^(spirss)$
-windowrule = float,$spirss
-windowrule = workspace special:spirss silent,$spirss
-windowrule = size 50% 50%,$spirss
-windowrule = move 25% 25%,$spirss
-bind = $mainMod CONTROL, F, exec, pypr toggle sptodo
-$sptodo = class:^(sptodo)$
-windowrule = float,$sptodo
-windowrule = workspace special:sptodo silent,$sptodo
-windowrule = size 50% 50%,$sptodo
-windowrule = move 25% 25%,$sptodo
-bind = $mainMod CONTROL, G, exec, pypr toggle sptrmc
-$sptrmc = class:^(sptrmc)$
-windowrule = float,$sptrmc
-windowrule = workspace special:sptrmc silent,$sptrmc
-windowrule = size 50% 50%,$sptrmc
-windowrule = move 25% 25%,$sptrmc
-
-bind = $mainMod CONTROL, Q, exec, pypr toggle qpwgraph
-$spqpwg = class:^(org\.rncbc\.qpwgraph)$
-windowrule = float,$spqpwg
-windowrule = workspace special:spqpwg silent,$spqpwg
-windowrule = size 50% 50%,$spqpwg
-windowrule = move 25% 25%,$spqpwg
-
-bind = $mainMod CONTROL, E, togglespecialworkspace, speasy
-$speasy = class:^(com\.github\.wwmm\.easyeffects)$
-windowrule = float,$speasy
-windowrule = workspace special:speasy silent,$speasy
-windowrule = size 50% 50%,$speasy
-windowrule = move 25% 25%,$speasy
+bind = $mainMod CONTROL, Z, exec, hyprscratch toggle sphtop
+bind = $mainMod CONTROL, X, exec, hyprscratch toggle spterm
+bind = $mainMod CONTROL, C, exec, hyprscratch toggle sppmxr
+bind = $mainMod CONTROL, V, exec, hyprscratch toggle spblue
+bind = $mainMod CONTROL, B, exec, hyprscratch toggle spncmp
+bind = $mainMod CONTROL, A, exec, hyprscratch toggle spmutt
+bind = $mainMod CONTROL, S, exec, hyprscratch toggle spprof
+bind = $mainMod CONTROL, D, exec, hyprscratch toggle spirss
+bind = $mainMod CONTROL, F, exec, hyprscratch toggle spvimw
+bind = $mainMod CONTROL, G, exec, hyprscratch toggle sptrmc
+bind = $mainMod CONTROL, Q, exec, hyprscratch toggle helvum
+bind = $mainMod CONTROL, E, exec, hyprscratch toggle easyeffects
#}}}
#{{{ OBS bindings
@@ -469,7 +495,9 @@ bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioMute, exec, volsv -t
#bindl = , XF86AudioMicMute, exec, volsv -m
bind = , XF86AudioMicMute, exec, volsv -m
-bindel = , XF86MonBrightnessUp, exec, hypr-brightness +
-bindel = , XF86MonBrightnessDown, exec, hypr-brightness -
+bindel = , XF86MonBrightnessUp, exec, bl -i
+bindel = , XF86MonBrightnessDown, exec, bl -d
+bindl = $mainMod, XF86MonBrightnessUp, exec, bl -I 1
+bindl = $mainMod, XF86MonBrightnessDown, exec, bl -D 1
bind = , Print, exec, scrshot
#}}}