Update Hypr* configs

This commit is contained in:
JeremyStar™ 2024-06-02 17:16:50 +02:00
parent f465ce7bf0
commit ed501b5a01
Signed by: JeremyStarTM
GPG key ID: E366BAEF67E4704D
16 changed files with 231 additions and 256 deletions

View file

@ -0,0 +1 @@
monitor=,preferred,auto,auto

View file

@ -1,2 +0,0 @@
monitor=DP-1, 2560x1440, 0x0, 1
monitor=HDMI-A-1, 1920x1080, 2560x0, 1

View file

@ -1,193 +1,219 @@
# -> Variables
# --> File system
$FS_HOME = /home/jeremystartm
$FS_HYPR = $FS_HOME/.config/hypr/
# --> Applications
$APP_TERMINAL = konsole
$APP_FM = dolphin
$APP_MENU = krunner
# --> Input settings
$INPUT_LAYOUT = de
$INPUT_VARIANT =
$INPUT_MODEL =
$INPUT_OPTIONS = ctrl:nocaps
$INPUT_RULES =
$INPUT_FOLLOW_MOUSE = 1
$INPUT_TOUCHPAD_NATURAL_SCROLL = 1
# --> Theming
$THEMING_CURSOR_SIZE=24
$THEMING_CURSOR_THEME=Posy_Cursor
# JeremyStarTM's Hyprland configuration
# -> Include other configs
source=$FS_HYPR/config.d/monitors.conf
###############################
### CONFIGURATION VARIABLES ###
###############################
# User directory
$dirHome = /home/jeremystartm/
$dirHypr = $dirHome/.config/hypr/
# -> Configuration
# --> Update flatpak permissions
exec-once = flatpak override --env=~/.themes:ro --env=~/.icons:ro --user
# --> Update cursor
env = XCURSOR_SIZE,$THEMING_CURSOR_SIZE
env = XCURSOR_THEME,$THEMING_CURSOR_THEME
# --> Set desktop
# 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_DESKTOP,Hyprland
# --> Enable/force wayland support
env = XDG_SESSION_TYPE,wayland
env = GDK_BACKEND,wayland,x11
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 = QT_QPA_PLATFORM,wayland;xcb
# --> Set platform theme
env = QT_QPA_PLATFORMTHEME,qt6ct
# --> Disable title bars
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = ELECTRON_OZONE_PLATFORM_HINT=wayland
input {
sensitivity = 0
kb_layout = $INPUT_LAYOUT
kb_variant = $INPUT_VARIANT
kb_model = $INPUT_MODEL
kb_options = $INPUT_OPTIONS
kb_rules = $INPUT_RULES
follow_mouse = $INPUT_FOLLOW_MOUSE
touchpad {
natural_scroll = $INPUT_TOUCHPAD_NATURAL_SCROLL
}
}
# 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 {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
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 {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10
blur {
enabled = true
size = 3
passes = 1
}
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
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 = yes
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
enabled = $settingsEnableAnimations
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = true
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 {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = off
workspace_swipe = 0
}
misc {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
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
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
device {
name = epic-mouse-v1
sensitivity = -0.5
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# -> Include external configuration files
source=conf.d/monitors.conf

7
hypr/hyprpaper.conf Normal file
View file

@ -0,0 +1,7 @@
preload = wallpapers.d/old-hyprland-anime.png
wallpaper = DP-1,wallpapers.d/old-hyprland-anime.png
wallpaper = HDMI-A-1,wallpapers.d/old-hyprland-anime.png
splash = 0
ipc = 0

4
hypr/nvidia.conf Normal file
View file

@ -0,0 +1,4 @@
# NVIDIA Compatibility configuration file
# Execute this command for NVIDIA graphics card
# compatibility (will cause issues on non-NVIDIA):
# cp ~/.config/hypr/nvidia.conf.disabled ~/.config/hypr/nvidia.conf

View file

@ -0,0 +1,9 @@
# NVIDIA Compatibility configuration file
# See https://wiki.hyprland.org/Nvidia/ for what
# packages to install (or stuff might break!).
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = LIBVA_DRIVER_NAME,nvidia
env = __GL_VRR_ALLOWED,0
env = NVD_BACKEND,direct

10
hypr/scripts.d/autostart.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/bash
# Autostart script
# Programs here
# Append ' &' to all of them
companion &
# Wait for all tasks to finish
# Do not remove this.
wait

6
hypr/scripts.d/kill-active.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
if [ "$(hyprctl activewindow -j | jq -r ".class")" = "Steam" ]; then
xdotool getactivewindow windowunmap
else
hyprctl dispatch killactive ""
fi

View file

@ -1,9 +0,0 @@
#!/bin/bash
function open_windows() {
sleep 1s # wait for the daemon to initialize
eww open sysinfo &>> /tmp/logs/eww.log # open the "sysinfo" window
}
pkill -x -9 eww # kill all running eww instances
open_windows & # call open_windows function, parallel execution
eww daemon --no-daemonize --config "${CONFIG_DIR}" &> /tmp/logs/eww.log # execute eww daemon in foreground

View file

@ -1,5 +0,0 @@
#!/bin/bash
#export "GTK_DEBUG=interactive" # uncomment for gtk debugger
pkill -x -9 waybar &> /tmp/logs/waybar.log # kill any running waybar instances
waybar --config "${CONFIG_DIR}"/config --style "${CONFIG_DIR}"/style.css -l info &>> /tmp/logs/waybar.log # start waybar

View file

@ -1,6 +0,0 @@
#!/bin/bash
if [ "$(hyprctl activewindow -j | jq -r ".class")" = "Steam" ]; then # check if program is problematic
xdotool getactivewindow windowunmap # workaround, if matching
else
hyprctl dispatch killactive "" # kill window if not problematic
fi

View file

@ -1,32 +0,0 @@
#!/bin/bash
function fancy() {
case ${FANCY} in
"0")
echo "> fancy is set to zero, disabling effects"
hyprctl --batch " \
keyword animations:enabled false; \
keyword decoration:dim_inactive false; \
keyword decoration:drop_shadow false; \
keyword decoration:inactive_opacity 1; \
keyword decoration:blur:enabled false;"
;;
"1")
echo "> fancy is set to one, doing nothing"
;;
"2")
echo "> fancy is set to two, enabling effects"
hyprctl --batch " \
keyword animations:enabled true; \
keyword decoration:dim_inactive true; \
keyword decoration:drop_shadow true; \
keyword decoration:inactive_opacity 0.9; \
keyword decoration:blur:enabled true;"
;;
*)
echo "> unknown fancy level \"${FANCY}\", doing nothing"
;;
esac
}
fancy &> /tmp/logs/fancy.log

View file

@ -1,6 +0,0 @@
#!/bin/bash
pkill -9 hyprpaper &> /tmp/logs/hyprpaper.log # kill all running instances of hyprpaper
if [ "${SWI}" == "true" ]; then
hyprpaper --config "${CONF}"/hyprpaper.conf &>> /tmp/logs/hyprpaper.log # run hyprpaper if wallpaper is enabled
fi

View file

@ -1,12 +0,0 @@
#!/bin/bash
# jstm's xdpw enforcer
sleep 1 # wait for xdg-desktop-portal to start
killall -e xdg-desktop-portal-hyprland # kill all running instances of xdph
killall -e xdg-desktop-portal-wlr # kill all running instances of xdpw
killall xdg-desktop-portal # kill all running instances of xdp
/usr/lib/xdg-desktop-portal-hyprland & # run xdph
sleep 4 # wait for xdph to start
/usr/lib/xdg-desktop-portal & # run xdp
sleep 1s # wait for xdp to start
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP & # allow for screensharing

View file

@ -1,16 +0,0 @@
#!/bin/bash
# jstm's hyprland performance mode
if [ "$(hyprctl getoption animations:enabled | awk 'NR==2{print $2}')" = 1 ] ; then # if animations are enabled, proceed
hyprctl --batch " \ # disable animations, shadows, blur, gaps window-to-window, gaps window-to-monitor, rounding and set border size to 1px
keyword animations:enabled 0; \
keyword decoration:drop_shadow 0; \
keyword decoration:blur:enabled 0; \
keyword general:gaps_in 0; \
keyword general:gaps_out 0; \
keyword general:border_size 1; \
keyword decoration:inactive_opacity 1; \
keyword decoration:rounding 0"
exit # stop execution to prevent "hyprctl reload" call
fi
hyprctl reload # animations are disabled, reloading instead

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB