Egmde: updated features

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 beta channel.

Keyboard shortcuts to dock window to left or right

Ctrl-Alt-Left/Ctrl-Alt-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

Ctrl-Alt-Del

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

Ctrl-Alt-BkSp

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: Ctrl-Alt-Up & Ctrl-Alt-Down

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.

3 Likes

egmde with mate-panel

5 Likes

For an “experimental” project, this is increasingly looking like becoming a feature rich desktop. Well done!

1 Like

@saiftynet, you’re very kind, but it needs more work before it justifies “feature rich desktop” and the time I can spend on it is limited (perhaps a week so far this year). If you, or anyone else, think it is worthwhile helping out, the code should be clear enough to make improvements.

1 Like