Hyprland and co.

This commit is contained in:
2026-02-01 23:18:04 +01:00
parent af0053b08b
commit b0e31c7ca1
12 changed files with 361 additions and 143 deletions

View File

@@ -1,84 +1,82 @@
# vim: set filetype=hyprlang :
# 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
#workspace=1, monitor:DP-1
#workspace=2, monitor:DP-1
#workspace=3, monitor:DP-1
#workspace=4, monitor:DP-1
#workspace=5, monitor:DP-1
#workspace=6, monitor:DP-3
#workspace=7, monitor:DP-3
#workspace=8, monitor:DP-3
#workspace=9, monitor:DP-3
#workspace=10, monitor: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
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
}
}
device {
name=ploopy-corporation-ploopy-adept-trackball-mouse
#accel_profile=custom 10 0.0 1.0 2.0 4.0
sensitivity=-1
}
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
$main_mod=SUPER
gaps_in=5
gaps_out=20
border_size=2
col.active_border=0x66ee1111
col.inactive_border=0x66333333
resize_on_border=false
#damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer
}
gestures {
workspace_swipe=true
#workspace_swipe=true
workspace_swipe_touch=true
}
decoration {
rounding=10
rounding=10
blur {
enabled=1
size=3 # minimum 1
passes=3 # minimum 1, more passes = more resource intensive.
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
pseudotile=1 # enable pseudotiling on dwindle
}
#debug {
# full_cm_proto=true
#}
misc {
force_default_wallpaper=0
vrr=1
enable_anr_dialog=0
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,
@@ -118,6 +116,20 @@ bind=SUPER,8,workspace,8
bind=SUPER,9,workspace,9
bind=SUPER,0,workspace,10
bind=SUPER_ALT,1,workspace,11
bind=SUPER_ALT,2,workspace,12
bind=SUPER_ALT,3,workspace,13
bind=SUPER_ALT,4,workspace,14
bind=SUPER_ALT,5,workspace,15
bind=SUPER_ALT,6,workspace,16
bind=SUPER_ALT,7,workspace,17
bind=SUPER_ALT,8,workspace,18
bind=SUPER_ALT,9,workspace,19
bind=SUPER_ALT,0,workspace,20
bind=SUPER_SHIFT,1,movetoworkspacesilent,1
bind=SUPER_SHIFT,2,movetoworkspacesilent,2
bind=SUPER_SHIFT,3,movetoworkspacesilent,3
@@ -129,6 +141,19 @@ bind=SUPER_SHIFT,8,movetoworkspacesilent,8
bind=SUPER_SHIFT,9,movetoworkspacesilent,9
bind=SUPER_SHIFT,0,movetoworkspacesilent,10
bind=SUPER_ALT_SHIFT,1,movetoworkspacesilent,11
bind=SUPER_ALT_SHIFT,2,movetoworkspacesilent,12
bind=SUPER_ALT_SHIFT,3,movetoworkspacesilent,13
bind=SUPER_ALT_SHIFT,4,movetoworkspacesilent,14
bind=SUPER_ALT_SHIFT,5,movetoworkspacesilent,15
bind=SUPER_ALT_SHIFT,6,movetoworkspacesilent,16
bind=SUPER_ALT_SHIFT,7,movetoworkspacesilent,17
bind=SUPER_ALT_SHIFT,8,movetoworkspacesilent,18
bind=SUPER_ALT_SHIFT,9,movetoworkspacesilent,19
bind=SUPER_ALT_SHIFT,0,movetoworkspacesilent,20
bind=SUPERSHIFT,S,exec,flameshot gui
bind=,PRINT,exec,flameshot full
bind=CTRL,PRINT,exec,flameshot gui
@@ -146,35 +171,63 @@ 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=,XF86Launch6,exec,equibop --toggle-mic
bind=,mouse:282,exec,equibop --toggle-mic
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=hyprctl setcursor Posy_Cursor 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
exec-once = carla -n ~/Default.carxp
windowrule {
name = flameshot-main
match:title = ^(flameshot)$
float = on
pin = on
fullscreen = on
maximize = on
#center = on
#monitor = 3
size = monitor_w*2 monitor_h*1
move = 0 0
}
windowrule {
name = flameshot-pin
match:title = ^(flameshot-pin)$
float = on
pin = on
pseudo = on
#fullscreen = on
#maximize = on
#center = on
#monitor = 3
#size = monitor_w*2 monitor_h*1
#move = 0 0
}
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
windowrule {
name=xwaylandvideobridge-hide
match:class = ^(xwaylandvideobridge)$
float = on
#fullscreen = on
#maximize = on
#center = on
#monitor = 3
#size = monitor_w*2 monitor_h*1
#move = 0 0
opacity = 0.0 0.0 0.0
no_focus = on
no_blur = on
no_initial_focus = on
}
windowrule = no_initial_focus on,match:class ^(com-eteks-sweethome3d-SweetHome3D)$
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)$
windowrule = stay_focused on,match:title ^rofi
# Envars; to play along with wayland nicely
@@ -185,59 +238,6 @@ 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
source=plugins.conf
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