egmde: updated features
While egmde is still not ready for use as a lightweight desktop, I’ve been experimenting with using it for development to see what issues are encountered. As a result, I’ve made a few updates to egmde recently:
- Keyboard shortcuts to dock window to left or right
- Keyboard shortcut to disable all keyboard shortcuts
- Slow exit when apps are open
- Optional support for workspaces
- Optional support for “shell components”
These are available in the snap or by building master. They work slightly better with the development version of Mir on this snap’s
edge channel, but can be used with the current Mir release on the snap’s
Keyboard shortcuts to dock window to left or right
There’s a new feature to dock the active window to the left or right of the screen. If you press
Ctrl-Alt-Left the current window will be docked to the left (and with
Ctrl-Alt-Right it will be docked to the right). If the window is already docked then it will alternate between 1/2, 1/3 and 2/3 of the available display area.
Keyboard shortcut to disable all keyboard shortcuts
When experimenting with developing egmde and Mir on egmde I would often run egmde on egmde and then discover that keyboard shortcuts were processed by the host shell and not the shell I was testing. I implemented a way to disable (or re-enable) all keyboard shortcuts.
Ctrl-Alt-Del will stop the host shell processing any keyboard shortcuts (window switching, app launcher, etc.) until it is pressed again.
Slow exit when apps are open
When experimenting with developing egmde and Mir on egmde I would often run egmde or miral-shell on egmde and press
Ctrl-Alt-BkSp intending to close the shell I was testing only to close the host shell (and the session with all the apps I was running). While disabling all keyboard shortcuts (above) is a partial solution, it’s also too easy to exit with other apps running.
The solution I’ve implemented is that
Ctrl-Alt-BkSp works immediately if there are no apps running, but you need to keep the key pressed if there are apps running.
Optional support for workspaces
Being able to switch between workspaces containing different sets of applications has long been a feature of the Linux desktop. And is easy to implement with Mir. Egmde now has support for this, just add the following line to the configuration file:
$ grep no-of-workspaces ~/.config/egmde.config no-of-workspaces=4
You can choose any number of workspaces from 1 to 32, but 4 seems sensible to me.
To cycle back and forth through your workspaces:
Optional support for “shell components”
It is common practice to run programs as part of a shell that have access to features that normal applications should not be using. With Wayland these features come as specialized extensions and, while Mir implement some specialised extensions, they are not enabled by default. ( See Waybar on Mir for an example).
Egmde now implements a configuration option that allows “shell components” to be configured. These are granted access to specialized extensions and launched automatically when the shell starts up.
If, for example, you have Waybar installed (and, ideally, configured as in the linked article), you just need to tell egmde it is a shell component for all this goodness to happen:
grep shell-extensions ~/.config/egmde.config shell-extensions=waybar
You can have multiple shell extensions:
shell-extensions will accept a colon separated list.