Jump to content
From ArchWiki

Related articles

- Window manager
- Wayland

Hyprland is a wlroots-based tiling Wayland compositor written in C++. Noteworthy features of Hyprland include dynamic tiling, tabbed windows, a clean and readable C++ code-base, and a custom renderer that provides window animations, rounded corners, and Dual-Kawase Blur on transparent windows. General usage and configuration is thoroughly documented at Hyprland wiki.

## Installation

Install the hyprland package.

Alternatively, install the hyprland-gitAUR package for the development version.

Hyprland bundles its own version of wlroots, which closely follows the wlroots-gitAUR. This improves stability, while also avoiding dependency conflicts with other wlroots-based compositors.

## Usage

### Starting

It is currently recommended to start Hyprland from a TTY.

    $ Hyprland

While launching from a display manager is not officially supported, users have reported success launching from GDM, SDDM, and others. The hyprland package contains a display manager entry, and all Hyprland AUR packages will generate one automatically. If manually installing from source, an example `Hyprland.desktop` file is provided in the example directory of the source code, which may be copied to `/usr/share/wayland-sessions/` to provide a display manager entry.

Both methods provide identical results, plus or minus a few environment variables and services.

### Auto login

Users can automatically login by using a display manager or from the shell.

### hyprctl and IPC

hyprctl is a command line utility that comes installed with Hyprland to communicate with the display server. It allows you to dispatch commands to the server (equivalent to commands in the configuration file, but with a slightly different syntax), set keywords, send queries and request information. See the full documentation.

Hyprland also exposes 2 UNIX Sockets, for controlling and getting information about Hyprland via code or command-line utilities. These sockets broadcast events on focus change (windows, workspaces, monitors), creation of windows/workspace, and so on.

Both hyprctl and the IPC sockets can be effectively used in scripts to control Hyprland for complex tasks.

## Configuration

Configuration is done through a single config file, hyprland.conf, though it supports splitting the configuration into multiple files and including them in `hyprland.conf`. If you installed Hyprland with your package manager, it is likely in `/usr/share/hyprland/hyprland.conf` and, after logging in for the first time, `~/.config/hypr/hyprland.conf`. If you installed from source, it is in the Hyprland cloned repository. Copy `hyprland.conf` to `~/.config/hypr/hyprland.conf`.

`hyprland.conf` includes directives to configure your devices (monitors, keyboards, mice, trackpads), as well as settings for animations, decorations, layout, etc. You can set key bindings, window rules, and execute commands (once or each time the config is reloaded).

The config is automatically reloaded each time you update the file. You can also use `hyprctl reload` for the same effect. For some settings (particularly input settings), you may have to restart your Hyprland session.

Settings can also be changed on the fly with `hyprctl` but they will not be saved.

Configuration is documented in the Hyprland wiki.

## Screen sharing

See Screensharing

As a wlroots-based compositor, Hyprland can utilize xdg-desktop-portal-wlr to enable screen capture in a range of applications by way of xdg-desktop-portal.

Hyprland also maintains xdg-desktop-portal-hyprland, a fork of the wlr portal with added functionality including region sharing (broken as of 2022-12-12), window sharing, and a graphical picker utility. Usage of the portal is further documented in the Hyprland wiki

Note: Both xdg-desktop-portal-wlr and xdg-desktop-portal-hyprland are known to conflict with other portal implementations under Hyprland. It is recommended to remove xdg-desktop-portal-kde, xdg-desktop-portal-gnome, or xdg-desktop-portal-lxqt, if installed.

## Flickering on NVIDIA cards

This is a known issue on NVIDIA. You can use hyprland-nvidiaAUR or hyprland-nvidia-gitAUR instead for a better experience.

## See also

- Hyprland Website
- The official documentation
- Hyprland Github Page
- Community-maintained list of tools, plugins and extensions

Category:

- Wayland compositors