Added stuff for closing lid and locking screen
This commit is contained in:
@@ -2653,7 +2653,7 @@ Now starts the main emacs configuration.
|
||||
|
||||
* Machines
|
||||
Only a few more things left. Specifically the machine level extra settings.
|
||||
** Smallbox
|
||||
** Traveldroid
|
||||
The configuration for the laptop does not change much. Most changes are because the hardware is different.
|
||||
*** System Level
|
||||
Nothing specific for the laptop.
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
|
||||
# use walker to show exec menu
|
||||
bind = $mainMod, Space , exec, walker
|
||||
bind = $mainMod, P, pseudo
|
||||
@@ -151,6 +150,13 @@ bind = , XF86KbdBrightnessDown, exec, brightnessctl -d '*kbd_backlight*' set 10%
|
||||
bind = , XF86Sleep, exec, systemctl suspend
|
||||
bind = , XF86PowerOff, exec, systemctl poweroff
|
||||
bind = , XF86WakeUp, exec, systemctl suspend
|
||||
bind = $mainMod, L, exec, loginctl lock-session
|
||||
|
||||
#########################
|
||||
# Laptop lid settings
|
||||
#########################
|
||||
bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/lid-action.sh
|
||||
bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/lid-restore.sh
|
||||
|
||||
#########################
|
||||
# Start apps
|
||||
@@ -159,3 +165,5 @@ bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
|
||||
bind = CTRL ALT, S, exec, spotify
|
||||
bind = CTRL ALT, z, exec, flatpak run app.zen_browser.zen --filesystem=home
|
||||
bind = CTRL ALT, k, exec, kate
|
||||
|
||||
|
||||
|
||||
@@ -1,19 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# If ANY external monitor exists, do NOT lock on lid close (clamshell use-case).
|
||||
# Your internal panel is eDP-1.
|
||||
# Anything not starting with eDP is treated as external.
|
||||
INTERNAL="eDP1"
|
||||
|
||||
if hyprctl monitors -j | grep -q '"name":"[^"]\+"' ; then
|
||||
if hyprctl monitors -j | grep -q '"name":"DP-1"' ; then
|
||||
exit 0
|
||||
fi
|
||||
has_external() {
|
||||
# Any monitor name that is not INTERNAL counts as external
|
||||
hyprctl monitors -j | grep -q '"name"' && ! hyprctl monitors -j | grep -q "\"name\":\"$INTERNAL\"\""
|
||||
}
|
||||
|
||||
has_external_robust() {
|
||||
# robust without jq: count monitor names; if there's >1 OR there's a name not INTERNAL
|
||||
local names
|
||||
names="$(hyprctl monitors -j | sed -n 's/.*"name":"\([^"]*\)".*/\1/p')"
|
||||
# if any name != INTERNAL then external
|
||||
echo "$names" | grep -vx "$INTERNAL" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
if has_external_robust; then
|
||||
# Clamshell: disable laptop panel, no lock
|
||||
hyprctl keyword monitor "${INTERNAL},disable"
|
||||
else
|
||||
# Laptop only: suspend
|
||||
systemctl suspend
|
||||
fi
|
||||
|
||||
# Generic: if any monitor is not eDP-1, assume external exists.
|
||||
if hyprctl monitors -j | grep -q '"name":"[^"]\+"' && hyprctl monitors -j | grep -vq '"name":"eDP-1"'; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec hyprlock
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
INTERNAL="eDP1"
|
||||
|
||||
# Restore panel using preferred mode, auto position, scale 1
|
||||
hyprctl keyword monitor "${INTERNAL},preferred,auto,1"
|
||||
@@ -1,14 +0,0 @@
|
||||
# Check if NetworkManager service is running
|
||||
systemctl status NetworkManager
|
||||
# If not running, start it temporarily
|
||||
sudo systemctl start NetworkManager
|
||||
# Enable Wi-Fi radio (in case it is disabled)
|
||||
nmcli radio wifi on
|
||||
# List available Wi-Fi networks
|
||||
nmcli device wifi list
|
||||
# Connect to a Wi-Fi network (replace SSID and PASSWORD)
|
||||
nmcli device wifi connect "SSID_NAME" password "YOUR_PASSWORD"
|
||||
# Verify that the connection is active
|
||||
nmcli connection show --active
|
||||
# Optional: show device status
|
||||
nmcli device status
|
||||
Reference in New Issue
Block a user