Maik-0000FF
schnelle-umlaute
C++

Linux alternative to Windows PowerToys Quick Accent - Fast accent input using hold+space gesture. Supports umlauts, accents, emojis, symbols, and text snippets with accent cycling. Native Fcitx5 addon, no clipboard interference. X11 & Wayland.

Last updated Jul 8, 2026
38
Stars
0
Forks
2
Issues
+1
Stars/day
Attention Score
37
Language breakdown
C++ 72.8%
QML 20.5%
Shell 3.5%
CMake 2.5%
Nix 0.6%
C 0.2%
β–Έ Files click to expand
README

Schnelle Umlaute | PowerToys Quick Accent Alternative for Linux

Schnelle Umlaute Icon

Website License: GPL-3.0-or-later CI Arch Linux NixOS Ubuntu/Debian Linux Mint Fedora openSUSE Fcitx5 Addon Sponsor Ko-fi

Linux Alternative to Windows PowerToys Quick Accent - Fast accent and special character input using hold+space gestures.

Missing PowerToys Quick Accent on Linux? This Fcitx5 input method addon lets you type accents, umlauts, emojis, symbols, and text snippets using intuitive hold + space keyboard gestures. Supports accent cycling (Γ© β†’ Γ¨ β†’ Γͺ β†’ Γ«) for German, French, Spanish and other languages. Clipboard-free operation on X11 and Wayland.

Features:

  • Hold letter + space/arrow keys for accent characters
  • Accent cycling: Press leader key repeatedly to cycle through variants (Γ‘ β†’ Γ  β†’ Γ’ β†’ Γ£)
  • Snippets: Map single keys to entire text phrases
  • Braille Unicode characters (⠁⠃⠉⠙⠑ etc.) support
  • Configurable leader keys (Space, Arrow ←→↑↓, Alt/AltGr, or custom keys with hand-split), keep Space free for normal typing
  • Unlimited mapping slots
  • App blacklist/whitelist, disable in games, password managers, or apps with conflicting shortcuts
  • Standalone QML editor (schnelle-umlaute-editor) for managing mappings, leader keys, app filter, and the cycle overlay
  • Optional cycle overlay daemon (Wayland with wlr-layer-shell) showing accent variants on-screen
  • No clipboard interference, no root permissions
  • Works system-wide on X11 and Wayland
[!NOTE]
The on-screen cycle overlay needs the Wayland wlr-layer-shell protocol,
so it is unavailable on GNOME/Mutter and on X11. Every other feature
(the core accent input, cycling, snippets, the app filter and the editor)
works everywhere, GNOME and X11 included.

Demo

Overlay at the mouse cursor: the accent indicator follows your pointer while you cycle through variants.

https://github.com/user-attachments/assets/49cd0811-7b50-4e0d-8221-f8c18fe39872

Overlay at the text caret: the indicator appears right where you type, so it also works on X11.

https://github.com/user-attachments/assets/5c8e691c-a9b8-4f2b-bddb-98124294d622

Documentation

What Makes This Special?

Unlike clipboard-based or keyboard simulation solutions, this Fcitx5 addon uses direct text insertion (commitString()):

  • Clipboard stays untouched - No interference with copy/paste
  • No root permissions required - Runs as normal user
  • Native X11 and Wayland support - No compatibility layers
  • Hold & Wait pattern - Zero latency, no backspace needed
  • Part of Fcitx5 - Not a background daemon

Quick Start

Arch Linux (AUR)

Available on the AUR. Install with any AUR helper:

yay -S fcitx5-schnelle-umlaute-git
-git: Builds the latest code at install time. Run schnelle-umlaute-setup once afterwards to set your fcitx5 environment variables and enable autostart, which a package install cannot do in your home directory.

NixOS

Run it straight from the flake:

nix run github:Maik-0000FF/schnelle-umlaute

On NixOS, add the flake as an input and import the all-in-one module (it enables fcitx5 with the addon and sets the input-method environment variables):

# flake inputs
schnelle-umlaute.url = "github:Maik-0000FF/schnelle-umlaute";

in your configuration

imports = [ inputs.schnelle-umlaute.nixosModules.default ]; programs.schnelle-umlaute.enable = true;

Already configure fcitx5 yourself? Skip the module and add just the package:

i18n.inputMethod.fcitx5.addons = [ inputs.schnelle-umlaute.packages.${system}.default ];

Install from source (Arch Linux Β· Ubuntu/Debian Β· Linux Mint Β· Fedora Β· openSUSE)

git clone https://github.com/Maik-0000FF/schnelle-umlaute.git
cd schnelle-umlaute
./install.sh

After installation: Logout and login, then run fcitx5-config-qt to add "Schnelle Umlaute" to your input methods. See Configuration for details and screenshots.

Previous version (without the overlay and editor)

The version from before the cycle overlay and the standalone editor is kept on the legacy branch. Build it from source the same way as the main branch.

Usage

  • Switch to Schnelle Umlaute input method (Ctrl + Space), tray icon shows "ÄÀ"
  • Type umlauts: Hold a mapped key, then press Space within the time window
  • Type normally: Release the key without pressing Space, the normal letter appears

Default Mappings

| Hold | + | Press | = | Result | |------|---|-------|---|--------| | a | + | Space | = | Γ€ | | o | + | Space | = | ΓΆ | | u | + | Space | = | ΓΌ | | s | + | Space | = | ß | | Shift+a | + | Space | = | Γ„ | | Shift+o | + | Space | = | Γ– | | Shift+u | + | Space | = | Ü |

All mappings are fully customizable, add French, Spanish, Emoji, Braille, or any Unicode character. See Configuration.

Tip: When typing fast, Space as leader key can cause accidental accents at word boundaries, e.g. "une pomme chaque" becomes "une pommΓ©chaque" (the e is still held when Space is pressed, so Space gets consumed as the leader and the word separator is lost). Switch to an arrow key, Alt, or a custom leader (e.g. f, j) to keep Space free for normal typing. See Configuration β†’ Leader Key and Troubleshooting.
Optional: An on-screen cycling indicator is available on Wayland compositors with wlr-layer-shell support (KDE Plasma, sway, Hyprland, …). See Configuration β†’ Cycle Overlay.

Requirements

  • Linux with Fcitx5 (Arch, Ubuntu/Debian, Linux Mint, Fedora, openSUSE)
  • CMake and extra-cmake-modules
  • GCC with C++20 support

Uninstallation

./uninstall.sh

See Installation Guide for manual uninstallation.

Contributing

Contributions are welcome, especially improving the character presets. If you are a native speaker, your help making your language's preset complete and correct is greatly appreciated. The presets are plain text files that are quick to edit, no build required. See the Contributing guide for the preset format and how to submit a change.

Feedback

Found a bug or have a feature idea? Open an issue.

Support

If you find Schnelle Umlaute useful, you can support its development:
>
GitHub Sponsors
 
Ko-fi
>
A star also helps, it makes this project easier to discover.

License

GPL-3.0-or-later

Author

Created by Maik-0000FF

Credits

Inspired by PowerAccent by Damien Leroy, which was later integrated into Windows PowerToys as Quick Accent.

Built with:

  • Fcitx5 - Input Method Framework
  • C++20 - Modern C++ with chrono and optional
  • CMake - Build system
  • Extra CMake Modules (ECM) - KDE build tools
Thanks to wengxt for creating Fcitx5 and for the guidance on building custom config widgets.


Version: 1.4.1

πŸ”— More in this category

Β© 2026 GitRepoTrend Β· Maik-0000FF/schnelle-umlaute Β· Updated daily from GitHub