stumpwm / mahogany

A stumpwm like Wayland compositor
GNU General Public License v2.0
220 stars 12 forks source link

Implement configuration modes #52

Open sdilts opened 8 months ago

sdilts commented 8 months ago

A configuration mode is a set of keybindings and/or configuration that can be activated/deactivated as a single command. The goal is to have a system that allows functionality to be packaged together and experimented with easily.

When a mode is activated, it should supercede whatever keybindings and configuration was active upon activation. They should be applied in the order that they appear, so if you have two modes that override the same thing, the latest one to be active is whose bindings are active.

When a mode is deactivated, the configuration should go back to what it was before the mode was activated. If there is a second mode that overrides another mode's behavior, the overridden behavior should remain unchanged, as the second mode is unaffected.

There should also be a way to package these modes so that they are easy to share and relatively straightforward to create.