Visual keyboard shortcut configuration for GNOME/Wayland
DailyDriver lets you configure GNOME keyboard shortcuts visually, apply curated presets, and see all your shortcuts at a glance with a keyboard cheat sheet.
More screenshots
Browse and edit shortcuts by category
Quick reference overlay showing all active shortcuts (Alt+Super+/)
Choose from curated shortcut profiles
- Preset Profiles - One-click configuration with curated shortcut sets
- Clean Slate Mode - Presets disable ALL shortcuts first, then apply only what's defined (no mystery keymaps)
- Keyboard Cheat Sheet - Quick reference overlay showing all active shortcuts (Alt+Super+/)
- 10 Workspace Support - Navigate workspaces with Super+1-9, Super+0
- Visual Keyboard - See shortcuts on an interactive keyboard layout
- Conflict Detection - Warns when shortcuts conflict with existing bindings
- Tiling Assistant Integration - Built-in support for tiling shortcuts
yay -S dailydriver
# or
paru -S dailydriverFlathub submission is pending review. Once approved:
flatpak install flathub io.github.gregfelice.DailyDriverDownload the Flatpak bundle from Releases:
flatpak install dailydriver-0.1.0.flatpak
flatpak run io.github.gregfelice.DailyDrivergit clone https://github.com/gregfelice/dailydriver.git
cd dailydriver
meson setup build
meson compile -C build
meson install -C build| Platform | Version | Status |
|---|---|---|
| GNOME on Wayland | 45, 46, 47 | Tested in CI |
| GNOME on X11 | 45+ | Should work (untested) |
| KDE Plasma | - | Planned |
| Hyprland | - | Planned |
- GNOME 45+
- Wayland session (recommended)
- Flatpak runtime:
org.gnome.Platform//47
| Preset | Description |
|---|---|
| Hyprland Style | Keyboard-centric workflow with vim-like navigation. Super+Q close, Super+hjkl tiling, Super+1-0 workspaces. |
| GNOME + Tiling | Standard GNOME with Tiling Assistant snap zones. Alt+F4 close, Super+arrows for tiling. |
| Vanilla GNOME | Pure GNOME Shell defaults without tiling extensions. |
When you apply a preset, DailyDriver:
- Disables ALL shortcuts - Clears every GNOME keybinding to start fresh
- Applies only what's defined - Sets exactly the shortcuts in your preset file
- Preserves custom launchers - Your Terminal/Browser/Files shortcuts stay intact
This "clean slate" approach means your cheat sheet shows exactly what's in your config - no inherited GNOME defaults cluttering things up.
# Run tests
pytest tests/ -v
# Lint
ruff check src/ tests/
ruff format src/ tests/
# Build Flatpak locally
flatpak-builder --force-clean --user --install build-dir io.github.gregfelice.DailyDriver.ymlTests run on every push:
- Lint - ruff check and format
- Unit Tests - pytest with coverage
- Integration Tests - Real GNOME Shell on Fedora 39/40/41 (GNOME 45/46/47)
- Preset Validation - Ensures all preset TOML files are valid
- Flatpak Build - Verifies the app builds as a Flatpak
- Screenshots for README
- AUR package
- Flathub (pending review)
- COPR (Fedora)
- KDE Plasma backend
- Hyprland backend
- Custom shortcut editor (create new shortcuts)
- Import/export profiles
Your feedback helps make DailyDriver better!
- Bug reports: Open an issue
- Feature requests: Open an issue
- Questions: Open an issue
GPL-3.0-or-later



