Ich habe es geschafft, genau das zu tun, was OP verlangt hat, und alles ist in meiner i3-Konfiguration enthalten, die an eine Verknüpfung gebunden ist (siehe unten). Also sperre ich meinen Bildschirm mit Mod + o und schalte die automatische Bildschirmsperre mit Mod + Shift + o um, wo eine Benachrichtigung angezeigt wird, die mir je nach "Status" von xautolock entweder "LOCK on" oder "LOCK OFF" sagt. Ich habe es genutzt, xautlock -exit
um herauszufinden, ob es ausgeführt wird oder nicht, ohne den Status in einer zusätzlichen Datei verwalten zu müssen.
Das Skript, das sich allein um den umgeschalteten Status kümmert, sieht folgendermaßen aus
if xautolock -exit
then (notify-send -u normal -t 100 -- 'LOCK OFF') 2> /dev/null
else
notify-send -u normal -t 100 -- 'LOCK on'
xautolock -time 2 -locker 'slock' -notify 10 -notifier "notify-send -u normal -t 100 -- 'LOCKING screen ...'"
fi
Je nachdem, wo Sie dieses Skript aufrufen, müssen Sie sicherstellen, dass es xautolock -time ...
im Hintergrund ausgeführt wird (z &
. B. durch Hinzufügen ).
Aus meiner .i3/config
Datei:
exec --no-startup-id xautolock -time 2 -locker 'slock' -notify 10 -notifier "notify-send -u normal -t 10000 -- 'LOCKING screen'"
bindsym $mod+o exec --no-startup-id xautolock -locknow
bindsym $mod+Shift+o exec --no-startup-id "if xautolock -exit; then (notify-send -u normal -t 100 -- 'LOCK OFF') 2> /dev/null; else notify-send -u normal -t 100 -- 'LOCK on'; xautolock -time 2 -locker 'slock' -notify 10 -notifier \\"notify-send -u normal -t 100 -- 'LOCKING screen ...'\\"; fi"
pkill xautolock
, undpgrep xautolock
zu testen , ob es läuft.