Per window XKB layout switcher and modeline module for StumpWM.
cd ~/.stumpwm.d/modules/
git clone https://github.com/Junker/stumpwm-kbdd kbdd
(stumpwm:add-to-load-path "~/.stumpwm.d/modules/kbdd")
(load-module "kbdd")
;; Optional. can be defined in Xorg config
(run-shell-command "setxkbmap -layout us,ru")
;; Required. start KBDD daemon
(run-shell-command "/usr/bin/kbdd")
;; init module
(setf kbdd:*locales* '((0 . :US) (1 . :RU)))
(kbdd:kbdd)
(define-key *top-map* (kbd "s-l") "kbdd-switch-layout")
- kbdd-switch-layout
- kbdd-next-layout
- kbdd-prev-layout
- kbdd:*layouts* - Reuqired. List of layouts defined in xorg (can see with: "setxkbmap -query | grep layout")
%L - keyboard layout formatter
- left button: switch layout
- right button: switch layout
- wheel up: next layout
- wheel down: previous layout