diff options
Diffstat (limited to 'hypr/hyprland.conf')
-rw-r--r-- | hypr/hyprland.conf | 260 |
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 #}}} |