Hyprland is a powerful, Wayland-based window manager for Linux. It introduces several innovative features, such as a custom display compositor and the ability to install third-party plugins with its package manager. In this article, we look at 5 of the best plugins available for Hyprland and guide you through installing them on your machine.
Content
- Preparing the System for Hyprland Plugins
- 1. hy3
- 2. Hyprbars
- 3. HyprEasymotion
- 4. Hyprexpo
- 5. Virtual Desktops
Preparing the System for Hyprland Plugins
Unlike a traditional desktop environment, Hyprland treats its plugins as direct extensions to the window manager. This is similar to dwm where you use a patch file and manually insert snippets of code straight to the window manager’s source code.
Because of this quirk, you need to first obtain a handful of dependencies before you can start installing plugins for Hyprland. To do that, run the following command:
sudo dnf install hyprland-devel cpio cmake make meson ninja glm-devel
For Arch Linux, you can use the pacman utility:
sudo pacman -S cpio cmake make meson ninja
In Ubuntu, you can install these dependencies using apt:
sudo apt install cpio cmake make meson ninja
Use the built-in package manager in Hyprland to create the necessary tools for installing third-party plugins:
hyprpm update -v
With that out of the way, we can now go through some of the best Hyprland plugins that you can install in your desktop today.
Good to know: looking for a customizable window manager for X11? Check out our overview and guide for setting up bspwm.
1. hy3
Hy3 is a powerful extension for Hyprland that adds the ability to tile windows similar to i3 and Sway manually. It works by taking advantage of Hyprland’s window groups feature to change the orientation of the split depending on your current settings. This allows you to “force” either a horizontal or a vertical split using a Hyprland dispatch command.
Hy3 also comes with an “auto tiling” option that alternates between a horizontal and vertical split. This gives you more flexibility regarding window layouts, especially for quick and dirty workspaces.
To install Hy3 on your Hyprland session, run the following commands:
hyprpm add https://github.com/outfoxxed/hy3
Enable the Hy3 plugin and load it to your current session:
hyprpm enable hy3
Open your Hyprland config file using your favorite text editor:
nano ~/.config/hypr/hypr.config
Scroll down the “general” function then change the layout variable from “dwindle” to “hy3.”
Save and apply your new settings by pressing Ctrl + O.
2. Hyprbars
Title bars are a key part of every desktop environment. They serve as small indicators that give you context on what’s running on a particular window. That said, most window managers today forgo these for a sleek and clean look, making it hard to check what’s running on a workspace.
Hyprbars is a simple plugin that brings back this traditional feature to Hyprland. It adds a slew of customization options which include the ability to set the height, color, and even the fonts of your window bars.
Aside from that, Hyprbars can add interface elements to its title bars. For example, you can recreate the traditional DE buttons such as the “Close,” “Minimize,” and “Maximize.”
To install Hyprbars on your system, run the following command on a new terminal session:
hyprpm add https://github.com/hyprwm/hyprland-plugins
Start the Hyprbar plugin by using the “enable” subcommand:
hyprpm enable hyprbars
Press Win + Q to open a new terminal and confirm that Hyprland is adding title bars to your windows.
3. HyprEasymotion
One of the pain points I have with window managers is that they usually don’t have a quick way to select a window in a workspace. For instance, selecting a window in Hyprland requires me to either use my mouse or press Win, followed by an arrow key to guide my “current focus” to the window I want.
HyprEasymotion solves this issue by taking the Easymotion system from Vim and applying it to Hyprland windows. Doing this allows you to quickly jump to the window that you want without “cycling through” or using the mouse to change the focus.
On top of that, it’s also possible to use HyprEasymode beyond simple window focus tasks. You can, for example, create a custom keybinding that automatically kills a window that you select while inside Easymode.
To install the HyprEasymode plugin, run the following command on a terminal window:
hyprpm add https://github.com/zakk4223/hyprland-easymotion
Just like with other plugins, start it on your current session using the “enable” subcommand:
hyprpm enable hyprEasymotion
While HyprEasymotion is already running on your system, you still need to provide the keybind for it to work properly. For that, open Hyprland’s config file using your favorite text editor:
nano ~/.config/hypr/hyprland.conf
Scroll down to the Keybindings section, then paste the following line of code at the end of the first keybind block:
bind = $mainMod, Z, easymotion, action:hyprctl dispatch focuswindow address:{}
Save your config file, then confirm that it’s working properly by pressing Win + Z and check if the Easymode indicators show up on your windows.
On a side note: looking to improve your traditional GNOME desktop? Check out our picks for the best GNOME Shell Extensions today.
4. Hyprexpo
Hyprexpo is a clever plugin for Hyprland that introduces an overview mode for your entire desktop session. This is similar to KDE and GNOME, where you have a screen that shows every active window on your desktop workspaces. As a long-time GNOME user, I find Hyprexpo to be an indispensable part of my daily workflow.
In addition, Hyprexpo also provides a handful of customization options for its overview mode. For example, you can change how it displays the active workspaces and enable a macOS-like gesture to toggle the Hyprexpo mode.
To install Hyprexpo on your system, run the following command:
hyprpm add https://github.com/hyprwm/hyprland-plugins
Enable the Hyprexpo plugin on your current session:
hyprpm enable hyprexpo
Open your computer’s Hyprland config file, then add the following line of code on your Keybindings section:
bind = $mainMod, I, hyprexpo:expo, toggle
Save your config file, then press Win + I to confirm that the Hyprexpo is working properly.
5. Virtual Desktops
A downside of Hyprland’s multi-monitor approach is that it gives every monitor a set of independent workspaces. Although it might appear useful, it can be confusing to manage once you start accumulating multiple windows across different desktops. In my experience, I had a couple of instances where I accidentally switched the windows from a different workspace since my mouse was on my second monitor.
Virtual-desktops is a nifty plugin that fixes this problem by creating an entire class of desktop workspaces inside Hyprland. With this, the window manager will treat your entire multi-monitor setup as a single “virtual monitor” sharing a single workspace. Similar to GNOME and KDE, this makes managing different spaces a lot easier and cleaner.
To install virtual-desktops, run the following command on a new terminal session:
hyprpm add https://github.com/levnikmyskin/hyprland-virtual-desktops
Start the virtual-desktops plugin using Hyprpm’s enable subcommand:
hyprpm enable virtual-desktops
Open your Hyprland config file using your favorite text editor.
Press Ctrl + W, then type “workspace” to jump to the section of the config for Workspace-related bindings.
Delete the lines that point to workspaces 6 to 10, then replace the “workspace” value on keybinds for workspaces 1 to 5 with “vdesk.”
Scroll down a bit, delete the movement keybinds for workspaces 6 to 10, then replace the “movetoworkspace” value with “movetodesk.”
Press Ctrl + O to save and apply your new Hyprland config file.
Confirm that the plugin is working properly by pressing Win + 1 twice.
Looking at and learning some of the best plugins for Hyprland is just the first step in exploring this diverse world of window managers and desktop environments. Looking to move to a more all-in-one solution? Check out our picks on the best desktop environments for Linux today.
Image credit: Justin Morgan via Unsplash. All alterations and screenshots by Ramces Red.
Ramces Red –
Staff Writer
Ramces is a technology writer that lived with computers all his life. A prolific reader and a student of Anthropology, he is an eccentric character that writes articles about Linux and anything *nix.
Subscribe to our newsletter!
Our latest tutorials delivered straight to your inbox
Sign up for all newsletters.
By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time. Subscribe