fixed lid handling with lidstate file

This commit is contained in:
2026-03-14 15:01:31 +01:00
parent e8ef6712af
commit 13bc86f713
6 changed files with 104 additions and 42 deletions

View File

@@ -14,4 +14,4 @@ exec-once = uwsm app -- hyprpaper
# exec-once = uwsm app -- /usr/lib/xdg-desktop-portal-hyprland
exec-once = wl-paste --type text --watch cliphist store # Stores only text data
exec-once = wl-paste --type image --watch cliphist store # Stores only image data
exec-once = uwsm app -- ~/.config/waybar/fluxo-rs/target/release/fluxo-rs daemon
exec-once = uwsm app -- ~/.cargo/bin/fluxo-rs daemon

View File

@@ -1,7 +1,9 @@
# monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@240, 0x-1440, 1
# monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@90, 0x-1440, 1, bitdepth, 10
monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 1920x1080@240, 0x-1080, 1
# monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 1920x1080@60, 0x-1080, 1
# monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 1280x720@240, 0x-720, 1
# laptop screen
monitor = eDP-1, 1920x1080@60, 0x0, 1
# samsung home monitor
monitor = desc:Samsung Electric Company LC27G7xT H4ZRA00734, 2560x1440@90, 0x-1440, 1
# lid_state fallback
source = ~/.config/hypr/lid_state.conf

View File

@@ -1,6 +1,21 @@
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# ==========================================
# VARIABLES
# ==========================================
# Dialogs and utility apps that should float in the center
$dialog_titles = ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
$dialog_classes = ^(pavucontrol|blueman-manager|nm-connection-editor|org.pulseaudio.pavucontrol)$
# App classes
$steam = ^(steam)$
$gamescope = ^(gamescope)$
# ==========================================
# GENERAL & FIXES
# ==========================================
# Ignore maximize requests from apps. You'll probably like this.
# windowrule = suppress_event maximize, match:class .*
@@ -9,45 +24,54 @@
windowrule = no_blur 1, match:class ^$, match:title ^$
# games for tearing add the immediate rule
# ==========================================
# FLOATING & CENTERED DIALOGS
# ==========================================
# Make them float
windowrule = float 1, match:title $dialog_titles
windowrule = float 1, match:class $dialog_classes
# Float Windows
windowrule = float 1, match:title ^(Open File|Select a File|Select Folder|Choose a file|Open Form|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
windowrule = float 1, match:class ^(pavucontrol|blueman-manager|nm-connection-editor)$
# Set to 800x600
windowrule = size 800 600, match:title $dialog_titles
windowrule = size 800 600, match:class $dialog_classes
# Center and Resize Windows
windowrule = size 800 600, match:title ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
windowrule = size 800 600, match:class ^(pavucontrol|blueman-manager|nm-connection-editor)$
# Center them on the screen
windowrule = center 1, match:title $dialog_titles
windowrule = center 1, match:class $dialog_classes
windowrule = center 1, match:title ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
windowrule = center 1, match:class ^(pavucontrol|blueman-manager|nm-connection-editor)$
# Disable blur
windowrule = no_blur 1, match:title $dialog_titles
windowrule = no_blur 1, match:class $dialog_classes
windowrule = no_blur 1, match:title ^(Open Form|Open File|Select a File|Choose a file|Open Workspace|Choose Directory|Save As|Save File|branchdialog|pinentry-gtk-2|Confirm to replace files|File Operation Progress)$
windowrule = no_blur 1, match:class ^(pavucontrol|blueman-manager|nm-connection-editor)$
# Workspace Rules
# ==========================================
# WORKSPACE ASSIGNMENTS
# ==========================================
# Normal Workspaces
# windowrule = workspace 1, match:class ^(firefox)$
# windowrule = workspace 2, match:class ^(kitty)$
# windowrule = workspace 3, match:class ^(Code)$
windowrule = workspace 1, match:class $gamescope
# Special Workspaces
windowrule = workspace special:virtual, match:class ^(Spotify|spotify)$
windowrule = workspace special:discord, match:class ^(discord|vesktop)$
# steam rules
windowrule = workspace 3 silent, match:class ^(steam)$, match:title ^(Steam)$
windowrule = workspace 4, match:class ^(gamescope)$
# ==========================================
# APP-SPECIFIC RULES: STEAM & GAMING
# ==========================================
# windowrule = workspace 3 silent, match:class $steam, match:title ^(Steam)$
# fixed sizes for different windows
windowrule = size 400 800, match:title ^(Friends List)$, match:class ^(steam)$
windowrule = size 1000 800, match:title ^(Steam Settings)$, match:class ^(steam)$
windowrule = size 1000 800, match:title ^(Add Non-Steam Game)$, match:class ^(steam)$
# Fixed sizes for specific Steam windows
windowrule = size 400 800, match:title ^(Friends List)$, match:class $steam
windowrule = size 1000 800, match:title ^(Steam Settings)$, match:class $steam
windowrule = size 1000 800, match:title ^(Add Non-Steam Game)$, match:class $steam
# float windows that arent the main steam window
windowrule = float 1, match:class ^(steam)$, match:title negative:^(Steam)$
windowrule = no_blur 1, match:class ^(steam)$, match:title negative:^(Steam)$
# windowrule = center 1, match:class ^(steam)$, match:title negative:^(Steam)$
# Float and disable blur for Steam windows that aren't the main window
windowrule = float 1, match:class $steam, match:title negative:^(Steam)$
windowrule = no_blur 1, match:class $steam, match:title negative:^(Steam)$
# windowrule = center 1, match:class $steam, match:title negative:^(Steam)$
# allow tearing for games started with gamescope
windowrule = immediate 1, match:class ^(gamescope)$
# Allow tearing for games started with Gamescope
windowrule = immediate 1, match:class $gamescope