punktdateien/hypr/hyprland.conf

219 lines
5.8 KiB
Text

# JeremyStarTM's Hyprland configuration
###############################
### CONFIGURATION VARIABLES ###
###############################
# User directory
$dirHome = /home/jeremystartm/
$dirHypr = $dirHome/.config/hypr/
# Settings
# -> Keyboard
$settingsKeyboardNumlock = 0
$settingsKeyboardLayout = de
$settingsKeyboardVariant =
# -> Mouse
$settingsMouseLefthanded = 0
$settingsMouseSensitivity = 0
$settingsMouseFocusFollow = 1
# -> Tablet
$settingsTabletMonitor = DP-1
$settingsTabletRegionPosition = 0 0
$settingsTabletRegionSize = 2560 1440
$settingsTabletRelative = 0
$settingsTabletRotated = 0
# -> etc
$settingsCursorSize = 24
$settingsEnableResizeOnBorder = 0
$settingsEnableTearing = 1
$settingsEnableNoDirectScanout = 1
$settingsEnableShadows = 1
$settingsEnableBlur = 1
$settingsEnableAnimations = 1
# Programs
$programsTerminal = konsole
$programsFM = dolphin
$programsBrowser = librewolf
$programsMenu = j4-dmenu-desktop --dmenu=launch-menu
$programsNotiDaemon = fnott
$programsAuthAgent = /usr/lib/polkit-kde-authentication-agent-1
$programsBar = waybar
# Application startup
# -> Hypr stuff
exec=pkill -9 hyprpaper; hyprpaper
# -> Programs
exec=pkill -9 $programsNotiDaemon; $programsNotiDaemon
exec=pkill -9 $programsAuthAgent; $programsAuthAgent
exec=pkill -9 $programsBar; $programsBar
# -> Clipboard
exec=pkill -9 wl-paste
exec=wl-paste --type text --watch cliphist store
exec=wl-paste --type image --watch cliphist store
# -> Screen sharing
exec=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# -> Jobrunner
exec=if [ -f /tmp/jobrunner/jobrunner.pid ]; then echo EXIT > /tmp/jobrunner/jobrunner.cmd; sleep 1s; fi; exec $dirHome/.local/bin/jobrunner
# -> Autostart
exec-once=$dirHypr/scripts.d/autostart.sh
# Env
# -> Cursor
env = XCURSOR_SIZE,$settingsCursorSize
env = HYPRCURSOR_SIZE,$settingsCursorSize
# -> XDG
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
# -> Qt
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_QPA_PLATFORMTHEME,qt6ct
# -> Enforce wayland backends
env = QT_QPA_PLATFORM,wayland;xcb
env = GTK_BACKEND,wayland,x11,*
env = SDL_VIDEODRIVER,wayland,x11
env = CLUTTER_BACKEND,wayland
env = ELECTRON_OZONE_PLATFORM_HINT=wayland
# HYPRLAND CONFIGURATION OPTIONS
# -> Bindings
# --> Programs
bind = SUPER, SUPER_L, exec, $programsMenu
bind = SUPER, V, exec, cliphist list | launch-menu | cliphist decode | wl-copy
bind = SUPER, A, exec, $programsTerminal
bind = SUPER, S, exec, $programsFM
bind = SUPER, D, exec, $programsBrowser
# --> Window size/position manipulation
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
# --> Window state
bind = SUPER, TAB, exec, hyprctl kill
bind = SUPER, Q, exec, $dirHypr/scripts.d/kill-active.sh
bind = SUPER, W, togglefloating
bind = SUPER, F, fullscreen
# --> Special workspace
bind = SUPER, E, togglespecialworkspace, magic
bind = SUPER, Y, movetoworkspace, special:magic
bind = SUPER_SHIFT, Y, movetoworkspace, 0
# --> Session management
bindt = SUPER_SHIFT, Q, exit
bindt = SUPER_SHIFT, W, exec, poweroff
bindt = SUPER_SHIFT, E, exec, reboot
# -> Media keys
# --> Increase
binde = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1%
binde = SHIFT, XF86AudioRaiseVolume, exec, pactl set-source-volume @DEFAULT_SOURCE@ +1%
# --> Decrease
binde = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1%
binde = SHIFT, XF86AudioLowerVolume, exec, pactl set-source-volume @DEFAULT_SOURCE@ -1%
# --> Mute
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
bind = SHIFT, XF86AudioMute, exec, pactl set-source-mute @DEFAULT_SOURCE@ toggle
# -> Window rules
# --> Supress 'maximize'
windowrulev2 = suppressevent maximize, class:.*
# --> Fix for XWaylandVideoBridge
windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
# -> etc
general {
border_size = 2
no_border_on_floating = false
gaps_in = 10
gaps_out = 20
gaps_workspaces = 0
col.inactive_border = 0xffd60532 0xff6931fe 0
col.active_border = 0xffffffff
col.nogroup_border = 0xff000000
col.nogroup_border_active = 0xffffffff
layout = dwindle
no_focus_fallback = true
resize_on_border = $settingsEnableResizeOnBorder
allow_tearing = $settingsEnableTearing
}
decoration {
rounding = 8
active_opacity = 1
inactive_opacity = 0.95
fullscreen_opacity = 1
drop_shadow = $settingsEnableShadows
shadow_range = 4
dim_inactive = 1
dim_strength = 0.05
dim_special = 0.5
blur {
enabled = $settingsEnableBlur
ignore_opacity = 1
xray = 1
noise = 0.03 # increased noise value for a slightly more "rough" look
}
}
animations {
enabled = $settingsEnableAnimations
}
input {
kb_layout = $settingsKeyboardLayout
kb_variant = $settingsKeyboardVariant
follow_mouse = $settingsMouseFocusFollow
numlock_by_default = $settingsKeyboardNumlock
left_handed = $settingsMouseLefthanded
sensitivity = $settingsMouseSensitivity
touchpad {
disable_while_typing = false
}
tablet {
output = $settingsTabletMonitor
region_position = $settingsTabletRegionPosition
region_size = $settingsTabletRegionSize
relative_input = $settingsTabletRelative
left_handed = $settingsTabletRotated
}
}
gestures {
workspace_swipe = 0
}
misc {
disable_hyprland_logo = 0
disable_splash_rendering = 0
force_default_wallpaper = 2
font_family = Fira Code
splash_font_family = Jost
vrr = 0
animate_manual_resizes = 1
animate_mouse_windowdragging = 1
disable_autoreload = 0
focus_on_activate = 0
no_direct_scanout = $settingsEnableNoDirectScanout
}
# -> Include external configuration files
source=hyprland.conf.d/*.conf