Files
dotfiles/.config/hypr/hyprland.conf
nub31 0414ccd80d ...
2026-01-05 16:31:37 +01:00

218 lines
4.8 KiB
Plaintext

# https://wiki.hyprland.org/Configuring/
source = monitors.conf
$scritps = ~/.config/hypr/scripts
exec-once = mako &
exec-once = nm-applet &
exec-once = waybar &
exec-once = hyprpaper
exec-once = systemctl --user start hyprpolkitagent
exec-once = hyprpm reload -n
exec-once = sleep 1 && $scritps/random_wallpaper.sh
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = HYPRCURSOR_THEME,Bibata-Modern-Ice
general {
gaps_in = 5
gaps_out = 10
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
allow_tearing = true
layout = dwindle
}
decoration {
rounding = 10
rounding_power = 2
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
blur {
enabled = false
size = 3
passes = 1
vibrancy = 0.1696
}
}
animations {
enabled = false
}
dwindle {
pseudotile = true
preserve_split = true
}
master {
new_status = master
}
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = us,no
kb_options = grp:win_space_toggle
kb_variant =
kb_model =
kb_rules =
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
accel_profile = flat
touchpad {
natural_scroll = false
}
}
# https://wiki.hyprland.org/Configuring/Binds/
$terminal = ghostty
$files = thunar
$menu = hyprlauncher
$browser = librewolf
$code = code
$lock = hyprlock
$colorPicker = hyprpicker -a -f hex -r -n -q
$screenshot = slurp | grim -g - - | wl-copy
$mainMod = SUPER
# Programs
bind = $mainMod, E, exec, $files
bind = $mainMod, R, exec, $menu
bind = $mainMod, B, exec, $browser
bind = $mainMod, L, exec, $lock
bind = $mainMod, C, exec, $code
bind = $mainMod SHIFT, C, exec, $colorPicker
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod SHIFT, E, exit
bind = $mainMod SHIFT, S, exec, $screenshot
# Window control
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, E, exit,
bind = $mainMod, W, togglefloating,
bind = $mainMod, F, fullscreen,
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
plugin {
split-monitor-workspaces {
count = 3
keep_focused = 0
enable_notifications = 1
enable_persistent_workspaces = 1
}
}
$mainMod = SUPER
# Switch workspaces with mainMod + [0-5]
bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5
# Move active window to a workspace with mainMod + SHIFT + [0-5]
bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5
# 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 s 10%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
workspace = w[tv1], gapsout:0, gapsin:0
workspace = f[1], gapsout:0, gapsin:0
# https://wiki.hypr.land/Configuring/Window-Rules/
windowrule {
name = no-gaps-wtv1
match:float = false
match:workspace = w[tv1]
border_size = 0
rounding = 0
}
windowrule {
name = no-gaps-f1
match:float = false
match:workspace = f[1]
border_size = 0
rounding = 0
}
windowrule {
# Ignore maximize requests from all apps. You'll probably like this.
name = suppress-maximize-events
match:class = .*
suppress_event = maximize
}
windowrule {
# Fix some dragging issues with XWayland
name = fix-xwayland-drags
match:class = ^$
match:title = ^$
match:xwayland = true
match:float = true
match:fullscreen = false
match:pin = false
no_focus = true
}
# Hyprland-run windowrule
windowrule {
name = move-hyprland-run
match:class = hyprland-run
move = 20 monitor_h-120
float = yes
}