Handle new/resize with negative cursor coordinates
Fix build with latest version of wlroots
Fix typo from ec6567e899a5 found by Clang
Wio is a Wayland compositor for Linux & FreeBSD which has a similar look & feel to plan9's rio.
This software is incomplete. Notably missing is a Rio-esque FUSE filesystem and Rio's built-in command line (we depend on an external, tty-style terminal emulator).
To build and install wio:
git clone https://github.com/swaywm/wlroots.git subprojects/wlroots
meson build
cd build
ninja install
Wio uses wlroots to run a simple Wayland compositor. Right clicking (and holding) outside of a window will bring up the menu. Drag the mouse to the command you'd like to execute and release the mouse.
Each window runs cage by default, and instructs cage to run a terminal emulator (alacritty by default). This effectively gives each window its own private Wayland compositor. If you want to run a graphical application, simply run the command from the terminal and cage will display it full-screen within its own window.
To access Wio's own Wayland compositor directly (for example, to take
screenshots with grim), set
WAYLAND_DISPLAY=wayland-0
or similar. Note, however, that the only shell for
application windows which is supported directly by Wio is xdg-shell.
Some minor customization options are available by passing command line arguments to Wio:
wio [-c <cage>] [-t <terminal>] [-o <output config>...]
cage
command to run new windows inFor the authentic rio experience, try the alacritty config in contrib/
.
Wio supports multihead configurations and HiDPI displays. In order to take advantage of this, you must pass some output configurations on the command line. You can specify the following options, in this order:
weston-info
can list output names & modes)Each property should be separated by a colon. Use -1 for X & Y to have Wio automatically place the display, and 0 to have Wio select a mode or scale factor automatically. You may omit any of these properties, but must include any property which comes before the ones you're trying to set.
For example, to specify the X & Y coordinates of output HDMI-A-1
, try the
following: -o HDMI-A-1:1920:0
. If you also want to set its mode to 720p, use
-o HDMI-A-1:1920:0:1280:720
. If you don't care about setting the mode but want
to flip it, use -o HDMI-A-1:-1:-1:0:0:0:flipped
.
Available transforms are:
normal
90
180
270
flipped
flipped-90
flipped-180
flipped-270
Wio recognizes the following environment variables for basic keyboard configuration:
XKB_DEFAULT_RULES
XKB_DEFAULT_MODEL
XKB_DEFAULT_LAYOUT
XKB_DEFAULT_VARIANT
XKB_DEFAULT_OPTIONS
Read xkeyboard-config(7)
for details.
Patches, questions, feedback, and general discussions to the mailing list: ~sircmpwn/wio@lists.sr.ht.
Tickets on the bug tracker.