stumpwm-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Show modeline when super key is pressed


From: szos
Subject: Re: Show modeline when super key is pressed
Date: Tue, 31 Dec 2024 22:20:55 +0000

I put together a small asdf system to implement the functionality of
running code on key press/release of a modifier key. Its attached to
this email as a tarball with a readme. Its cleaner and more extensible
than the solution I gave earlier, and allows for arbitrary actions
instead of only mode line toggling.

Attachment: gmk.tar.gz
Description: tarball of grabbable modifier keys


<szos@posteo.net> writes:

>>
>> Some additional code to allow holding super to display the mode line:
>>
>> ``` lisp
>> (defun custom-press-handler (code state)
>>   (declare (ignore state))
>>   (let ((super-keycodes (nth-value 6 (xlib:modifier-mapping *display*))))
>>     (when (member code super-keycodes :test #'=)
>>       (toggle-mode-line (current-screen) (current-head))
>>       t)))
>>
>> (define-stump-event-handler :key-release (code state)
>>   (declare (ignore state))
>>   (let ((super-keycodes (nth-value 6 (xlib:modifier-mapping *display*))))
>>     (when (member code super-keycodes :test #'=)
>>       (toggle-mode-line (current-screen) (current-head))
>>       t)))
>>
>> (setf *custom-key-event-handler* 'custom-press-handler)
>> ```
>
> NB: the above code requires you to grab the super keycode, which for me
> is 133, though you can find it by calling xlib:modifier-mapping.
>
> You can grab it like so in your init file:
>
> ``` lisp
> (xlib:ungrab-key (screen-root (current-screen)) your-super-key-code)
> ```


reply via email to

[Prev in Thread] Current Thread [Next in Thread]