cherry (π) is a minimal floating window manager for X11, written in C, using XCB and Lua 5.3.
π takes inspiration from awesome (regarding Lua configuration) as well as berry for the name.
All configuration is done through a configuration file, or the named pipe (discussed below). A configuration file is not needed. Sensible defaults will be provided in the absence of one.
By default, π will look in the location specified by the -c
option. If no option is provided, π will:
- check if the
XDG_CONFIG_HOME
environment variable exists.- if so, the resulting location will be:
$XDG_CONFIG_HOME/cherry/cherry.lua
. - if not, default to:
$HOME/.config/cherry/cherry.lua
.
- if so, the resulting location will be:
π will attempt to create a named FIFO pipe at the location specified by the config variable fifo_path
, which defaults to /tmp/cherry
.
Communication over this pipe can be done with cherryc
. As of August 1 2020, you can use cherryc
to:
- reload the configuration file:
-r
- create new tags/switch to a pre-existing tag:
-t
- specify a custom pipe location:
-f
An example usage, combining all options, would be cherryc -rtexample -f/tmp/example
. cherryc
configuration does not persist.
Compiling π yourself is as easy as installing Lua 5.3 and XCB, cloning the repository, then running make
.
Due to how tiny the π codebase is, full compilation should only take a few seconds at most.
cherryc
can be compiled with make cherryc
.