https://github.com/itsjfx/sway-alttab-gui
Windows-style Alt-Tab window switcher for Sway (Wayland)
https://github.com/itsjfx/sway-alttab-gui
alt-tab alttab gui sway swaywm
Last synced: 6 months ago
JSON representation
Windows-style Alt-Tab window switcher for Sway (Wayland)
- Host: GitHub
- URL: https://github.com/itsjfx/sway-alttab-gui
- Owner: itsjfx
- License: gpl-3.0
- Created: 2026-01-03T14:03:33.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2026-01-11T12:53:37.000Z (6 months ago)
- Last Synced: 2026-01-11T16:48:15.686Z (6 months ago)
- Topics: alt-tab, alttab, gui, sway, swaywm
- Language: Rust
- Homepage:
- Size: 156 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sway-alttab-gui
Windows-style Alt-Tab window switcher for Sway (Wayland)
If you used [sagb/alttab](https://github.com/sagb/alttab) on X11, then this is for you.
## Features
* GTK4 visual window switcher with icons
* MRU (Most Recently Used) window ordering
* Alt+Tab to cycle forward, Shift+Tab to cycle backward
* Alt release to select window
* Can display windows from current workspace or all workspaces
* No special permissions required (no udev rules or input group)

## Quick Start
### Install
If you're using Arch Linux, you can install from the AUR:
* [sway-alttab-gui-bin](https://aur.archlinux.org/packages/sway-alttab-gui-bin)
* No DIY build from source package yet (can be added and maintained on request)
For other distros:
1. Install required runtime dependencies
1. `gtk4`
2. `gtk4-layer-shell`
3. Sway (duh)
2. Download the binary from GitHub releases or build from source with `cargo build --release`
### Configuration
```bash
exec --no-startup-id sway-alttab-gui daemon
bindsym Mod1+Tab exec sway-alttab-gui show
```
For first time usage: reload your Sway configuration and run the daemon manually with `sway-alttab-gui daemon`
`sway-alttab-gui daemon` can optionally take:
* `--mode all`: to list windows across all workspaces
* `--verbose`: to enable verbose logging