1
0
Files
dotfiles/.config/hypr/hyprland.conf
T
2024-07-05 18:30:15 +02:00

239 lines
7.4 KiB
Plaintext

$scr_left=DP-2
$scr_right=DP-3
$scr_port=HDMI-A-1
$Mod = SUPER
$launcher = bemenu-run
$record = wf-recorder -c libx264 -g "$(slurp)" -f ~/screenshots/mov-$(date +"%Y-%m-%d--%H-%M-%S.mp4")
$bar = waybar
$wallpaper = swaybg -m fill -i ~/.cache/wallpaper.jpeg
$term = kitty
exec-once = $bar
exec-once = $wallpaper
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
#exec-once = udiskie
exec-once = ~/.config/mako/launch.sh
exec-once = swayidle -w timeout 300 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on && sleep 1 && ~/.scripts/monitor 0 && systemctl --user restart xdg-desktop-portal xdg-desktop-portal-hyprland'
exec-once = ~/.scripts/pushover "I'm on!" "Apocrypha"
source = ~/.config/hypr/monitors.conf
workspace=1,monitor:$scr_left
workspace=2,monitor:$scr_left,default:true
workspace=3,monitor:$scr_right,default:true
workspace=4,monitor:$scr_left
workspace=6,monitor:$scr_port
workspace=7,monitor:$scr_right
workspace=9,monitor:$scr_left
workspace=10,monitor:$scr_right
exec-once = ~/.scripts/monitor 0
source = ~/.cache/wal/hypr-colors.conf
input {
kb_layout = us
kb_variant = intl
numlock_by_default = true
follow_mouse = 1
repeat_delay = 300
repeat_rate = 30
}
general {
gaps_in = 10
gaps_out = 10
border_size = 0
col.active_border = $color4
col.inactive_border = $color0
no_border_on_floating = true
layout = dwindle
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 0
drop_shadow = true
shadow_range = 20
shadow_offset = 0, 0
shadow_render_power = 4
shadow_scale = 1
col.shadow = $color4
col.shadow_inactive = $color0
dim_special = 0.0
blur {
enabled = true
size = 8
passes = 3
noise = 0.0
}
}
# https://wiki.hyprland.org/Configuring/Animations/
animations {
enabled = false
bezier = myBezier, 0.58, 0.9, 0.5, 0.97
bezier = linear, 0.0, 0.0, 1.0, 1.0
bezier = Boing, 0.68, -0.6, 0.32, 1.6
bezier = Boing2, 0.175, 0.885, 0.32, 1.25
bezier = OutEase, 0.16, 1, 0.3, 1
bezier = FadeCurve, 0.98, 0, 0.7, 0.25
animation = global, 1, 10, linear
animation = fade, 1, 3, FadeCurve
animation = fadeSwitch, 1, 5, FadeCurve
animation = fadeIn, 1, 1, FadeCurve
animation = fadeOut, 0, 3, FadeCurve
animation = fadeDim, 1, 20, linear
animation = windows, 0, 10, linear, popin
animation = windowsMove, 1, 3, myBezier, popin
animation = windowsIn, 1, 3, myBezier, popin
animation = borderangle, 1, 100, linear, loop
animation = workspaces, 1, 5, myBezier, fade
}
xwayland {
force_zero_scaling = true
}
# https://wiki.hyprland.org/Configuring/Dwindle-Layout/
dwindle {
pseudotile = yes
preserve_split = yes
force_split = 2
no_gaps_when_only = 0
}
misc {
focus_on_activate = false
disable_hyprland_logo = true
disable_splash_rendering = true
render_ahead_of_time = false
}
# Window rules and bindings
windowrule = idleinhibit focus, mpv
windowrulev2 = opaque, class:mpv
windowrule = idleinhibit fullscreen, firefox
windowrule = float, imv
windowrule = rounding 0, imv
windowrule = workspace 3 silent, discord
windowrule = opacity 0.8, discord
windowrule = workspace 3 silent, vesktop
windowrule = opacity 1.0, vesktop
windowrulev2 = workspace 4 silent,class:^(steam)$
windowrulev2 = noinitialfocus,class:^(steam)$
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
# windowrule = workspace 4 silent, title:None
windowrule = float, Rofi
windowrule = center, Rofi
windowrule = nomaxsize, winecfg.exe
windowrule = rounding 0, pinned:1
# Application Bindings
bind = $Mod, Return, exec, $term
bind = $Mod SHIFT, Return, exec, $term -e python
bind = $Mod, A, exec, $term -e cava
bind = $Mod SHIFT, A, exec, $term -e pulsemixer
bind = $Mod, D, exec, $launcher
bind = $Mod SHIFT, D, exec, vesktop --enable-gpu-rasterization --ozone-platform-hint=auto
bind = $Mod CTRL, D, exec, dolphin
bind = $Mod SHIFT, E, exec, [silent] steam
bind = $Mod, E, exec, thunar
bind = $Mod, I, exec, $term -e btop
bind = $Mod SHIFT, I, exec, $term -e nvim ~/.config/hypr/hyprland.conf
bind = $Mod, N, exec, mozillavpn activate
bind = $Mod SHIFT, N, exec, mozillavpn deactivate
#bind = $Mod, M, exec, pgrep spotifyd || spotifyd
#bind = $Mod, M, exec, $term -e spt
bind = $Mod, M, exec, $term -e ncmpcpp
bind = $Mod, P, exec, pass clip -r
bind = $Mod SHIFT, T, exec, teams
bind = $Mod SHIFT, W, exec, firefox
bind = $Mod CTRL SHIFT, W, exec, firefox -P Shinobi
# Spotify control
bind = $Mod ALT, L, exec, ~/.scripts/mpris.sh next
bind = $Mod ALT, H, exec, ~/.scripts/mpris.sh previous
bind = $Mod ALT, Space, exec, ~/.scripts/mpris.sh play-pause
# Control bindings
bind = $Mod, V, togglesplit
bind = $Mod SHIFT, V, togglegroup
bind = $Mod, F, fullscreen
bind = $Mod SHIFT, F, fullscreen, 1
bind = $Mod CTRL, F, fakefullscreen, 1
bind = $Mod, Space, togglefloating
bind = $Mod SHIFT, Space, pin
bind = $Mod, Q, killactive
bind = $Mod, W, pseudo
bind = $Mod SHIFT, Backspace, exec, swaylock -f -C ~/.cache/wal/swaylock
bind = $Mod SHIFT CTRL, Backspace, exit
bind = $Mod, O, exec, ~/.scripts/wallpaper; $bar
bind = $Mod SHIFT, O, exec, ~/.scripts/wallpaper-upload
bind = $Mod, B, exec, killall -9 waybar; $bar
bind = $Mod SHIFT, X, exec, hyprctl dispatch dpms off
bind = $Mod, X, exec, sleep 1 && hyprctl dispatch dpms off && sleep 1 && hyprctl dispatch dpms on
bind = , Print, exec, grim -g "$(slurp)" - | wl-copy
bind = CTRL, Print, exec, grim -g "$(slurp)" ~/screenshot.png && notify-send -i ~/screenshot.png "Screenshot saved"
bindr = CTRL SHIFT, Print, exec, killall -s SIGINT wf-recorder || $record
bind = SHIFT, Print, exec, grim -g "$(slurp)" - | swappy -f -
bind = $Mod, T, exec, grim -g "$(slurp)" ~/screenshot.png && tesseract ~/screenshot.png stdout | wl-copy
bind = $Mod, h, movefocus, l
bind = $Mod, l, movefocus, r
bind = $Mod, k, movefocus, u
bind = $Mod, j, movefocus, d
bind = $Mod SHIFT, h, movewindow, l
bind = $Mod SHIFT, l, movewindow, r
bind = $Mod SHIFT, k, movewindow, u
bind = $Mod SHIFT, j, movewindow, d
binde = $Mod CTRL, h, resizeactive, -20 0
binde = $Mod CTRL, l, resizeactive, 20 0
binde = $Mod CTRL, k, resizeactive, 0 -20
binde = $Mod CTRL, j, resizeactive, 0 20
bind = $Mod CTRL SHIFT, h, movecurrentworkspacetomonitor, $scr_left
bind = $Mod CTRL SHIFT, l, movecurrentworkspacetomonitor, $scr_right
bind = $Mod, 1, workspace, 1
bind = $Mod, 2, workspace, 2
bind = $Mod, 3, workspace, 3
bind = $Mod, 4, workspace, 4
bind = $Mod, 5, workspace, 5
bind = $Mod, 6, workspace, 6
bind = $Mod, 7, workspace, 7
bind = $Mod, 8, workspace, 8
bind = $Mod, 9, workspace, 9
bind = $Mod, 0, workspace, 10
bind = $Mod SHIFT, 1, movetoworkspacesilent, 1
bind = $Mod SHIFT, 2, movetoworkspacesilent, 2
bind = $Mod SHIFT, 3, movetoworkspacesilent, 3
bind = $Mod SHIFT, 4, movetoworkspacesilent, 4
bind = $Mod SHIFT, 5, movetoworkspacesilent, 5
bind = $Mod SHIFT, 6, movetoworkspacesilent, 6
bind = $Mod SHIFT, 7, movetoworkspacesilent, 7
bind = $Mod SHIFT, 8, movetoworkspacesilent, 8
bind = $Mod SHIFT, 9, movetoworkspacesilent, 9
bind = $Mod SHIFT, 0, movetoworkspacesilent, 10
bind = $Mod SHIFT, F1, exec, ~/.scripts/monitor 0
bind = $Mod SHIFT, F2, exec, ~/.scripts/monitor 1
bind = $Mod, minus, togglespecialworkspace
bind = $Mod SHIFT, minus, movetoworkspace, special
bindm = $Mod, mouse:272, movewindow #LMB
bindm = $Mod, mouse:273, resizewindow #RMB