Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/radionoisee/exposway
MacOS X Exposé like feature for SwayWM.
https://github.com/radionoisee/exposway
expose overview swaywm wayland
Last synced: 3 days ago
JSON representation
MacOS X Exposé like feature for SwayWM.
- Host: GitHub
- URL: https://github.com/radionoisee/exposway
- Owner: RadioNoiseE
- License: mit
- Created: 2024-05-25T13:48:15.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-10-28T14:19:05.000Z (17 days ago)
- Last Synced: 2024-10-28T17:19:47.751Z (16 days ago)
- Topics: expose, overview, swaywm, wayland
- Language: C
- Homepage:
- Size: 781 KB
- Stars: 16
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Exposé your SwayWM
![EFF](exposway.png)
MacOS X Exposé reimplemented.## Status
Stable. Probably no more features will be added.
## Introduction
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 WindowsIt's implemented in pure C with minimal dependencies.
## Installation
Currently, you need to compile Exposway from source.
### Dependencies
You need the following dependencies:
- `cairo` for interface drawing
- `pango` for font rendering
- `grim` for taking snapshots### Make
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:```shell
make CC=gcc
```Next, install the binary to your `$PATH` by `make install`.
The default installation prefix is `/usr/local`.
To change this, use:```shell
make PREFIX=/usr install
```### Configuration
There are two curcial enviroment variables that needs to be set properly.
```shell
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:```shell
exec exposwayd
bindsym $mod+z exec exposway
```## Usage
After 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 window
- `esc`, do nothing and exit## Misc
### Customization
Edit the source files `expose.c` and `exposed.c` directly. If unsure, feel free to open an issue.
### Troubleshoot
Launch `exposwayd` with the log option `-l`, the log is located at `$EXPOSWAYDIR/expose.log`.
### Static analysis
Simply run `make analysis` will do. Clang/LLVM toolchain is needed for this.
### Contribution
Please adhere to the `LLVM` coding style. If you use clangd as LSP, `make compdb` will generate the `compile_commands.json` for you.