1
0
Files
dotfiles/.config/hypr/hyprland.conf
T
2024-02-16 21:42:53 +01:00

243 lines
7.4 KiB
Plaintext

$scr_left=DP-2
$scr_right=DP-3
$scr_port=HDMI-A-1
$Mod = SUPER
# $launcher = rofi -show drun
$launcher = bemenu-run
$record = wf-recorder -c libx264 -g "$(slurp)" -f ~/screenshots/mov-$(date +"%Y-%m-%d--%H-%M-%S.mp4")
$bar = waybar -c ~/.config/waybar/hypr-config
$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'
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
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = us
kb_variant = intl
numlock_by_default = true
follow_mouse = 2
repeat_delay = 300
repeat_rate = 30
#tablet {
#relative_input = true
#}
}
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 10
gaps_out = 10
border_size = 4
col.active_border = $color4 $color0 $color4 45deg
col.inactive_border = $color0
no_border_on_floating = true
no_cursor_warps = true
layout = dwindle
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 20
active_opacity = 1.0
inactive_opacity = 0.8
blur {
enabled = true
size = 4
passes = 4
noise = 0
contrast = 1.4
brightness = 0.8
vibrancy = 1.0
vibrancy_darkness = 0.1
ignore_opacity = true
}
drop_shadow = false
}
# https://wiki.hyprland.org/Configuring/Animations/
animations {
enabled = yes
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
vfr = 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.9 0.9, discord
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, A, exec, $term -e cava
bind = $Mod SHIFT, A, exec, $term -e pulsemixer
bind = $Mod, D, exec, $launcher
bind = $Mod SHIFT, D, exec, discord --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