i3way

A Weston shell with the i3 look&feel power

i3way is a shell plugin for Weston, the reference compositor for Wayland.

i3way does not currently include a single line of code. Please consider this page as a roadmap for now.

Q&A

What i3way is or does

i3way is a shell plugin for Weston
This means that you will need a working Weston installation to use i3way. You can either install it using your system’s package manager or building it yourself.
i3way provides the i3 look&feel to Weston users
If their programs can work with Wayland — either natively or via XWayland, i3 users can switch to Wayland by using Weston and i3way. They will keep their workflow intact.
i3way implements the wl_shell interface only
Wayland is interface-based, and i3way is in charge of providing one interface, the wl_shell interface (and the corresponding wl_shell_surface interface).
The wl_shell interface provides clients the basic handling for their windows. The wl_shell_surface is basically a window, and the interface provides clients operations (move, maximize) and events (geometry hints) on their windows.

What i3way is or does not

i3way is not a fork of i3, nor an official i3 project
i3 is a project on its own, with a totally different codebase and its own maintainer and contributors. More information of the i3 website.
i3way is not a port of i3 to Wayland
i3 is an X.org window manager and relies heavily on XCB and Xlib calls. It is not possible to port i3 as-is to work on Wayland.
In the X11 architecture, a WM is a program on its own, separated from the X server. In the Wayland architecture, the compositor is in charge of managing windows itself.
The reference compositor, Weston, uses a plugin mechanism. The shell plugin, in charge of managing windows, is therefore changeable at run-time.
i3way does not translate all i3 features in a 1:1 fashion
Architecture differences between X11 and Wayland comfine some features to one of both worlds. Some i3 features do not make any sense in Wayland and thus will not be implemented.
i3way is not a complete DE, nor is Weston
As i3 for X11, i3way is only in charge of managing windows. The compositing work is done by Weston’s core, and other plugins may be used to provide more features to Weston.

Generic questions

Why not using i3 with XWayland?
XWayland is a mechanism to allow X11 clients to run in a Wayland session. In Weston, this involves the X server, the DDX and the compositor. A Weston’s plugin is in charge of running an X server and a dummy X WM. Some compositors could implement the X server part in their own codebase.
In other words: there is no place for an X WM in XWayland. i3 will not work this way, that’s it.
Why only Weston?
Weston is designed to use plugins. It does all the composition work, and allow one to implement a “WM” as a shell plugin.
It is a lot of work to implement all Weston core’s features and it is not i3way’s goal to do so.
Can I use feature Y from DE Z?
If this is a core Wayland feature, then Weston should provide it.
If this is a shell feature, it is i3way’s job to provide it. Maybe didn’t we update to support this feature yet. Each interface in Wayland is versioned. We can thus support an old version while a client is tryingto use a new feature. Nothing will break, but you will just not have said feature. You can submit a bug report to request the feature in i3way in this case.
If DE Z is Weston-based and properly split, you can probably use the plugin providing this feature.
In other cases, it is probably a DE-specific feature using a non-standard interface. You can try to port the feature to Weston via a plugin. If the feature belongs to the wl_shell interface, please file a bug report if you think i3way should really have it. Some DE-specific features will have equivalent ones in i3way. Most will probably be rejected though.

Author / Contact

Quentin “Sardem FF7” Glidic (sardemff7@i3way.org) — My other Free Software projects