Hyprland Window Manager

Hyprland - a dynamic tiling Wayland compositor

Hyprland is a dynamic tiling Wayland compositor that doesn't sacrifice on its looks. It provides smooth animations, great functionality, and an easy-to-use configuration.

Features #

  • Dynamic tiling - Windows tile automatically with no manual layouts
  • Wayland native - Modern protocol, better performance
  • Smooth animations - Beautiful window transitions
  • Layer shell - Status bars and notifications work properly
  • XWayland - Run X11 applications seamlessly

Setup #

Installation #

On Arch Linux:

sudo pacman -S hyprland

On other distributions, see the official installation guide.

Configuration #

Config files live in ~/.config/hypr/:

  • hyprland.conf - Main configuration
  • monitors.conf - Monitor layouts and resolutions
  • bindings.conf - Key bindings
  • autostart.conf - Applications to start on launch

Window Rules #

Applications automatically go to specific workspaces:

# Workspace assignments
windowrule = workspace 1, match:class ^(steam)$
windowrule = workspace 4, match:class ^(kitty)$
windowrule = workspace 5, match:class ^(firefox)$
windowrule = workspace 5, match:class ^(brave-browser)$
windowrule = workspace 6, match:class ^(signal)$
windowrule = workspace 8, match:class ^(brave-chat.openai.com__-Default)$
windowrule = workspace 9, match:class ^(org.prismlauncher.PrismLauncher)$

# Float certain windows
windowrule = float on, match:class ^(org.pulseaudio.pavucontrol)$
windowrule = float on, match:class ^(xdg-desktop-portal-gtk)$

Workspaces #

Workspaces are organized by function:

Workspace Purpose
1 Steam/Games
2 Graphics (Krita)
3 General
4 Terminals
5 Web Browsers
6 Chat (Signal)
7 Media
8 Web Apps (ChatGPT, YouTube)
9 Minecraft
10 System

Default Key Bindings #

Hyprland uses a SUPER (Windows/Super) key modifier:

Window Management #

Key Action
SUPER+Q Close window
SUPER+Shift+Q Force kill window
SUPER+T Toggle floating
SUPER+F Toggle fullscreen
SUPER+J Toggle split direction
Key Action
SUPER+arrow keys Change window focus
SUPER+Shift+arrow keys Move window
SUPER+1-0 Switch to workspace
SUPER+Shift+1-0 Move window to workspace

Mouse #

  • SUPER+LMB - Move window
  • SUPER+RMB - Resize window

Scripts #

Custom scripts in ~/.config/hypr/scripts/:

terminal.sh #

Launch terminal with specific rules:

#!/usr/bin/env bash
kitty --class=kitty

focus_or_launch.sh #

Focus a window if it exists, otherwise launch it:

#!/usr/bin/env bash
# Usage: focus_or_launch <class> <command>

toggle_waybar.sh #

Toggle the status bar visibility:

#!/usr/bin/env bash
killall -SIGUSR1 waybar

Autostart #

Applications started automatically:

# From autostart.conf
exec-once = waybar
exec-once = hyprpaper
exec-once = mako  # Notification daemon

Environment Variables #

Wayland-specific settings:

env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland

Troubleshooting #

Applications won't launch #

Check if they're trying to use X11:

# Force XWayland for problematic apps
windowrule = xwayland, match:class ^(app-name)$

Screen sharing not working #

Ensure xdg-desktop-portal-hyprland is installed:

sudo pacman -S xdg-desktop-portal-hyprland

See Also #