hyprland-per-window-layout

Crates.iohyprland-per-window-layout
lib.rshyprland-per-window-layout
version0.2.17
created_at2023-02-17 11:47:49.407117+00
updated_at2025-09-01 17:41:31.394686+00
descriptionPer window keyboard layout (language) for Hyprland wayland compositor
homepage
repositoryhttps://github.com/coffebar/hyprland-per-window-layout
max_upload_size
id787499
size54,792
Saltaformajo (coffebar)

documentation

README

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.

Commit count: 66

cargo fmt