Files
hotfiles/.config/hypr/hyprland.conf
2025-04-07 23:41:20 +02:00

242 lines
6.4 KiB
Plaintext

# This is an example Hyprland config file.
# Syntax is the same as in Hypr, but settings might differ.
#
# Refer to the wiki for more information.
source=./monitors.conf
#workspace=DP-1,1
workspace=1, m:DP-1
workspace=2, m:DP-1
workspace=3, m:DP-1
workspace=4, m:DP-1
workspace=5, m:DP-1
workspace=6, m:DP-3
workspace=7, m:DP-3
workspace=8, m:DP-3
workspace=9, m:DP-3
workspace=10, m:DP-3
input {
kb_layout=pl
kb_variant=
kb_model=
kb_options=
kb_rules=
numlock_by_default=true
follow_mouse=1
touchpad {
natural_scroll=true
tap-and-drag=false
}
}
general {
#max_fps=60 # deprecated, unused
#main_mod=SUPER
gaps_in=5
gaps_out=20
border_size=2
col.active_border=0x66ee1111
col.inactive_border=0x66333333
resize_on_border=true
#damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
}
gestures {
workspace_swipe=true
workspace_swipe_touch=true
}
decoration {
rounding=10
blur {
enabled=1
size=3 # minimum 1
passes=3 # minimum 1, more passes = more resource intensive.
}
# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts.
# if you want heavy blur, you need to up the blur_passes.
# the more passes, the more you can up the blur_size without noticing artifacts.
}
dwindle {
pseudotile=0 # enable pseudotiling on dwindle
}
misc {
force_default_wallpaper=0
vrr=1
enable_anr_dialog=0
}
# example window rules
# for windows named/classed as abc and xyz
#windowrule=move 69 420,abc
#windowrule=size 420 69,abc
#windowrule=tile,xyz
#windowrule=float,abc
#windowrule=pseudo,abc
#windowrule=monitor 0,xyz
# example binds
bind=SUPERSHIFT,Z,exec,alacritty
bind=SUPER,Z,exec,wezterm
bind=SUPER,X,killactive,
bind=SUPER_SHIFT,X,exec,hyprctl activewindow |grep pid |tr -d 'pid:'|xargs kill
bind=SUPER_SHIFT,Q,exit,
bind=SUPER,E,exec,nemo
bind=SUPERSHIFT,E,exec,wezterm -e ranger
bind=SUPER,F,fullscreen,1
bind=SUPERSHIFT,F,fullscreen,0
bind=SUPERSHIFT,L,exec,hyprlock
bind=SUPER,T,togglefloating,
bind=SUPER,R,exec,wofi --show drun -o DP-3
bind=SUPER,P,pseudo,
bind=SUPER,SPACE,exec,rofi -modi drun,run,window,calc -show drun
bind=SUPER,C,pin
bind=SUPER,left,movefocus,l
bind=SUPER,right,movefocus,r
bind=SUPER,up,movefocus,u
bind=SUPER,down,movefocus,d
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
bind=SUPER,1,workspace,1
bind=SUPER,2,workspace,2
bind=SUPER,3,workspace,3
bind=SUPER,4,workspace,4
bind=SUPER,5,workspace,5
bind=SUPER,6,workspace,6
bind=SUPER,7,workspace,7
bind=SUPER,8,workspace,8
bind=SUPER,9,workspace,9
bind=SUPER,0,workspace,10
bind=SUPER_SHIFT,1,movetoworkspacesilent,1
bind=SUPER_SHIFT,2,movetoworkspacesilent,2
bind=SUPER_SHIFT,3,movetoworkspacesilent,3
bind=SUPER_SHIFT,4,movetoworkspacesilent,4
bind=SUPER_SHIFT,5,movetoworkspacesilent,5
bind=SUPER_SHIFT,6,movetoworkspacesilent,6
bind=SUPER_SHIFT,7,movetoworkspacesilent,7
bind=SUPER_SHIFT,8,movetoworkspacesilent,8
bind=SUPER_SHIFT,9,movetoworkspacesilent,9
bind=SUPER_SHIFT,0,movetoworkspacesilent,10
bind=SUPERSHIFT,S,exec,flameshot gui
bind = SUPER, V, exec, nwg-clipman
# T14gen2 FN KEYS
bind=,XF86AudioMicMute,exec,amixer set Capture toggle
bind=,XF86AudioMute,exec,amixer set Master toggle
bind=,XF86AudioRaiseVolume,exec,amixer set Master playback 5%+
bind=,XF86AudioLowerVolume,exec,amixer set Master playback 5%-
bind=,XF86MonBrightnessUp,exec,xbacklight -inc 5
bind=,XF86MonBrightnessDown,exec,xbacklight -dec 5
# FN + RSHIFT
bind=,XF86Launch3,exec,touch-mode
bind=CTRL,XF86Launch3,exec,hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1"
bind=SHIFT,XF86Launch3,exec,hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5"
bind=SHIFT,XF86MonBrightnessDown,exec,xbacklight -set 0.01
bind=SHIFT,XF86MonBrightnessUp,exec,xbacklight -set 100
exec-once=dash ~/.config/hypr/autostart.sh
exec-once=hyprctl setcursor Vimix-white-cursors 24
# exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
windowrulev2 = pin,class:^(scrcpy)$
windowrulev2 = move onscreen 100%-30,class:^(scrcpy)$
windowrulev2 = stayfocused,title:^rofi
windowrulev2 = float,class:^(flameshot)$
windowrulev2 = pin,class:^(flameshot)$
windowrulev2 = opacity 0.0 override 0.0 override,title:^(.+Espanso Sync Tool.+)$
windowrulev2 = float,title:^(Espanso Sync Tool)$
windowrulev2 = size 0.1 0.1,title:^(Espanso Sync Tool)$
windowrulev2 = move 100% 100%,title:^(Espanso Sync Tool)$
windowrulev2 = noblur,title:^(Espanso Sync Tool)$
# Envars; to play along with wayland nicely
env = QT_QPA_PLATFORM,wayland;xcb
env = CLUTTER_BACKEND,wayland
env = GDK_BACKEND,wayland,x11
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORMTHEME,qt5ct
env = XDG_CURRENT_DESKTOP,Hyprland
plugin {
hyprbars {
# example config
bar_height = 20
# example buttons (R -> L)
# hyprbars-button = color, size, on-click
bar_color = rgb(000000)
hyprbars-button = rgb(ff4040), 10, 󰖭, hyprctl dispatch killactive
hyprbars-button = rgb(eeee11), 10, , hyprctl dispatch fullscreen 1
hyprbars-button = rgb(11ee11), 10, ¥, hyprctl dispatch togglefloating
}
hyprfocus {
enabled = yes
focus_animation = shrink
bezier = bezIn, 0.5,0.0,1.0,0.5
bezier = bezOut, 0.0,0.5,0.5,1.0
flash {
flash_opacity = 0.7
in_bezier = bezIn
in_speed = 0.5
out_bezier = bezOut
out_speed = 3
}
shrink {
shrink_percentage = 0.98
in_bezier = bezIn
in_speed = 0.5
out_bezier = bezOut
out_speed = 3
}
}
hyprtrails {
color = rgba(ff0000ff)
}
hyprexpo {
columns = 3
gap_size = 5
bg_col = rgb(111111)
workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1
enable_gesture = true # laptop touchpad, 4 fingers
gesture_distance = 300 # how far is the "max"
gesture_positive = true # positive = swipe down. Negative = swipe up.
}
}
#exec-once = hyprpm reload -n