Miriway is a starting point for creating a Wayland based desktop environment using Mir.
Miriway has been tested with shell components from several desktop environments
and comes with some scripts to help set up a variety of example configurations.
(See the example-configs directory.)
These shortcuts are the defaults provided:
| Modifiers | Key | Function | Action |
|---|---|---|---|
| Ctrl-Alt | T | miriway-terminal | Terminal emulator |
| meta | Left | @dock-left | Dock app left |
| meta | Right | @dock-right | Dock app right |
| meta | Space | @toggle-maximized | Toggle app maximized |
| meta | Home | @workspace-begin | First workspace ("Shift" to bring app) |
| meta | End | @workspace-end | Last workspace ("Shift" to bring app) |
| meta | Page_Up | @workspace-up | Previous workspace ("Shift" to bring app) |
| meta | Page_Down | @workspace-down | Next workspace ("Shift" to bring app) |
| ctrl-alt | BackSpace | @exit | Exit ("Shift" to force if apps are open) |
These (and other) defaults are specified in /usr/local/etc/xdg/xdg-miriway/miriway-shell.config but can be
overridden for an individual user in ~/.config/miriway-shell.config. For more
details see Configuring Miriway.
The "@" commands are internal to miriway-shell, others are commands that could be executed from a terminal.
At the core of Miriway is miriway-shell, a Mir based Wayland compositor that provides:
- A "floating windows" window managament policy;
- Support for Wayland (and via
Xwayland) X11 applications; - Dynamic workspaces;
- Additional Wayland support for "shell components" such as panels and docs; and,
- Configurable shortcuts for launching standard apps such as launcher and terminal emulator.
In addition to miriway-shell, Miriway has:
- A "terminal emulator finder" script
miriway-terminal, that works with most terminal emulators; - A launch script
miriwayto simplify starting Miriway; - A default configuration file
miriway-shell.config; and, - A greeter configuration
miriway.desktopso Miriway can be selected at login
Miriway is available as a Snap, which provides a basic default configuration and also includes the example configuration scripts to help set up a variety of options.
It is also available in a variety of distributions, notably Fedora.
Miriway can be built and installed from source (without packaging as a Snap). The source is available from GitHub:
git clone https://github.com/Miriway/Miriway.git && cd Miriway
Miriway uses the latest version of Mir available from the mir-team "release" PPA:
sudo apt-add-repository ppa:mir-team/release
Build dependencies:
sudo apt install libmiral-dev
Additional runtime dependencies:
sudo apt install mir-graphics-drivers-desktop
The default install is minimal and provides a basic shell and a default
Ctrl-Alt-T command that tries to find a terminal emulator (by using
miriway-terminal). If you don't already have a terminal emulator
installed, then sudo apt install xfce4-terminal is a simple option.
mkdir build
cd build
cmake ..
cmake --build .
Installing
sudo cmake --build . -- install
Now you can run with miriway, or select "Miriway" from the login screen.