#keyboard-layout #hyprland #wayland #daemon

app hyprland-per-window-layout

Per window keyboard layout (language) for Hyprland wayland compositor

16 releases

0.2.17 Sep 1, 2025
0.2.14 Jul 15, 2025
0.2.13 Aug 27, 2024
0.2.11 Jul 9, 2024
0.2.1 Mar 25, 2023

#354 in GUI

Download history

762 downloads per month

MIT license

29KB
567 lines

Stand With Ukraine

Hyprland Per-Window Keyboard Layout Manager

Automatic keyboard layout switching for Hyprland - each window remembers its own keyboard layout.

Features

  • 🚀 Zero configuration - works out of the box
  • 🧠 Per-window memory - each window maintains its layout
  • Lightweight - minimal resource usage (Rust)
  • 🔧 Optional configuration - set default layouts per application

Use Cases

  • Developers: Code in English, chat in native language
  • Multilingual users: Seamless switching between languages
  • Power users: Consistent layouts across applications

Requirements: At least 2 keyboard layouts in hyprland.conf

Installation

From AUR (Arch Linux)

# e.g.
yay -Sy && yay -S hyprland-per-window-layout

Add to hyprland.conf:

exec-once = /usr/bin/hyprland-per-window-layout

From Cargo

cargo install hyprland-per-window-layout

Add to hyprland.conf:

exec-once = ~/.cargo/bin/hyprland-per-window-layout

Gentoo

Activate wayland overlay as described in README, allow ~amd64 keyword and then install it:

# emerge --ask gui-apps/hyprland-per-window-layout

From Source

git clone https://github.com/coffebar/hyprland-per-window-layout.git
cd hyprland-per-window-layout
cargo build --release
mkdir -p ~/.local/bin/
cp target/release/hyprland-per-window-layout ~/.local/bin/

Add to hyprland.conf:

exec-once = ~/.local/bin/hyprland-per-window-layout

Configuration

Optional. See configuration.md for setting default layouts per application.

Contributing

Bug reports and PRs are welcome! See CONTRIBUTING.md for guidelines.

Tested on Hyprland v0.50.

Dependencies

~5–18MB
~190K SLoC