- only locking session if no external monitors are connected
- using env to find bash location
This commit is contained in:
@@ -1,2 +1,25 @@
|
||||
#!/bin/bash
|
||||
hyprctl keyword monitor "eDP-1, disable"
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
INTERNAL="eDP-1"
|
||||
|
||||
# Count non-internal monitors reported by Hyprland
|
||||
external_count=$(
|
||||
hyprctl monitors | awk -v internal="$INTERNAL" '
|
||||
$1 == "Monitor" {
|
||||
name = $2
|
||||
sub(":", "", name) # strip trailing colon
|
||||
if (name != internal) {
|
||||
print name
|
||||
}
|
||||
}
|
||||
' | wc -l
|
||||
)
|
||||
|
||||
# Always turn off the laptop panel on lid close
|
||||
hyprctl keyword monitor "$INTERNAL, disable"
|
||||
|
||||
# Only lock if there is NO external monitor
|
||||
if [ "$external_count" -eq 0 ]; then
|
||||
hyprlock
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
hyprctl keyword monitor "eDP-1, preferred, 0x0, 1"
|
||||
hyprlock
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user