config clean-up

This commit is contained in:
committer@tuxwarrior
2026-05-26 04:57:20 -05:00
parent b609cdb4bd
commit 6f3981a2f5
2 changed files with 656 additions and 217 deletions
+95 -217
View File
@@ -18,8 +18,7 @@ $menu = hyprlauncher
####################################################
exec-once = startup.sh
#exec-once = waybar & hyprpaper
#exec-once = hypropolkitagent
exec-once = hyprpm update && hyprpm reload -n
####################################################
@@ -64,7 +63,7 @@ input {
gesture = 3, horizontal, workspace
# - - - - - - - - - - - - - - - - - - - - - - - - -
# per-device input configssc
# per-device input configs
# - - - - -
# https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs
# - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -99,16 +98,6 @@ general {
# see https://wiki.hypr.land/Configuring/Tearing/ before enabling this
allow_tearing = false
# dwindle: https://wiki.hypr.land/Configuring/Dwindle-Layout/
# Dwindle is a BSPWM-like (Binary Space Partition Window Manager) layout, where every window on a workspace is a member of a binary tree.
# master: https://wiki.hypr.land/Configuring/Master-Layout/
# makes one (or more) window(s) be the “master”, taking (by default) the left part of the screen, and tiles the rest on the right
# scrolling: https://wiki.hypr.land/Configuring/Scrolling-Layout/
# windows get positioned on an infinitely growing tape
# monocle: https://wiki.hypr.land/Configuring/Monocle-Layout/
# windows are always taking up the entire available space
#layout = dwindle
layout = hy3
}
@@ -149,7 +138,6 @@ decoration {
# - - - - -
# https://wiki.hypr.land/Configuring/Variables/#animations
# - - - - - - - - - - - - - - - - - - - - - - - - -
animations {
enabled = true
@@ -182,31 +170,11 @@ animations {
animation = zoomFactor, 1, 7, quick
}
# - - - - - - - - - - - - - - - - - - - - - - - - -
# dwindle layout
# - - - - -
# https://wiki.hypr.land/Configuring/Dwindle-Layout/
# - - - - - - - - - - - - - - - - - - - - - - - - -
dwindle {
preserve_split = true # You probably want this
}
# - - - - - - - - - - - - - - - - - - - - - - - - -
# master layout
# - - - - -
# https://wiki.hypr.land/Configuring/Master-Layout/
# - - - - - - - - - - - - - - - - - - - - - - - - -
master {
new_status = master
}
# - - - - - - - - - - - - - - - - - - - - - - - - -
# misc
# - - - - -
# https://wiki.hypr.land/Configuring/Variables/#misc
# - - - - - - - - - - - - - - - - - - - - - - - - -
misc {
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
@@ -216,6 +184,23 @@ misc {
}
####################################################
### plugins ###
####################################################
# https://wiki.hypr.land/Plugins/Using-Plugins/
# hy3 - i3-style manual tiling layout
# https://github.com/outfoxxed/hy3
# install: hyprpm add https://github.com/outfoxxed/hy3
# update: hyprpm update
# remove: hyprpm remove hy3
plugin {
hy3 {
# https://github.com/outfoxxed/hy3#config-fields
}
}
####################################################
### binds (keybindings) ###
####################################################
@@ -225,15 +210,11 @@ misc {
# keysyms (use segment after XKB_KEY_):
# https://github.com/xkbcommon/libxkbcommon/blob/master/include/xkbcommon/xkbcommon-keysyms.h
#
# three keys bind example:
# bind = $mainMod_SHIFT, space, togglefloating
#
# bind[flags]=..
# bindrl=MOD,KEY,exec,amongus
# flags:
# l -> locked, aka. works also when an an input inhibitor (e.g. a lockscreen) is active
# l -> locked, works also when an input inhibitor (e.g. a lockscreen) is active
# r -> release, will trigger on release of a key
# e -> repeat, will repeat when held.
# e -> repeat, will repeat when held
# m -> mouse
# - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -247,76 +228,61 @@ bind = $mainMod, F3, exec, $fileManager
# key operations
bind = $mainMod, L, exec, hyprlock # lock
bind = $mainMod, O, exec, sleep 1; hyprctl dispatch dpms off; hyprlock # monitor off & lock (had to sleep to avoid immediate wakeup)
bind = $mainMod, O, exec, sleep 1; hyprctl dispatch dpms off; hyprlock # monitor off & lock
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, ESCAPE, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit # exit alt. 1
bind = $mainMod CTRL, ESCAPE, exit, # exit alt. 2
bind = $mainMod CTRL, ESCAPE, exit, # exit alt. 2
# view mode change
# floating
bind = $mainMod, I, togglefloating,
bind = $mainMod, P, pseudo, # dwindle - pseudotiled windows retain their floating size when tiled
#bind = $mainMod, W, layoutmsg, togglesplit # dwindle - toggle split mode (top/side)
bind = $mainMod, W, hy3:changegroup, opposite # toggles the current group between horizontal and vertical splitting.
# fullscreen
bind = $mainMod, F, fullscreen, 1 # fullscreen, with border
bind = $mainMod, G, fullscreen, 0 # fullscreen, fill entire screen
# tab groups
bind = $mainMod, T, hy3:changegroup, toggletab
bind = $mainMod, SHIFT, T, hy3:makegroup, tab
# hy3: split direction
bind = $mainMod, H, hy3:makegroup, h # split horizontal
bind = $mainMod, V, hy3:makegroup, v # split vertical
bind = $mainMod, W, hy3:changegroup, opposite # toggle between horizontal and vertical splitting
# hy3: tab groups
bind = $mainMod, T, hy3:changegroup, toggletab # toggle tab mode on current group
bind = $mainMod SHIFT, T, hy3:makegroup, tab # wrap window into a new tab group
# screenshot
# https://github.com/alonso-herreros/hyprcap
bind = , PRINT, exec, screenshot.sh region # region
bind = $mainMod SHIFT, PRINT, exec, screenshot.sh monitor # monitor
bind = $mainMod, PRINT, exec, screenshot.sh window # window
# view mode
#bind = $mainMod, M, exec, hyprctl keyword general:layout "master" # [M]aster
#bind = $mainMod, N, exec, hyprctl keyword general:layout "dwindle" # dwi[N]dle
#bind = $mainMod, M, layoutmsg, swapwithmaster master
#bind = $mainMod, N, layoutmsg, swapwithmaster dwindle
# cycle in between dwindle and masterS
#bind = $mainMod + L, exec, sh -c 'if hyprctl -j getoption general:layout | jq -r .str | grep -q "dwindle"; then hyprctl keyword general:layout master; else hyprctl keyword general:layout dwindle; fi'
# split mode
# normal:
#bind = $mainMod, H, layoutmsg, preselect r # next window to the right (horizontal mode)
#bind = $mainMod SHIFT, H, layoutmsg, preselect r # next window to the left
#bind = $mainMod, V, layoutmsg, preselect d # next window to the top (vertical mode)
#bind = $mainMod SHIFT, V, layoutmsg, preselect d # next window to the bottom
# hy3:
bind = $mainMod, h, hy3:makegroup, h # split horizontal
bind = $mainMod, v, hy3:makegroup, v # split vertical
# resize
#bind = $mainMod, R, submap, resize
#submap = resize
#bind = , up, resizeactive, 0 -100
#bind = , down, resizeactive, 0 100
#bind = , Return, submap, reset
#submap = reset
bind = , PRINT, exec, screenshot.sh region # region
bind = $mainMod SHIFT, PRINT, exec, screenshot.sh monitor # monitor
bind = $mainMod, PRINT, exec, screenshot.sh window # window
# window cycle
# https://github.com/hyprwm/Hyprland/issues/2061
#bind = ALT, TAB, cyclenext # cycle windows in same workspace
#bind = ALT, TAB, bringactivetotop # bring focused window to top
bind = ALT, Tab, focuscurrentorlast # switch focus from current to previous window
# Move focus with mainMod + arrow keys
# normal:
#bind = $mainMod, left, movefocus, l
#bind = $mainMod, right, movefocus, r
#bind = $mainMod, up, movefocus, u
#bind = $mainMod, down, movefocus, d
# hy3:
bind = $mainMod, left, hy3:movefocus, l
bind = $mainMod, right, hy3:movefocus, r
bind = $mainMod, up, hy3:movefocus, u
bind = $mainMod, down, hy3:movefocus, d
# hy3: move focus
bind = $mainMod, left, hy3:movefocus, l
bind = $mainMod, right, hy3:movefocus, r
bind = $mainMod, up, hy3:movefocus, u
bind = $mainMod, down, hy3:movefocus, d
# Switch workspaces with mainMod + [0-9]
# hy3: move window
bind = $mainMod SHIFT, left, hy3:movewindow, l
bind = $mainMod SHIFT, right, hy3:movewindow, r
bind = $mainMod SHIFT, up, hy3:movewindow, u
bind = $mainMod SHIFT, down, hy3:movewindow, d
# move floating window
binde = $mainMod ALT, left, moveactive, -40 0
binde = $mainMod ALT, right, moveactive, 40 0
binde = $mainMod ALT, up, moveactive, 0 -40
binde = $mainMod ALT, down, moveactive, 0 40
# resize window
binde = $mainMod CTRL, left, resizeactive, -40 0
binde = $mainMod CTRL, right, resizeactive, 40 0
binde = $mainMod CTRL, up, resizeactive, 0 -40
binde = $mainMod CTRL, down, resizeactive, 0 40
# switch workspaces
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
@@ -328,7 +294,7 @@ bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
# move active window to a workspace
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
@@ -340,81 +306,36 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# move window
# normal:
#bind = $mainMod SHIFT, left, movewindoworgroup, l
#bind = $mainMod SHIFT, right, movewindoworgroup, r
#bind = $mainMod SHIFT, up, movewindoworgroup, u
#bind = $mainMod SHIFT, down, movewindoworgroup, d
#hy3
bind = $mainMod SHIFT, left, hy3:movewindow, l
bind = $mainMod SHIFT, right, hy3:movewindow, r
bind = $mainMod SHIFT, up, hy3:movewindow, u
bind = $mainMod SHIFT, down, hy3:movewindow, d
# move floating window
binde = $mainMod ALT, left, moveactive, -40 0
binde = $mainMod ALT, right, moveactive, 40 0
binde = $mainMod ALT, up, moveactive, 0 -40
binde = $mainMod ALT, down, moveactive, 0 40
# resize window
binde = $mainMod CTRL, left, resizeactive, -40 0
binde = $mainMod CTRL, right, resizeactive, 40 0
binde = $mainMod CTRL, up, resizeactive, 0 -40
binde = $mainMod CTRL, down, resizeactive, 0 40
# Example special workspace (scratchpad)
#bind = $mainMod, S, togglespecialworkspace, magic
#bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
#bind = $mainMod, mouse_down, workspace, e+1
#bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
# focus window
# `hyprctl clients` - for window names
#bind = $mainMod, semicolon, focuswindow, kitty # cli
#bind = $mainMod, G, focuswindow, gimp
#bind = $mainMod, K, focuswindow, GitKraken # git[K]raken
#bind = $mainMod, C, focuswindow, VSCodium # vs[C]odium
#bind = $mainMod, B, focuswindow, Sublime Text # su[B]lime
#bind = $mainMod, Y, focuswindow, reaper # [y] not reaper
#bind = $mainMod, I, focuswindow, firefox # [I]nternet
# cycle in between workspaces
# cycle between most recent workspaces
binds {
allow_workspace_cycles = true
}
bind = SUPER, Tab, workspace, previous
# window_direction_monitor_fallback controls how window movement behaves when crossing monitor boundaries.
# when set to true, window movement (e.g., via keybinds) will automatically switch to the adjacent monitor
# if the target direction (left/right/up/down) would move the window beyond the current monitors edge.
# when set to false, movement stops at the monitor edge, and no monitor switch occurs.
# stop window movement at monitor edge (no cross-monitor move)
binds {
window_direction_monitor_fallback = false
}
# move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# laptop multimedia keys for volume and LCD brightness
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = , XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = , XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# media control (requires playerctl)
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
####################################################
### monitors ###
####################################################
@@ -426,19 +347,10 @@ binds {
# NOTE:
# monitors are controlled using `hyprmon`, which is executed at startup by `startup.sh`
# --------------------------------------------------
# # example configuration of four displays (three active):
# monitor = eDP-1, disable # disable laptop monitor
# monitor = DP-2, highres@highrr, 0x-750, 1, transform, 3 # rotate the left monitor 270 degrees, and lower it
# monitor = DP-1, highres@highrr, auto, 0.83 # main monitor: monitor = name, res, pos, scale
# monitor = HDMI-A-1, highres@highrr, auto, 1, transform, 1 # rotate right monitor 90 degrees
# --------------------------------------------------
# default settings for new displays that are connected (they will show up to the right of the rightmost display):
# monitor = name, resolution, position, scale
#monitor = , preferred, auto, auto
# default settings for new displays that are connected:
monitor = , highres@highrr, auto, 1
####################################################
### nvidia ###
####################################################
@@ -448,32 +360,6 @@ env = LIBVA_DRIVER_NAME,nvidia
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
####################################################
### plugins ###
####################################################
# https://wiki.hypr.land/Plugins/Using-Plugins/
# hy3
# https://github.com/outfoxxed/hy3
# install:
# hyprpm add https://github.com/outfoxxed/hy3
# update:
# hyprpm update` or `hyprpm update -f
# remove:
# hyprpm remove hy3
#exec-once = hyprpm reload -n
exec-once = hyprpm update && hyprpm reload -n
plugin {
hy3 {
# https://github.com/outfoxxed/hy3#config-fields
tabs_enabled = false
}
}
####################################################
### windows and workspaces ###
####################################################
@@ -482,20 +368,12 @@ plugin {
# windows
# - - - - -
# https://wiki.hypr.land/Configuring/Window-Rules/
# `hyprctl clients` - for class names
# `hyprctl clients | grep -A5 -i pgmodeler` - example
# - - - - - - - - - - - - - - - - - - - - - - - - -
# Example windowrule v1:
# windowrule = float, ^(kitty)$
#
# Example windowrule v2:
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
#
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
#
# `hyprctl clients` - for class names
windowrule {
# Ignore maximize requests from all apps. You'll probably like this.
# Ignore maximize requests from all apps
name = suppress-maximize-events
match:class = .*
@@ -515,8 +393,8 @@ windowrule {
no_focus = true
}
# Hyprland-run windowrule
windowrule {
# hyprland-run: pin to bottom-left corner
name = move-hyprland-run
match:class = hyprland-run
@@ -524,29 +402,29 @@ windowrule {
float = yes
}
# always have speedcrunch floating
# same as:
# windowrule = match:class .*(speedcrunch).*, float on
# windowrule = match:class .*(speedcrunch).*, size 800 500
windowrule {
# speedcrunch: always floating
name = always-make-speedcrunch-float
match:class = .*(speedcrunch).*
float = on
size = 800 500
}
# flot all pgmodeler extra windows
windowrule {
# pgmodeler: float all extra windows (dialogs, popups, etc.)
name = float-all-pgmodeler
match:class = pgmodeler
float = on
}
# do not float pgmodeler main window
windowrule {
# pgmodeler: keep main window tiled
name = tile-pgmodeler-main
match:class = pgmodeler
match:title = ^pgModeler Community.*
float = off
}
@@ -556,6 +434,6 @@ windowrule {
# https://wiki.hypr.land/Configuring/Workspace-Rules/
# - - - - - - - - - - - - - - - - - - - - - - - - -
workspace = 1, monitor:DP-1, default:true
workspace = 2, monitor:DP-2, default:true
workspace = 1, monitor:DP-1, default:true
workspace = 2, monitor:DP-2, default:true
workspace = 3, monitor:HDMI-A-1, default:true