Note
You are suggested to migrate to windows instead.
MacOS X Exposé reimplemented.
Stable. Probably no more features will be added.
Exposway brings the MacOS X Exposé functionality to the Sway window manager, allowing you to overview all windows and navigate to your desired one. This feature is similar to:
- MacOS Mission Control
- Gnome Activities Overview
- KDE Present Windows
It's implemented in pure C with minimal dependencies.
Currently, you need to compile Exposway from source.
You need the following dependencies:
cairofor interface drawingpangofor font renderinggrimfor taking snapshots
Clone the repository locally and run make to generate the executable.
By default, clang is used as the compiler.
To use a different compiler, you can specify it like this:
make CC=gccNext, install the binary to your $PATH by make install.
The default installation prefix is /usr/local.
To change this, use:
make PREFIX=/usr installThere are two curcial enviroment variables that needs to be set properly.
export EXPOSWAYDIR="$HOME/.local/state/exposway/"
export EXPOSWAYMON="$EXPOSWAYDIR/output"You should launch exposwayd as a daemon at boot.
To trigger Exposé, run exposway.
For example, add the following to your Sway configuration file:
exec exposwayd
bindsym $mod+z exec exposwayAfter pressing the designated shortcut key or executing exposway, you will enter Exposé mode.
The following keys are supported:
- the arrow keys, to change focus between windows
space, to navigate to the currently focused windowesc, do nothing and exit
Edit the source files expose.c and exposed.c directly. If unsure, feel free to open an issue.
Launch exposwayd with the log option -l, the log is located at $EXPOSWAYDIR/expose.log.
Simply run make analysis will do. Clang/LLVM toolchain is needed for this.
Please adhere to the LLVM coding style. If you use clangd as LSP, make compdb will generate the compile_commands.json for you.
