- 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
|
#!/usr/bin/env bash
|
||||||
hyprctl keyword monitor "eDP-1, disable"
|
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"
|
hyprctl keyword monitor "eDP-1, preferred, 0x0, 1"
|
||||||
hyprlock
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user