Hello everyone! It has been nearly three years since I last wrote to this blog. Fortunately, that does not mean Wayfire’s development has stopped! Quite the opposite, in fact I am happy to announce the release of Wayfire 0.8.0. There have been many changes and plugin API breakages since the Wayfire 0.7.x series, so I will try to summarize the important changes in the following paragraphs.
User-facing changes
First, let us take a look at the user-facing changes and new features that were added in this release:
Workspace sets (Wayfire PR #1797)
Workspace sets are a new feature provided by the wsets
plugin. A workspace set is the grid of workspaces on one output. Up until now, Wayfire always had one workspace set (albeit it wasn’t called like this) per output. With the recent changes, it is possible to have multiple workspace sets on each output and switch between them. The end result is very similar to how Sway’s workspaces work: the plugin numbers them from 1 to N, and at any given moment you can display any of the workspace sets on any of your outputs (however, each workspace set can be visible on at most one output at a time). Check the YouTube video to get a better sense of what they provide (the recording contains two Wayfire outputs side-by-side):
The purpose of workspace sets is to have a dedicated set of normal workspaces for different activities the user does on their computer. For example, I have one workspace set (containing a 2×2 workspace grid) dedicated to Wayfire, where I have Wayfire’s source code, GitHub issues, wlroots, etc. There is another workspace set dedicated to a project I am working on for university, and so on. Of course, a similar effect could be achieved with a single bigger workspace grid, but having a 5×5 workspace grid quickly becomes difficult to navigate.
It should also be noted that workspace sets can be moved between outputs, which is something generally impossible with normal workspaces. I use this for example when switching between working on my laptop and an external monitor – it is just a matter of showing the workspace set on the new monitor.
IPC socket (Wayfire PR #1472, PR #1821)
A frequent request for Wayfire was the ability to control it via IPC commands. With this release, Wayfire now provides a socket that clients can use for this purpose. To use it, make sure to enable the ipc
plugin (it should be first in the list of plugins). The ipc
plugin itself does not implement any IPC commands, instead, it only provides a generic framework for other plugins to extend. The ipc-rules
plugin provides a few basic window-management commands and can be used to substitute the window-rules
plugin with a custom user-provided script, see the Python example for more information.
The plan for