Skip to content

Dynamic tiling Wayland compositor configurable in Guile Scheme, based on dwl and libguile - now with a REPL!

License

Unknown and 3 other licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.dwm
MIT
LICENSE.sway
Unknown
LICENSE.tinywl
Notifications You must be signed in to change notification settings

engstrand-config/dwl-guile

 
 

Repository files navigation

dwl-guile

dwl-guile allows you to configure and interact with dwl using GNU Guile through a startup configuration file and/or a REPL.

dwl-guile is based on the latest version of dwl (v0.4) and wlroots 0.16.x, and will be continuously rebased against new versions.

Goal

The main goal of dwl-guile is to serve as a minimal dwm-like Wayland compositor for those who use GNU Guix System — a GNU/Linux distribution in which the user can customize and configure their entire system in GNU Guile.

dwl-guile integrates the window manager customization with that of the rest of the system, which allows for a dynamic, programmable and reproducible configuration for our entire computing environment — all in Guile.

Features

Scheme/Guile configuration

The file ./share/default.scm contains an example configuration. You can script the configuration to your heart’s content, since it is written in an actual programming language!

Dynamic configuration and interaction…

Evaluate expression in real time using dwl-guile -e "<sexp>" and change tiling layouts, bind keys and much more on the fly — there is no need to restart the compositor if you want to try something new!

… also with a REPL!

You may also use a REPL client such as Geiser to control dwl-guile for an even more interactive experience.

Installation

The best way to install and configure dwl-guile is through the Guix channel home-service-dwl-guile, which (as the name suggests) provides a Guix Home service for dwl-guile. Non-Guix System users can download the GNU Guix package manager for their current GNU/Linux distribution in order to use the Guix Home service.

An alternative way (that works without the Guix package manager) would be to

  1. Clone the dwl-guile repository
  2. Build a dwl-guile binary using the Makefile
  3. Supply the produced binary with a Guile configuration file.

Releases

The Releases section contains the dwl-guile patch for dwl and an assortment of useful patches that provide additional functionality.

Some patches are already included in the main dwl-guile patch, namely

  • keycode,
  • smartborders,
  • vanitygaps, and
  • cyclelayout.

About

Dynamic tiling Wayland compositor configurable in Guile Scheme, based on dwl and libguile - now with a REPL!

Topics

Resources

License

Unknown and 3 other licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.dwm
MIT
LICENSE.sway
Unknown
LICENSE.tinywl

Stars

Watchers

Forks

Languages

  • C 91.8%
  • Scheme 6.3%
  • Makefile 1.5%
  • Shell 0.4%