- only locking session if no external monitors are connected

- using env to find bash location
This commit is contained in:
2026-02-09 17:11:00 +01:00
parent 3bb65eecb7
commit a6485979d0
2 changed files with 27 additions and 4 deletions

View File

@@ -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

View File

@@ -1,5 +1,5 @@
#!/bin/bash
#!/usr/bin/env bash
hyprctl keyword monitor "eDP-1, preferred, 0x0, 1"
hyprlock