aboutsummaryrefslogtreecommitdiff
path: root/.local/bin
diff options
context:
space:
mode:
authorkj-sh6042025-02-23 20:17:34 -0500
committerkj-sh6042025-02-23 20:17:34 -0500
commit9cec1f307c02ee0aa4281190b70da706a607b6cc (patch)
treeba68e9560552c9954df687b95d8da916e7a382a8 /.local/bin
parent3df7d53b141fc296fa2529bd90af82a893fde49f (diff)
feat: add new `toggle-lid-switch-handling` script
Diffstat (limited to '.local/bin')
-rwxr-xr-x.local/bin/toggle-lid-switch-handling26
1 files changed, 26 insertions, 0 deletions
diff --git a/.local/bin/toggle-lid-switch-handling b/.local/bin/toggle-lid-switch-handling
new file mode 100755
index 0000000..00eb45b
--- /dev/null
+++ b/.local/bin/toggle-lid-switch-handling
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+CONFIG_FILE="/etc/systemd/logind.conf"
+
+if [ ! -f "$CONFIG_FILE" ]; then
+ echo "Error: $CONFIG_FILE not found"
+ exit 1
+fi
+
+CURRENT_VALUE=$(grep "^HandleLidSwitch=" "$CONFIG_FILE" | cut -d "=" -f 2-)
+
+if [ -z "$CURRENT_VALUE" ]; then
+ sudo sed -i "s/#HandleLidSwitch=suspend/HandleLidSwitch=suspend/" "$CONFIG_FILE"
+ echo "HandleLidSwitch set to suspend"
+ exit 0
+fi
+
+if [ "$CURRENT_VALUE" = "suspend" ]; then
+ NEW_VALUE="ignore"
+else
+ NEW_VALUE="suspend"
+fi
+
+sudo sed -i "s/^HandleLidSwitch=.*/HandleLidSwitch=$NEW_VALUE/" "$CONFIG_FILE"
+
+sudo systemctl restart systemd-logind && echo "HandleLidSwitch toggled to $NEW_VALUE"