Why Hyprland, a Beautiful Tiling Desktop For Linux, Is Worth Your Time

A photograph of a laptop on top of a simple desk.

Hyprland is a bleeding-edge and beautiful dynamic window manager for Linux. It uses Wayland for its display protocol, making it both quick and secure compared to traditional Xorg-based desktops. In this article, we look at Hyprland, what makes it tick, and how you can use it to create a beautiful tiling desktop in Linux today.

Why Use Hyprland As Your Window Manager

The biggest selling point of Hyprland is that it’s a complete solution bundled in a single package. It comes with a dynamic tiling wayland compositor, shortcuts daemon, and app launcher. This makes Hyprland attractive to users who want a window manager that they can immediately use right out of the box.

A desktop running Hyprland with a couple of windows open.

Hyprland is also good at handling high-resolution and multi-monitor setups. For instance, the app has a dedicated setting for display scaling and resolution adjustment.

Tip: unsure what a window manager is? Learn about the difference between window managers and desktop environments here.

Lastly, Hyprland comes with its package manager for handling plugins. This makes it easy to include third-party features such as desktop wallpapers, title bars, and custom tiling behaviors.

A screenshot showing the plugins page for Hyprland.

Installing Hyprland in Linux

The first step in installing Hyprland is to make sure that your Linux system is currently up-to-date. In Fedora, you can do this by running dnf:

sudo dnf update
A terminal showing the update process for dnf.

For Arch Linux, you can run pacman with the -Syu flag:

sudo pacman -Syu

Install the Hyprland package from your distro’s default repository. For Fedora, run the following command:

sudo dnf install hyprland wofi kitty dolphin

In Arch Linux, you can use the pacman package manager:

sudo pacman -S hyprland wofi kitty dolphin polkit

Building and Installing Hyprland in Ubuntu

Unlike Fedora and Arch Linux, Ubuntu doesn’t provide Hyprland on any of its repositories. As such, the only way to install the window manager is by compiling the package itself on your machine.

Note: the following instructions will only work on Ubuntu 24.10. This is because Hyprland requires a newer Wayland binary and the latest Wayland features than what’s available in older versions of Ubuntu.

To start building Hyprland on Ubuntu, make sure that the entire system is up-to-date:

sudo apt update && sudo apt upgrade

Install the dependencies for building and running Hyprland in Ubuntu:

sudo apt install curl wofi kitty dolphin

Navigate to your home directory, then run the following command to start the build process:

cd ~
curl https://hypr.kataba.me/oracular.sh | bash
A terminal showing the third-party build script for Hyprland working properly.

FYI: looking for a window manager for your X11 system instead? Check out our comprehensive guide on setting up bspwm today.

Running Hyprland for the First Time

With Hyprland up and running on your system, you can now create your tiling desktop. To do that, log out of your current session, click the Cog Wheel icon on log in screen, then select “Hyprland” on the desktop list.

A screenshot highlighting the Hyprland entry in the GDM login screen.

Login to your user account, then wait for a moment as Hyprland creates the configuration files for your new Hyprland session.

Once the window manager displays its custom wallpaper, press Win + Q to create a new terminal session on the current workspace.

Note: you can press Win + Q again to create a new terminal window on the same desktop and Hyprland will properly split it in your screen.

Apart from creating terminal windows, you can open your regular apps inside Hyprland. To do that, press Win + R, then provide the app’s name on the launcher. In my case, I will type “firefox” to open a web browser on my current workspace.

A screenshot showing the program launcher in Hyprland displaying the Firefox entry.

To close a window, move your cursor on the window that you want to close, then press Win + C.

Working With Workspaces in Hyprland

By default, Hyprland comes with 9 workspaces for you to play around with. You can access them by pressing Win, followed by any number on your keyboard’s number row. For example, pressing Win + 5 will set your focus to the fifth workspace.

You can also move existing windows to a different workspace. To do that, highlight your window, then press Win + Shift followed by the workspace number that you want to move the window to.

A screenshot showing the Firefox browser on the fifth workspace in Hyprland.

Aside from that, Hyprland comes with a special workspace that you can toggle on every monitor. This is useful for putting aside windows that you don’t want to clutter on your main workspaces.

To move an existing window on the special workspace, highlight it using your cursor, then press Win + Shift + S.

A screenshot showing special workspace on top of a regular workspace.

You can press Win + S to either hide or reveal your window, and Win + Shift + 1 to move any windows in your special workspace back to your regular desktop.

Configuring Hyprland

Similar to other window managers, Hyprland comes with its own set of config files that allows you to tweak every aspect of the program. This includes how Hyprland looks, its default keybindings, and overall monitor settings. In this section, we’ll guide you through the basic steps of personalizing your Hyprland setup.

The easiest customization that you can do in Hyprland is disabling the autoconfiguration warning on your desktop. To do that, navigate to your Hyprland config directory, then open the window manager’s config file using your favorite text editor:

cd ~/.config/hypr/
nano ./hyprland.conf

Scroll down to the autogenerated line, then change its value from “1” to “0.”

A terminal highlighting the autogenerated variable with its default value.

Press Ctrl + O to save your config file and apply the changes on your desktop.

A screenshot showing the modified autogenerated value along with the missing top banner in Hyprland.

Changing the Default Window Layout

Hyprland comes with two preset window layouts right out of the box. One mimics bspwm’s binary tree layout, while the other is similar to dwm’s stack setup. To change the window rules, press Ctrl + W then type general {.

This will put your cursor inside the general function for Hyprland. Scroll down to the “layout” variable, then set it to either “dwindle” for a bspwm layout or “master” for dwm.

A terminal highlighting the modified desktop layout variable.

Save and apply your new config by pressing Ctrl + O.

Test whether Hyprland is now using your new layout by create a handful of new windows and tiling them in a desktop.

A screenshot showing the dwm-like layout in Hyprland.

Adding a Custom Keybinding in Hyprland

In addition to changing the default window layout, you can create custom keybindings inside the Hyprland config file. To do that, press Ctrl + W, then type bind = .

A terminal showing the location of the keybindings in the Hyprland config.

Scroll down to the line just below the “togglesplit” key, then provide the function that you want to add. Hyprland uses the following syntax when defining a new shortcut:

bind = $mainMod, KEY, function, argument

Using that, you can use this line of code to enable the “window swap” feature for Hyprland’s dwm-like mode:

bind = $mainMod, O, layoutmsg, swapwithmaster auto

You can also modify the bindings that are already present in the config file. For instance, changing the value of the $mainMod variable from “SUPER” to “ALT” will set your modifier key to Alt instead of Win.

A screenshot highlighting the modified modifier key for Hyprland.

Tweaking the Default Screen Resolution in Hyprland

One unique feature of Hyprland is that it can quickly change your monitor’s resolution and layout without restarting the entire desktop. This is helpful if you’re running Hyprland on a laptop and you constantly switch between multiple displays.

To change the monitor’s settings in Hyprland, first list all the connected monitors on your machine:

hyprctl monitors all

Take note of the name, resolution, and the available modes of each monitor entry in the command’s output, then go back to your Hyprland config file.

A terminal highlighting the important details of your monitor for Hyprland.

Scroll down to the “MONITORS” category, then change the value of the “monitor” variable to your monitor’s current settings. For example, the following line sets my eDP-1 monitor to a resolution of 1920×1080 at 60Hz:

monitor = eDP-1, 1920x1080@60, auto, 1

To add a new monitor to your Hyprland desktop, you can copy your original monitor variable and replace it with the name and resolution of your second display.

A screenshot highlighting the multi-monitor variables for Hyprland.

Press Ctrl + O to save your current Hyprland config and wait for it to apply your new monitor resolution and layout.

With the knowledge of installing and using Hyprland under your belt, you can now create your own custom tiling desktop using this beautiful window manager. If you have any issues, you can always check the Hyprland Wiki for help and documentation. That said, Hyprland isn’t the only solution available today. Learn some of the best desktop environments in Linux today.

Image credit: Kari Shea via Unsplash. All alterations and screenshots by Ramces Red.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Ramces Red Avatar