Guile Swayer I am an Emacs user and previously used StumpWM , an X11 window manager written in Common Lisp . I believe window managers should be scriptable because the level of workflow customization required by users often exceeds what can be achieved with simple configuration parameters (see my workflow below for a clearer understanding of why this is the case). Unfortunately, Sway/i3 lacks a straightforward programmable interface for customization. This project provides complete control over Sway/i3 using Guile ! Why Sway? I had to migrate to Wayland at some point. Being a big fan of StumpWM , I tried to replicate a similar environment in one of the Wayland window managers. I made some progress with hyprland using a set of Guile bindings I developed called hypripc , but I found that Hyprland isn’t as stable as Sway . Quick Test Note: refer to the github wiki for more documentation. After cloning this repository, you can immediately test it using the provided examples/playground/example.scm file in the directory, which demonstrates some of the features available in this package. The examples/playground/example.scm file will: Print the current focused workspace Add a keybinding (Super+t) that launches Alacritty Print a message when a workspace change event occurs guile ./examples/playground/example.scm Installation All the examples included in this project reference the guile-swayer package relatively for ease of testing. To make guile-swayer package publicly visible to guile, it must be added to the GUILE_LOAD_PATH which should be /usr/local/share/guile/site/3.0 for guile-3 If you use GUIX , you can simply install guile-swayer from the GUIX repository (thanks to @wrest64 [Alec Barreto]). If you are using another distro, you will have to ensure GUILE_LOAD_PATH points to correct path and execute the below commands to install guile-swayer autoreconf -i ./configure make sudo make install Quick Overview Query Sway You can retrieve information about Sway , such as list ...
First seen: 2025-08-19 16:57
Last seen: 2025-08-19 21:02