Add screen locking to my stumpwm config
This commit is contained in:
parent
05ba6544e2
commit
7d079e8973
1 changed files with 22 additions and 0 deletions
|
@ -5,6 +5,27 @@
|
||||||
|
|
||||||
(set-prefix-key (kbd "s-x"))
|
(set-prefix-key (kbd "s-x"))
|
||||||
|
|
||||||
|
(defvar *screen-locking-hook* nil
|
||||||
|
"Hook that gets called right before the screen gets locked.")
|
||||||
|
|
||||||
|
(defvar *screen-unlocked-hook* nil
|
||||||
|
"Hook that gets called right after the screen is unlocked.")
|
||||||
|
|
||||||
|
(defun run-screen-unlocked-hook (process)
|
||||||
|
"Run `*screen-unlocked-hook* if PROCESS' status is `:exited'."
|
||||||
|
(when (eq (sb-ext:process-status process) :exited)
|
||||||
|
(run-hook *screen-unlocked-hook*)))
|
||||||
|
|
||||||
|
(defcommand lock-screen () ()
|
||||||
|
"Lock the screen using i3lock.
|
||||||
|
Run `*screen-locking-hook*' before locking it and run `*screen-unlocked-hook*'
|
||||||
|
after it has been unlocked."
|
||||||
|
(run-hook *screen-locking-hook*)
|
||||||
|
(sb-ext:run-program
|
||||||
|
"/usr/bin/i3lock" '("--nofork" "--color=000000")
|
||||||
|
:wait nil
|
||||||
|
:status-hook #'run-screen-unlocked-hook))
|
||||||
|
|
||||||
(defcommand raise-browser () ()
|
(defcommand raise-browser () ()
|
||||||
"Open or show my browser"
|
"Open or show my browser"
|
||||||
(run-or-raise "firefox" '(:class "firefox")))
|
(run-or-raise "firefox" '(:class "firefox")))
|
||||||
|
@ -17,6 +38,7 @@
|
||||||
"Open or show my terminal"
|
"Open or show my terminal"
|
||||||
(run-or-raise "kitty" '(:class "kitty")))
|
(run-or-raise "kitty" '(:class "kitty")))
|
||||||
|
|
||||||
|
(define-key *top-map* (kbd "C-M-l") "lock-screen")
|
||||||
(define-key *top-map* (kbd "s-b") "raise-browser")
|
(define-key *top-map* (kbd "s-b") "raise-browser")
|
||||||
(define-key *top-map* (kbd "s-e") "raise-emacs")
|
(define-key *top-map* (kbd "s-e") "raise-emacs")
|
||||||
(define-key *top-map* (kbd "s-t") "raise-terminal")
|
(define-key *top-map* (kbd "s-t") "raise-terminal")
|
||||||
|
|
Loading…
Reference in a new issue