Files
dotfiles/hypr/hyprland.conf

182 lines
4.7 KiB
Plaintext

source = ~/.config/hypr/hardware.conf
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/hyprcolors.conf
monitor = , preferred, auto, 1.0
monitor = , addreserved, 36, 0, 0, 0
# Run stuff on launch
env = PATH, $PATH:$HOME/.local/bin:$HOME/.cargo/bin
exec-once = hyprlock
exec-once = hypridle
exec-once = nextcloud
exec-once = /lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = keyd-application-mapper -d
exec-once = ags run
exec-once = hyprpm reload
exec-once = tradjust
exec-once = swww-daemon
# Theming with envvars for some reason
env = XCURSOR_SIZE, 22
env = XCURSOR_THEME, GoogleDot-Black
env = HYPRCURSOR_SIZE, 22
env = HYPRCURSOR_THEME, GoogleDot-Hypr
envd = GTK_THEME, catppuccin-mocha-blue-standard+default
env = GTK_ICON_THEME, BeautyLine
envd = QT_QUICK_CONTROLS_STYLE=org.hyprland.style
envd = QT_QPA_PLATFORMTHEME,qt6ct
# envd = QT_STYLE_OVERRIDE,kvantum
env = QT_QPA_PLATFORM,wayland;xcb
env = FREETYPE_PROPERTIES,cff:no-stem-darkening=0 autofitter:no-stem-darkening=0
# Mouse and keyboard settings
input {
kb_layout = us
kb_variant = dvorak
repeat_delay = 600
touchpad {
natural_scroll = true
}
}
# Disable the trackpad in favour of thinkpad nub
general {
gaps_in = 3
gaps_out = 6
col.active_border = $primary
col.inactive_border = $primary_container
border_size = 2
layout = dwindle
no_focus_fallback = true
}
decoration {
rounding = 10
# active_opacity = 0.9
# inactive_opacity = 0.92
# fullscreen_opacity = 1.0
blur {
enabled = true
size = 6
passes = 3
new_optimizations = true
ignore_opacity = true
special = true
brightness = 1
xray = false;
}
}
workspace = special:special, gapsin:32, gapsout:64
animations {
enabled = yes
bezier = default , 0.16, 1 , 0.30, 1
bezier = easeOut , 0.22, 1 , 0.36, 1
bezier = easeIn , 0.64, 0 , 0.78, 0
animation = fadeIn , 1, 4, default
animation = fadeOut , 1, 3, default
animation = windowsIn , 1, 4, default, popin 85%
animation = windowsOut , 1, 4, default, popin 85%
animation = windowsMove , 1, 3, easeOut
animation = border , 1, 5, default
animation = layersIn , 1, 3, easeOut, slide
animation = layersOut , 1, 2, easeIn, slide
animation = fadeLayersIn , 1, 3, easeOut
animation = fadeLayersOut , 1, 2, easeIn
animation = workspaces , 1, 3, easeOut, slide
animation = specialWorkspace , 1, 4, default, slidevert
animation = zoomFactor , 1, 3, default
}
dwindle {
preserve_split = true
smart_split = false
use_active_for_splits = true
force_split = 2
}
plugin {
hyprexpo {
columns = 3
gap_size = 5
bg_col = rgb(111111)
workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1
enable_gesture = true # laptop touchpad
gesture_fingers = 3 # 3 or 4
gesture_distance = 300 # how far is the "max"
gesture_positive = true # positive = swipe down. Negative = swipe up.
}
#dynamic-cursors {
# enabled = true
# mode = stretch
# stretch {
# limit = 3000
# function = linear
# }
#}
}
# Smart gaps
workspace = w[tv1] s[false], gapsout:0, gapsin:0
workspace = s[true], gapsout:64, gapsin:32
windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] s[false]
# The bell doesn't fullscreen you, I do.
windowrulev2 = suppressevent fullscreen, class:.*
# Misc window rules
windowrulev2 = float, title:(Write:)
windowrulev2 = float, class:(xdg-desktop-portal-gtk)
windowrulev2 = noblur, title:(File Upload)
windowrulev2 = noblur, title:(Open File)
windowrulev2 = float, center, class:(eog)
windowrulev2 = fullscreen, class:steam_app*
# Misc layer rules
layerrule = animation slide, .*bar.*
layerrule = blur, logout_dialog
layerrule = animation fade, logout_dialog
layerrule = animation fade, selection
layerrule = animation fade, hyprpicker
layerrule = animation popin 40%, lazerpopup
layerrule = noanim, notification
layerrule = dimaround, notifpanel
layerrule = order 1, bar
layerrule = order 2, lazerpopup
layerrule = order 3, notifpanel
layerrule = order 4, notification
source = ~/.config/hypr/hyprbinds.conf
misc {
disable_hyprland_logo = true
animate_manual_resizes = true
disable_splash_rendering = false
new_window_takes_over_fullscreen = 2
key_press_enables_dpms = true
focus_on_activate = true
session_lock_xray = true
animate_manual_resizes = true
}
cursor {
persistent_warps = true
}
xwayland {
force_zero_scaling = true
}