Mouse 5 R A GotoPage wrapx +1p 0p
Mouse 4 R A GotoPage wrapx -1p 0p
+# Window titlebar bindings
+DestroyFunc Title_M1Func
+AddToFunc Title_M1Func
+ + C Raise
+ + M Move
+
+Mouse 1 T N Title_M1Func
+Mouse 2 T N Menu MenuWindow
+Mouse 3 T N Lower
Mouse 4 T N Windowshade True
Mouse 5 T N Windowshade False
Key grave A CM Exec exec $[TERMINAL] -e zsh -f
Key F3 A M Module FvwmConsole -terminal urxvt
-# Screen locking
-Key XF86Standby A A Exec exec xscreensaver-command -lock
+# Screen locking. Since a double scroll lock is used to communicate with the
+# KVM, take some care to only lock the screen if the scroll lock key is pressed
+# once.
+DestroyFunc FinishLock
+AddToFunc FinishLock
+ + I Key Scroll_Lock A A LockScreen
+ + I $*
+
+DestroyFunc LockScreen
+AddToFunc LockScreen
+ + I Schedule 750 FinishLock Exec exec xscreensaver-command -lock
+ + I Key Scroll_Lock A A FinishLock Deschedule $[schedule.last]
+
+Key Scroll_Lock A A LockScreen
DestroyFunc DoPageMove
AddToFunc DoPageMove