I would like to ask if somebody would like to see in StumpWM a well known features in Emacsen, called minor modes. I researched a bit this topic and see that it could be useful to have at least togglable global
keymaps per frame, window or group. To do this we would need to have hierarchy of keymaps, and ability to add and remove dynamically keymap to the parent one to ovveride/add specific keybindings. Also what I suspect would be useful is to define variables in local scope of frame,
group or window. Then we would have a clean interface wrapped with some macros to allow user to alter behaviour using modes in StumpWM (defining modes, plugging keymaps, defining local variables, inheriting modes
etc). I am sure all these had been considered before and probably are not new topic, however I want to emphasise that implementation of modes is not possible without mentioned pre-requisites. Modes would allow us
to implement such things like:
- capturing some of application specific keystrokes, modifying their behaviour and sending back to window - conditionals keybindings based on application or window class open
in the window - defining new tiling behaviours in generic form of mode - local variables would allow whole range of context specific behaviours - implementing some new apps in StumpWM would be far more automated.
clean and robust (think about just simples ones like screen lock or productive mode!) ... probably a lot more.
There are lot of benefits in having some logic encapsulated in modes, and having these local variables that can allow customisation per frame
or window based on specific constraints.
What do you think about it? If somebody would be interested at least on reviewing patches or just helping me out implementing this, I would be grateful. Let's give chance for Stump to be better.