Hyprland: Difference between revisions

From Alpine Linux
m (rearranged headings)
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Hyprland is a tiling window manager.
This wiki page is about [https://hyprland.org Hyprland], a [[wayland]] based tiling compositor with all the eyecandy, powerful plugins and much more.
 
Refer to [https://wiki.hyprland.org/Getting-Started/Master-Tutorial/ hyprland Tutorial] to get started on using Hyprland.
 
== Prerequisites ==
{{:Include:Desktop prerequisites}}
* Install [[Alpine_setup_scripts#setup-wayland-base|wayland-base]].This enables [[elogind]] as [[Seat manager|seat manager]], enables [[Repositories#Community|community repository]] and enables [[eudev]].
 
== Installation ==
 
Install the package {{Pkg|hyprland|arch=}} using the command: {{Cmd|# apk add hyprland}}
 
== Configuration ==
 
=== consistent icon theme ===
 
Depending on what applications you are running, you only need the HYPRCURSOR_THEME environment, it should work for all modern applications. But since you are reading this, you probably found an incompatible application. You have the option to disable hyprcursors, then you need only one theme. Otherwise you need to download a theme that is available as hyprcursors and xcursors (e.g. rose-pine-hyprcursor).
 
{{Cat|~/.config/hypr/hyprland.conf|<nowiki># Set the theme for most applications
env = HYPRCURSOR_THEME,$your_hyprcursor_theme
env = HYPRCURSOR_SIZE,24
# Set the theme for some Qt applications
env = XCURSOR_THEME,$your_xcursor_theme
env = XCURSOR_SIZE,24
# Set the theme for some GTK applications
exec-once = gsettings set org.gnome.desktop.interface cursor-theme $your_xcursor_theme
exec-once = gsettings set org.gnome.desktop.interface cursor-size 24</nowiki>}}
 
If you use gsettings make sure you have installed {{pkg|gsettings-desktop-schemas}} package.
 
== Plugins ==
 
=== hyprland-plugin-manager ===
 
From Alpine v3.22 on the ''hyprland-plugin-manager'' package is available. It installs the complete development-tree of hyprland, since it requires to compile hyprland. It is possible to uninstall ''hyprland-plugin-manager'' after the plugin is compiled.
 
=== hyrpland-plugins ===
 
From Alpine v3.23 (not yet released) on or on ''edge'' it is possible to install the [https://github.com/hyprwm/hyprland-plugins official plugins] as a [https://pkgs.alpinelinux.org/package/edge/community/x86_64/hyprland-plugins package]. Checkout the subpackages to install individual plugins.
 
=== loading plugins ===
 
{{Cat|~/.config/hypr/hyprland.conf|<nowiki>plugin = /usr/lib/libhyprexpo.so
plugin {
    hyprexpo {
            columns = 3
            gap_size = 0
            workspace_method = first 1
        }
}
</nowiki>}}
 
This is also useful if you have uninstalled ''hyprland-plugin-manager'' and you can't load the plugin via it.


https://wiki.hyprland.org/Getting-Started/Master-Tutorial/


== Troubleshooting ==
== Troubleshooting ==
Line 11: Line 62:
The ugly graphic goes away when you've launched a [https://wiki.hyprland.org/Useful-Utilities/Wallpapers/ wallpaper utility], but the scary message remains.
The ugly graphic goes away when you've launched a [https://wiki.hyprland.org/Useful-Utilities/Wallpapers/ wallpaper utility], but the scary message remains.


The canonical way to solve this is to
The canonical way to solve this is to install {{pkg|hyprland-wallpapers}} package using the command:
 
{{Cmd|# apk add hyprland-wallpapers}}
 
Or you can just have some file at {{Path|/usr/share/hypr/wall0.png}} or {{Path|/usr/local/share/hypr/wall0.png}} and modify your config file to have a line as follows: {{Cat|~/.config/hypr/hyprland.conf|<nowiki>misc {
        force_default_wallpaper = 0
    }</nowiki>}}
 
=== Hyprland crashes almost immediately ===
 
Hyprland 0.46 has a bug where the default configuration will crash if Xwayland is not installed. You can either install {{pkg|xwayland}}, or  disable in your config:


apk add hyprland-wallpaper
{{Cat|~/.config/hypr/hyprland.conf|<nowiki>xwayland:enabled = false</nowiki>}}


Or you can just have some file at /usr/{local/,}share/hypr/wall0.png and have
This should be fixed in the next update.


```
=== warning message about hyprland-qtutils ===
misc {
 
    force_default_wallpaper = 0
Hyprland 0.46 and newer suggest you install hyprland-qtutils, which is currently not available in alpine.
}
 
```
<blockquote>Your system does not have hyprland-qtutils installed. This is a runtime dependency for some dialogs. Consider installing it.</blockquote>
in your config
 
You can disable the check in your config like so:
 
{{Cat|~/.config/hypr/hyprland.conf|<nowiki>misc:disable_hyprland_qtutils_check = true</nowiki>}}
 
 
== See Also ==
* [https://wiki.hyprland.org Official Hyprland wiki]
 
[[Category:compositor]]

Latest revision as of 16:01, 28 July 2025

This wiki page is about Hyprland, a wayland based tiling compositor with all the eyecandy, powerful plugins and much more.

Refer to hyprland Tutorial to get started on using Hyprland.

Prerequisites

Installation

Install the package hyprland using the command:

# apk add hyprland

Configuration

consistent icon theme

Depending on what applications you are running, you only need the HYPRCURSOR_THEME environment, it should work for all modern applications. But since you are reading this, you probably found an incompatible application. You have the option to disable hyprcursors, then you need only one theme. Otherwise you need to download a theme that is available as hyprcursors and xcursors (e.g. rose-pine-hyprcursor).

Contents of ~/.config/hypr/hyprland.conf

# Set the theme for most applications env = HYPRCURSOR_THEME,$your_hyprcursor_theme env = HYPRCURSOR_SIZE,24 # Set the theme for some Qt applications env = XCURSOR_THEME,$your_xcursor_theme env = XCURSOR_SIZE,24 # Set the theme for some GTK applications exec-once = gsettings set org.gnome.desktop.interface cursor-theme $your_xcursor_theme exec-once = gsettings set org.gnome.desktop.interface cursor-size 24

If you use gsettings make sure you have installed gsettings-desktop-schemas package.

Plugins

hyprland-plugin-manager

From Alpine v3.22 on the hyprland-plugin-manager package is available. It installs the complete development-tree of hyprland, since it requires to compile hyprland. It is possible to uninstall hyprland-plugin-manager after the plugin is compiled.

hyrpland-plugins

From Alpine v3.23 (not yet released) on or on edge it is possible to install the official plugins as a package. Checkout the subpackages to install individual plugins.

loading plugins

Contents of ~/.config/hypr/hyprland.conf

plugin = /usr/lib/libhyprexpo.so plugin { hyprexpo { columns = 3 gap_size = 0 workspace_method = first 1 } }

This is also useful if you have uninstalled hyprland-plugin-manager and you can't load the plugin via it.


Troubleshooting

Black/Magenta checkerboard background: Hyprland failed to load 1 essential asset

As of Hyprland 0.45.0, upstream shows a scary message (and an ugly graphic) if you don't have their wallpapers installed.

The ugly graphic goes away when you've launched a wallpaper utility, but the scary message remains.

The canonical way to solve this is to install hyprland-wallpapers package using the command:

# apk add hyprland-wallpapers

Or you can just have some file at /usr/share/hypr/wall0.png or /usr/local/share/hypr/wall0.png and modify your config file to have a line as follows:

Contents of ~/.config/hypr/hyprland.conf

misc { force_default_wallpaper = 0 }

Hyprland crashes almost immediately

Hyprland 0.46 has a bug where the default configuration will crash if Xwayland is not installed. You can either install xwayland, or disable in your config:

Contents of ~/.config/hypr/hyprland.conf

xwayland:enabled = false

This should be fixed in the next update.

warning message about hyprland-qtutils

Hyprland 0.46 and newer suggest you install hyprland-qtutils, which is currently not available in alpine.

Your system does not have hyprland-qtutils installed. This is a runtime dependency for some dialogs. Consider installing it.

You can disable the check in your config like so:

Contents of ~/.config/hypr/hyprland.conf

misc:disable_hyprland_qtutils_check = true


See Also