mirror of
https://github.com/hyprwm/hyprland-wiki.git
synced 2024-11-22 20:55:59 +01:00
wiki: s/##/#/g
:trollface:
This commit is contained in:
parent
c459b5f3dc
commit
7df5a5f10f
27 changed files with 160 additions and 162 deletions
|
@ -1,8 +1,8 @@
|
||||||
## Table of contents
|
# Table of contents
|
||||||
|
|
||||||
{{< toc >}}
|
{{< toc >}}
|
||||||
|
|
||||||
## General
|
# General
|
||||||
|
|
||||||
Animations are declared with the `animation` keyword.
|
Animations are declared with the `animation` keyword.
|
||||||
|
|
||||||
|
@ -23,14 +23,14 @@ animation=NAME,ONOFF,SPEED,CURVE
|
||||||
The animations are a tree. If an animation is unset, it will inherit its
|
The animations are a tree. If an animation is unset, it will inherit its
|
||||||
parent's values. See [animation tree](#animation-tree).
|
parent's values. See [animation tree](#animation-tree).
|
||||||
|
|
||||||
### Examples
|
## Examples
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
animation=workspaces,1,8,default
|
animation=workspaces,1,8,default
|
||||||
animation=windows,1,10,myepiccurve,slide
|
animation=windows,1,10,myepiccurve,slide
|
||||||
```
|
```
|
||||||
|
|
||||||
### Animation tree
|
## Animation tree
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ global
|
||||||
↳ specialWorkspace - styles: same as workspaces
|
↳ specialWorkspace - styles: same as workspaces
|
||||||
```
|
```
|
||||||
|
|
||||||
## Curves
|
# Curves
|
||||||
|
|
||||||
Defining your own Bezier curve can be done with the `bezier` keyword:
|
Defining your own Bezier curve can be done with the `bezier` keyword:
|
||||||
|
|
||||||
|
@ -63,13 +63,13 @@ good website to design your bezier can be found
|
||||||
[here, on cssportal.com](https://www.cssportal.com/css-cubic-bezier-generator/),
|
[here, on cssportal.com](https://www.cssportal.com/css-cubic-bezier-generator/),
|
||||||
if you want to instead choose from a list of beizers, you can check out [easings.net](https://easings.net).
|
if you want to instead choose from a list of beizers, you can check out [easings.net](https://easings.net).
|
||||||
|
|
||||||
### Example
|
## Example
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
bezier=overshot,0.05,0.9,0.1,1.1
|
bezier=overshot,0.05,0.9,0.1,1.1
|
||||||
```
|
```
|
||||||
|
|
||||||
## Extras
|
# Extras
|
||||||
|
|
||||||
For animation style `popin` in `windows`, you can specify a minimum percentage
|
For animation style `popin` in `windows`, you can specify a minimum percentage
|
||||||
to start from. For example:
|
to start from. For example:
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
## Table of Contents
|
# Table of Contents
|
||||||
|
|
||||||
{{< toc >}}
|
{{< toc >}}
|
||||||
|
|
||||||
## Basic
|
# Basic
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
bind=MODS,key,dispatcher,params
|
bind=MODS,key,dispatcher,params
|
||||||
|
@ -29,7 +29,7 @@ _For a complete mod list, see [Variables](../Variables/#variable-types)._
|
||||||
|
|
||||||
_The dispatcher list can be found in [Dispatchers](../Dispatchers)._
|
_The dispatcher list can be found in [Dispatchers](../Dispatchers)._
|
||||||
|
|
||||||
## Uncommon syms / binding with a keycode
|
# Uncommon syms / binding with a keycode
|
||||||
|
|
||||||
See the
|
See the
|
||||||
[xkbcommon-keysyms.h header](https://github.com/xkbcommon/libxkbcommon/blob/master/include/xkbcommon/xkbcommon-keysyms.h)
|
[xkbcommon-keysyms.h header](https://github.com/xkbcommon/libxkbcommon/blob/master/include/xkbcommon/xkbcommon-keysyms.h)
|
||||||
|
@ -49,9 +49,9 @@ bind=SUPER,28,exec,amongus
|
||||||
Will bind <key>SUPER</key> + <key>T</key>. (<key>T</key> is keycode 28.) - You
|
Will bind <key>SUPER</key> + <key>T</key>. (<key>T</key> is keycode 28.) - You
|
||||||
can also use `xev` or `wev` to find keycodes.
|
can also use `xev` or `wev` to find keycodes.
|
||||||
|
|
||||||
## Misc
|
# Misc
|
||||||
|
|
||||||
### Unbind
|
## Unbind
|
||||||
|
|
||||||
You can also unbind with `unbind`, e.g.:
|
You can also unbind with `unbind`, e.g.:
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ May be useful for dynamic keybindings with `hyprctl`.
|
||||||
hyprctl keyword unbind SUPER,O
|
hyprctl keyword unbind SUPER,O
|
||||||
```
|
```
|
||||||
|
|
||||||
### Mouse buttons
|
## Mouse buttons
|
||||||
|
|
||||||
You can also bind mouse buttons, by prefacing the mouse keycode with `mouse:`,
|
You can also bind mouse buttons, by prefacing the mouse keycode with `mouse:`,
|
||||||
for example:
|
for example:
|
||||||
|
@ -76,7 +76,7 @@ bind=SUPER,mouse:272,exec,amongus
|
||||||
|
|
||||||
will bind it to <key>SUPER</key> + <key>LMB</key>.
|
will bind it to <key>SUPER</key> + <key>LMB</key>.
|
||||||
|
|
||||||
### Only modkeys
|
## Only modkeys
|
||||||
|
|
||||||
For binding only modkeys, you need to use the TARGET modmask (with the
|
For binding only modkeys, you need to use the TARGET modmask (with the
|
||||||
activating mod) and the `r` flag, e.g.:
|
activating mod) and the `r` flag, e.g.:
|
||||||
|
@ -85,7 +85,7 @@ activating mod) and the `r` flag, e.g.:
|
||||||
bindr=SUPERALT,Alt_L,exec,amongus
|
bindr=SUPERALT,Alt_L,exec,amongus
|
||||||
```
|
```
|
||||||
|
|
||||||
### Mouse wheel
|
## Mouse wheel
|
||||||
|
|
||||||
You can also bind the mouse wheel with `mouse_up` and `mouse_down`:
|
You can also bind the mouse wheel with `mouse_up` and `mouse_down`:
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ bind=SUPER,mouse_down,workspace,e-1
|
||||||
|
|
||||||
(control the reset time with `binds:scroll_event_delay`)
|
(control the reset time with `binds:scroll_event_delay`)
|
||||||
|
|
||||||
### Switches
|
## Switches
|
||||||
|
|
||||||
Useful for binding e.g. the lid close/open event:
|
Useful for binding e.g. the lid close/open event:
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ bindl=,switch:[switch name],exec,swaylock
|
||||||
|
|
||||||
check out your switches in `hyprctl devices`.
|
check out your switches in `hyprctl devices`.
|
||||||
|
|
||||||
## Bind flags
|
# Bind flags
|
||||||
|
|
||||||
`bind` supports flags in this format:
|
`bind` supports flags in this format:
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ bindr=, SUPER, SUPER_L, exec, pkill wofi || wofi
|
||||||
# See Mouse Binds section for bindm usage
|
# See Mouse Binds section for bindm usage
|
||||||
```
|
```
|
||||||
|
|
||||||
## Mouse Binds
|
# Mouse Binds
|
||||||
|
|
||||||
Mouse binds are binds that heavily rely on a mouse, usually its movement.
|
Mouse binds are binds that heavily rely on a mouse, usually its movement.
|
||||||
They will have one less arg, and look for example like this:
|
They will have one less arg, and look for example like this:
|
||||||
|
@ -176,7 +176,7 @@ Mouse binds, despite their name, behave like normal binds. You are free to use
|
||||||
whatever keys / mods you please. When held, the mouse function will be activated.
|
whatever keys / mods you please. When held, the mouse function will be activated.
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Binding mods
|
# Binding mods
|
||||||
|
|
||||||
You can bind a mod alone like this:
|
You can bind a mod alone like this:
|
||||||
|
|
||||||
|
@ -184,7 +184,7 @@ You can bind a mod alone like this:
|
||||||
bindr=ALT,Alt_L,exec,amongus
|
bindr=ALT,Alt_L,exec,amongus
|
||||||
```
|
```
|
||||||
|
|
||||||
## Global Keybinds
|
# Global Keybinds
|
||||||
|
|
||||||
Yes, you heard this right, Hyprland does support global keybinds for ALL apps,
|
Yes, you heard this right, Hyprland does support global keybinds for ALL apps,
|
||||||
including OBS, Discord, Firefox, etc.
|
including OBS, Discord, Firefox, etc.
|
||||||
|
@ -224,7 +224,7 @@ they don't work, try removing mods and binding them to e.g. <key>F1</key>.
|
||||||
Combining this with a submap should yield neat and usable results.
|
Combining this with a submap should yield neat and usable results.
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Submaps
|
# Submaps
|
||||||
|
|
||||||
If you want keybind submaps, for example if you press <key>ALT</key> +
|
If you want keybind submaps, for example if you press <key>ALT</key> +
|
||||||
<key>R</key>, you can enter a "resize" mode, resize with arrow keys, and leave
|
<key>R</key>, you can enter a "resize" mode, resize with arrow keys, and leave
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
## Table of contents
|
# Table of contents
|
||||||
|
|
||||||
{{< toc >}}
|
{{< toc >}}
|
||||||
|
|
||||||
Please keep in mind some layout-specific dispatchers will be listed in the
|
Please keep in mind some layout-specific dispatchers will be listed in the
|
||||||
layout pages (See the sidebar).
|
layout pages (See the sidebar).
|
||||||
|
|
||||||
## Parameter explanation
|
# Parameter explanation
|
||||||
|
|
||||||
| Param type | Description |
|
| Param type | Description |
|
||||||
| ---------- | ----------- |
|
| ---------- | ----------- |
|
||||||
|
@ -17,7 +17,7 @@ layout pages (See the sidebar).
|
||||||
| floatdelta | a float value delta, e.g `-0.2` or `+0.2`. |
|
| floatdelta | a float value delta, e.g `-0.2` or `+0.2`. |
|
||||||
| workspaceopt | see below. |
|
| workspaceopt | see below. |
|
||||||
|
|
||||||
## List of Dispatchers
|
# List of Dispatchers
|
||||||
|
|
||||||
| Dispatcher | Description | Params |
|
| Dispatcher | Description | Params |
|
||||||
| ---------- | ----------- | ------ |
|
| ---------- | ----------- | ------ |
|
||||||
|
@ -65,7 +65,7 @@ bind = MOD,KEY,exec,sleep 1 && hyprctl dispatch dpms off
|
||||||
|
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Workspaces
|
# Workspaces
|
||||||
|
|
||||||
You have seven choices:
|
You have seven choices:
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ You have seven choices:
|
||||||
`movetoworkspace`. Any other dispatcher will result in undocumented behavior.
|
`movetoworkspace`. Any other dispatcher will result in undocumented behavior.
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Special Workspace
|
# Special Workspace
|
||||||
|
|
||||||
Special workspace is what is called a "scratchpad" in some other places. A
|
Special workspace is what is called a "scratchpad" in some other places. A
|
||||||
workspace that you can toggle on/off on any monitor.
|
workspace that you can toggle on/off on any monitor.
|
||||||
|
@ -98,7 +98,7 @@ You cannot have floating windows in the Special workspace. Making a window float
|
||||||
will send it to the currently active _real_ workspace.
|
will send it to the currently active _real_ workspace.
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Workspace options
|
# Workspace options
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
allfloat -> makes all new windows floating (also floats/unfloats windows on toggle)
|
allfloat -> makes all new windows floating (also floats/unfloats windows on toggle)
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
Dwindle is a BSPWM-like layout, where every window on a workspace is a member
|
Dwindle is a BSPWM-like layout, where every window on a workspace is a member
|
||||||
of a binary tree.
|
of a binary tree.
|
||||||
|
|
||||||
## Quirks
|
# Quirks
|
||||||
|
|
||||||
Dwindle splits are NOT PERMANENT. The split is determined dynamically with the
|
Dwindle splits are NOT PERMANENT. The split is determined dynamically with the
|
||||||
W/H ratio of the parent node. If W > H, it's side-by-side. If H > W, it's
|
W/H ratio of the parent node. If W > H, it's side-by-side. If H > W, it's
|
||||||
top-and-bottom. You can make them permanent by enabling `preserve_split`.
|
top-and-bottom. You can make them permanent by enabling `preserve_split`.
|
||||||
|
|
||||||
## Grouped (tabbed) windows
|
# Grouped (tabbed) windows
|
||||||
|
|
||||||
Dwindle allows you to make a group with the `togglegroup` bind dispatcher, and
|
Dwindle allows you to make a group with the `togglegroup` bind dispatcher, and
|
||||||
cycle through it with `changegroupactive`.
|
cycle through it with `changegroupactive`.
|
||||||
|
@ -28,7 +28,7 @@ Closing windows within the groups is allowed, however, since the groups in the
|
||||||
backend are still a tree, if you remove a node that makes the original node
|
backend are still a tree, if you remove a node that makes the original node
|
||||||
container get removed, the group will be broken back to its dwindle form.
|
container get removed, the group will be broken back to its dwindle form.
|
||||||
|
|
||||||
## Config
|
# Config
|
||||||
|
|
||||||
category name: `dwindle`
|
category name: `dwindle`
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ category name: `dwindle`
|
||||||
| no_gaps_when_only | whether to apply gaps when there is only one window on a workspace, aka. smart gaps. | bool | false |
|
| no_gaps_when_only | whether to apply gaps when there is only one window on a workspace, aka. smart gaps. | bool | false |
|
||||||
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
|
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
|
||||||
|
|
||||||
## Bind Dispatchers
|
# Bind Dispatchers
|
||||||
|
|
||||||
| dispatcher | description | params |
|
| dispatcher | description | params |
|
||||||
| ----------------- | ---------------------------------------------------------------------- | ---------------------- |
|
| ----------------- | ---------------------------------------------------------------------- | ---------------------- |
|
||||||
|
|
|
@ -7,7 +7,7 @@ Please avoid putting those environment variables in /etc/environment. That will
|
||||||
sessions (including Xorg ones) to pick up your wayland-specific environment on traditional
|
sessions (including Xorg ones) to pick up your wayland-specific environment on traditional
|
||||||
Linux distros.
|
Linux distros.
|
||||||
|
|
||||||
## XDG Specifications
|
# XDG Specifications
|
||||||
|
|
||||||
- `XDG_CURRENT_DESKTOP=Hyprland`
|
- `XDG_CURRENT_DESKTOP=Hyprland`
|
||||||
- `XDG_SESSION_TYPE=wayland`
|
- `XDG_SESSION_TYPE=wayland`
|
||||||
|
@ -16,7 +16,7 @@ Linux distros.
|
||||||
XDG specific environment variables are often detected through portals and applications that may
|
XDG specific environment variables are often detected through portals and applications that may
|
||||||
set those for you, however it is a good idea to provide them in your wrapper script as a fail-safe.
|
set those for you, however it is a good idea to provide them in your wrapper script as a fail-safe.
|
||||||
|
|
||||||
## QT Variables
|
# QT Variables
|
||||||
|
|
||||||
- `QT_AUTO_SCREEN_SCALE_FACTOR=1` - [(From the QT documentation)](https://doc.qt.io/qt-5/highdpi.html)
|
- `QT_AUTO_SCREEN_SCALE_FACTOR=1` - [(From the QT documentation)](https://doc.qt.io/qt-5/highdpi.html)
|
||||||
enables automatic scaling, based on the monitor's pixel density
|
enables automatic scaling, based on the monitor's pixel density
|
||||||
|
@ -24,7 +24,7 @@ set those for you, however it is a good idea to provide them in your wrapper scr
|
||||||
- `QT_WAYLAND_DISABLE_WINDOWDECORATION=1` - Disables window decorations on QT applications
|
- `QT_WAYLAND_DISABLE_WINDOWDECORATION=1` - Disables window decorations on QT applications
|
||||||
- `QT_QPA_PLATFORMTHEME=qt5ct` - Tells QT based applications to pick your theme from qt5ct, use with Kvantum.
|
- `QT_QPA_PLATFORMTHEME=qt5ct` - Tells QT based applications to pick your theme from qt5ct, use with Kvantum.
|
||||||
|
|
||||||
## NVIDIA Specific
|
# NVIDIA Specific
|
||||||
|
|
||||||
To force GBM as a backend, set the following environment variables:
|
To force GBM as a backend, set the following environment variables:
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ To force GBM as a backend, set the following environment variables:
|
||||||
|
|
||||||
- `WLR_DRM_NO_ATOMIC=1` - use legacy DRM interface instead of atomic mode setting. Might fix flickering issues.
|
- `WLR_DRM_NO_ATOMIC=1` - use legacy DRM interface instead of atomic mode setting. Might fix flickering issues.
|
||||||
|
|
||||||
## Toolkit Backend Variables
|
# Toolkit Backend Variables
|
||||||
|
|
||||||
- `SDL_VIDEODRIVER=wayland` - Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause
|
- `SDL_VIDEODRIVER=wayland` - Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause
|
||||||
compatibility issues
|
compatibility issues
|
||||||
|
@ -57,7 +57,7 @@ To force GBM as a backend, set the following environment variables:
|
||||||
- `GDK_BACKEND` - Force backend for wayland-enabled GTK3 and GTK4 backends. Available options are "wayland" or "x11". If GTK XWayland
|
- `GDK_BACKEND` - Force backend for wayland-enabled GTK3 and GTK4 backends. Available options are "wayland" or "x11". If GTK XWayland
|
||||||
applications cause issues when set to "wayland", try "wayland,x11"
|
applications cause issues when set to "wayland", try "wayland,x11"
|
||||||
|
|
||||||
## Theming Related Variables
|
# Theming Related Variables
|
||||||
|
|
||||||
- `GTK_THEME` - Set a GTK theme manually, for those who want to avoid appearance tools lxappearance or nwg-look
|
- `GTK_THEME` - Set a GTK theme manually, for those who want to avoid appearance tools lxappearance or nwg-look
|
||||||
- `XCURSOR_THEME` - Set your cursor theme. The theme needs to be installed and readable by your user.
|
- `XCURSOR_THEME` - Set your cursor theme. The theme needs to be installed and readable by your user.
|
||||||
|
|
|
@ -7,7 +7,7 @@ The second, socket2, sends events for certain changes / actions and can be used
|
||||||
to react to different events. See its description
|
to react to different events. See its description
|
||||||
[here](../../IPC/).
|
[here](../../IPC/).
|
||||||
|
|
||||||
## Example script
|
# Example script
|
||||||
|
|
||||||
This bash script will change the outer gaps to 20 if the currently focused
|
This bash script will change the outer gaps to 20 if the currently focused
|
||||||
monitor is DP-1, and 30 otherwise.
|
monitor is DP-1, and 30 otherwise.
|
||||||
|
|
|
@ -18,11 +18,11 @@ three_param_keyword = A, B, # OK
|
||||||
|
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Table of contents
|
# Table of contents
|
||||||
|
|
||||||
{{< toc format=html >}}
|
{{< toc format=html >}}
|
||||||
|
|
||||||
## Executing
|
# Executing
|
||||||
|
|
||||||
you can execute a shell script on startup of the compositor or on each time it's
|
you can execute a shell script on startup of the compositor or on each time it's
|
||||||
reloaded.
|
reloaded.
|
||||||
|
@ -41,7 +41,7 @@ script (`exec-once=~/myscript.sh` and do `myapp &` in the script)
|
||||||
|
|
||||||
`exec=command` will execute on each reload
|
`exec=command` will execute on each reload
|
||||||
|
|
||||||
## Defining variables
|
# Defining variables
|
||||||
|
|
||||||
You can define your own custom variables like this:
|
You can define your own custom variables like this:
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ You ARE allowed to do this:
|
||||||
col.active_border=ff$MyRedValue1111
|
col.active_border=ff$MyRedValue1111
|
||||||
```
|
```
|
||||||
|
|
||||||
## Sourcing (multi-file)
|
# Sourcing (multi-file)
|
||||||
|
|
||||||
Use the `source` keyword to source another file.
|
Use the `source` keyword to source another file.
|
||||||
|
|
||||||
|
@ -82,14 +82,14 @@ And Hyprland will enter that file and parse it like a Hyprland config.
|
||||||
Please note it's LINEAR. Meaning lines above the `source=` will be parsed first,
|
Please note it's LINEAR. Meaning lines above the `source=` will be parsed first,
|
||||||
then lines inside `~/.config/hypr/myColors.conf`, then lines below.
|
then lines inside `~/.config/hypr/myColors.conf`, then lines below.
|
||||||
|
|
||||||
## Gestures
|
# Gestures
|
||||||
|
|
||||||
Use something like
|
Use something like
|
||||||
[libinput-gestures](https://github.com/bulletmark/libinput-gestures), with
|
[libinput-gestures](https://github.com/bulletmark/libinput-gestures), with
|
||||||
`hyprctl` if you want to expand Hyprland's gestures beyond what's offered in
|
`hyprctl` if you want to expand Hyprland's gestures beyond what's offered in
|
||||||
[Variables](../Variables).
|
[Variables](../Variables).
|
||||||
|
|
||||||
## Per-device input configs
|
# Per-device input configs
|
||||||
|
|
||||||
Per-device config options will overwrite your options set in the `input`
|
Per-device config options will overwrite your options set in the `input`
|
||||||
section. It's worth noting that ONLY values explicitly changed will be
|
section. It's worth noting that ONLY values explicitly changed will be
|
||||||
|
@ -139,7 +139,7 @@ hyprctl keyword device:royuan-akko-multi-modes-keyboard-b:kb_layout us
|
||||||
|
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Wallpapers
|
# Wallpapers
|
||||||
|
|
||||||
The hyprland background you see when you first start Hyprland is **NOT A
|
The hyprland background you see when you first start Hyprland is **NOT A
|
||||||
WALLPAPER**, it's the default image rendered at the bottom of the render stack.
|
WALLPAPER**, it's the default image rendered at the bottom of the render stack.
|
||||||
|
@ -149,7 +149,7 @@ To set a wallpaper, use a wallpaper utility like
|
||||||
|
|
||||||
More can be found in [Useful Utilities](../Useful-Utilities).
|
More can be found in [Useful Utilities](../Useful-Utilities).
|
||||||
|
|
||||||
## Blurring layerSurfaces
|
# Blurring layerSurfaces
|
||||||
|
|
||||||
LayerSurfaces are not windows. These are for example: Your wallpapers,
|
LayerSurfaces are not windows. These are for example: Your wallpapers,
|
||||||
notification overlays, bars, etc.
|
notification overlays, bars, etc.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
The master layout makes one window be the "master", taking the left part of the
|
The master layout makes one window be the "master", taking the left part of the
|
||||||
screen, and tiles the rest on the right.
|
screen, and tiles the rest on the right.
|
||||||
|
|
||||||
## Quirks
|
# Quirks
|
||||||
|
|
||||||
The right, "slave" windows will always be split uniformly. You cannot change
|
The right, "slave" windows will always be split uniformly. You cannot change
|
||||||
their size.
|
their size.
|
||||||
|
@ -12,7 +12,7 @@ However, you can resize the master window.
|
||||||
|
|
||||||
![master2](https://user-images.githubusercontent.com/43317083/179357863-928b0b5a-ff10-4edc-aa76-3ff88c59c980.gif)
|
![master2](https://user-images.githubusercontent.com/43317083/179357863-928b0b5a-ff10-4edc-aa76-3ff88c59c980.gif)
|
||||||
|
|
||||||
## Config
|
# Config
|
||||||
|
|
||||||
_category name `master`_
|
_category name `master`_
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ _category name `master`_
|
||||||
| no_gaps_when_only | whether to apply gaps when there is only one window on a workspace, aka. smart gaps. | bool | false |
|
| no_gaps_when_only | whether to apply gaps when there is only one window on a workspace, aka. smart gaps. | bool | false |
|
||||||
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
|
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
|
||||||
|
|
||||||
## Dispatchers
|
# Dispatchers
|
||||||
|
|
||||||
`layoutmsg` params:
|
`layoutmsg` params:
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
## Table of contents
|
# Table of contents
|
||||||
|
|
||||||
{{< toc format=html >}}
|
{{< toc format=html >}}
|
||||||
|
|
||||||
## General
|
# General
|
||||||
|
|
||||||
The general config of a monitor looks like this
|
The general config of a monitor looks like this
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ For more specific rules, you can also use the output's description
|
||||||
monitor=desc:SDC 0x4154 (eDP-1),preferred,auto,1.5
|
monitor=desc:SDC 0x4154 (eDP-1),preferred,auto,1.5
|
||||||
```
|
```
|
||||||
|
|
||||||
## Disabling a monitor
|
# Disabling a monitor
|
||||||
|
|
||||||
To disable a monitor, use
|
To disable a monitor, use
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ To disable a monitor, use
|
||||||
monitor=name,disable
|
monitor=name,disable
|
||||||
```
|
```
|
||||||
|
|
||||||
## Custom reserved area
|
# Custom reserved area
|
||||||
|
|
||||||
If your workflow requires custom reserved area, you can add it with
|
If your workflow requires custom reserved area, you can add it with
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ Where `TOP` `BOTTOM` `LEFT` `RIGHT` are integers in pixels of the reserved area
|
||||||
to add. This does stack on top of the calculated one, (e.g. bars) but you may
|
to add. This does stack on top of the calculated one, (e.g. bars) but you may
|
||||||
only use one of these rules per monitor in the config.
|
only use one of these rules per monitor in the config.
|
||||||
|
|
||||||
## Mirrored displays
|
# Mirrored displays
|
||||||
|
|
||||||
If you want to mirror a display, add a `,mirror,[NAME]` at the end of the monitor
|
If you want to mirror a display, add a `,mirror,[NAME]` at the end of the monitor
|
||||||
rule, examples:
|
rule, examples:
|
||||||
|
@ -102,7 +102,7 @@ second monitor, so if mirroring a 1080p screen onto a 4K one, the resolution
|
||||||
will still be 1080p on the 4K display. This also means squishing and stretching
|
will still be 1080p on the 4K display. This also means squishing and stretching
|
||||||
will occur on non-matching resolutions.
|
will occur on non-matching resolutions.
|
||||||
|
|
||||||
## Rotating and the default workspace
|
# Rotating and the default workspace
|
||||||
|
|
||||||
{{< hint type=important >}}
|
{{< hint type=important >}}
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ flipped + 180 degrees -> 6
|
||||||
flipped + 270 degrees -> 7
|
flipped + 270 degrees -> 7
|
||||||
```
|
```
|
||||||
|
|
||||||
## Binding workspaces to a monitor
|
# Binding workspaces to a monitor
|
||||||
|
|
||||||
A workspace can be bound to a monitor, meaning by default it will ALWAYS open
|
A workspace can be bound to a monitor, meaning by default it will ALWAYS open
|
||||||
on the selected monitor. You can do this with
|
on the selected monitor. You can do this with
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
## Switchable keyboard layouts
|
# Switchable keyboard layouts
|
||||||
|
|
||||||
The easiest way to accomplish this is to set this using XKB settings, for example:
|
The easiest way to accomplish this is to set this using XKB settings, for example:
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ For example: `us,ua` -> config binds would be e.g. `SUPER, A`, while on `ua,us`
|
||||||
|
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Disabling keybinds with one master keybind
|
# Disabling keybinds with one master keybind
|
||||||
|
|
||||||
If you want to disable all keybinds with another keybind (make a kaybind toggle
|
If you want to disable all keybinds with another keybind (make a kaybind toggle
|
||||||
of sorts) you can just use a submap with only a keybind to exit it.
|
of sorts) you can just use a submap with only a keybind to exit it.
|
||||||
|
|
|
@ -8,7 +8,7 @@ the terminal.
|
||||||
If it's not, go to the repo root and `/hyprctl`. Issue a `make all` and then
|
If it's not, go to the repo root and `/hyprctl`. Issue a `make all` and then
|
||||||
`sudo cp ./hyprctl /usr/bin`.
|
`sudo cp ./hyprctl /usr/bin`.
|
||||||
|
|
||||||
## Using Hyprctl
|
# Using Hyprctl
|
||||||
|
|
||||||
{{< hint type=warning >}}
|
{{< hint type=warning >}}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ etc. see the sidebar. For anything else, see [Keywords](../Keywords).
|
||||||
Please keep in mind some options that are layout-specific will be documented in
|
Please keep in mind some options that are layout-specific will be documented in
|
||||||
the layout pages and not here. (See the Sidebar for Dwindle and Master layouts)
|
the layout pages and not here. (See the Sidebar for Dwindle and Master layouts)
|
||||||
|
|
||||||
## Variable types
|
# Variable types
|
||||||
|
|
||||||
| type | description |
|
| type | description |
|
||||||
|---|---|
|
|---|---|
|
||||||
|
@ -38,9 +38,9 @@ SHIFT CAPS CTRL/CONTROL ALT MOD2 MOD3 SUPER/WIN/LOGO/MOD4 MOD5
|
||||||
|
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Sections
|
# Sections
|
||||||
|
|
||||||
### General
|
## General
|
||||||
|
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
|
@ -61,7 +61,7 @@ SHIFT CAPS CTRL/CONTROL ALT MOD2 MOD3 SUPER/WIN/LOGO/MOD4 MOD5
|
||||||
Prefer using `input:sensitivity` over `general:sensitivity` to avoid bugs, especially with Wine/Proton apps.
|
Prefer using `input:sensitivity` over `general:sensitivity` to avoid bugs, especially with Wine/Proton apps.
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
### Decoration
|
## Decoration
|
||||||
|
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
|
@ -102,7 +102,7 @@ Using `blur_new_optimizations` with an animated wallpaper may actually increase
|
||||||
|
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
### Animations
|
# Animations
|
||||||
|
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
| ------- | ----------------- | ---- | ------- |
|
| ------- | ----------------- | ---- | ------- |
|
||||||
|
@ -114,7 +114,7 @@ _[More about Animations](../Animations)._
|
||||||
|
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
### Input
|
# Input
|
||||||
|
|
||||||
## Input
|
## Input
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ _[More about Animations](../Animations)._
|
||||||
|
|
||||||
{{< hint type=info >}}
|
{{< hint type=info >}}
|
||||||
|
|
||||||
### Follow Mouse
|
## Follow Mouse
|
||||||
|
|
||||||
- 0 - disabled
|
- 0 - disabled
|
||||||
- 1 - full
|
- 1 - full
|
||||||
|
@ -154,7 +154,7 @@ _[More about Animations](../Animations)._
|
||||||
For switchable keyboard configs, take a look at [the uncommon tips & tricks page entry](../Uncommon-tips--tricks/#switchable-keyboard-layouts).
|
For switchable keyboard configs, take a look at [the uncommon tips & tricks page entry](../Uncommon-tips--tricks/#switchable-keyboard-layouts).
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
### Touchpad
|
## Touchpad
|
||||||
|
|
||||||
_Subcategory `input:touchpad:`_
|
_Subcategory `input:touchpad:`_
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ input {
|
||||||
Doing `input:touchpad {` is **invalid**!
|
Doing `input:touchpad {` is **invalid**!
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
### Touchdevice
|
## Touchdevice
|
||||||
|
|
||||||
_Subcategory `input:touchdevice:`_
|
_Subcategory `input:touchdevice:`_
|
||||||
|
|
||||||
|
@ -195,11 +195,11 @@ _Subcategory `input:touchdevice:`_
|
||||||
| transform | transform the input from touchdevices. The possible transformations are the same as [those of the monitors](../Monitors/#rotating-and-the-default-workspace) | int | 0 |
|
| transform | transform the input from touchdevices. The possible transformations are the same as [those of the monitors](../Monitors/#rotating-and-the-default-workspace) | int | 0 |
|
||||||
| output | the output to bind touch devices. Empty means unset and will use the current / autodetected. | string | \[EMPTY\] |
|
| output | the output to bind touch devices. Empty means unset and will use the current / autodetected. | string | \[EMPTY\] |
|
||||||
|
|
||||||
### Per-device input config
|
## Per-device input config
|
||||||
|
|
||||||
Described [here](../Keywords#per-device-input-configs).
|
Described [here](../Keywords#per-device-input-configs).
|
||||||
|
|
||||||
## Gestures
|
# Gestures
|
||||||
|
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
|
@ -211,7 +211,7 @@ Described [here](../Keywords#per-device-input-configs).
|
||||||
| workspace_swipe_cancel_ratio | (0.0 - 1.0) how much the swipe has to proceed in order to commence it. (0.7 -> if > 0.7 * distance, switch, if less, revert) | float | 0.5 |
|
| workspace_swipe_cancel_ratio | (0.0 - 1.0) how much the swipe has to proceed in order to commence it. (0.7 -> if > 0.7 * distance, switch, if less, revert) | float | 0.5 |
|
||||||
| workspace_swipe_create_new | whether a swipe right on the last workspace should create a new one. | bool | true |
|
| workspace_swipe_create_new | whether a swipe right on the last workspace should create a new one. | bool | true |
|
||||||
|
|
||||||
## Misc
|
# Misc
|
||||||
|
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
|
@ -227,7 +227,7 @@ Described [here](../Keywords#per-device-input-configs).
|
||||||
| enable_swallow | Enable window swallowing | bool | false |
|
| enable_swallow | Enable window swallowing | bool | false |
|
||||||
| swallow_regex | The *class* regex to be used for windows that should be swallowed (usually, a terminal) | str | \[EMPTY\] |
|
| swallow_regex | The *class* regex to be used for windows that should be swallowed (usually, a terminal) | str | \[EMPTY\] |
|
||||||
|
|
||||||
## Binds
|
# Binds
|
||||||
|
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
|
@ -236,7 +236,7 @@ Described [here](../Keywords#per-device-input-configs).
|
||||||
| workspace_back_and_forth | If enabled, an attempt to switch to the currently focused workspace will instead switch to the previous workspace. Akin to i3's *auto_back_and_forth*. | bool | false |
|
| workspace_back_and_forth | If enabled, an attempt to switch to the currently focused workspace will instead switch to the previous workspace. Akin to i3's *auto_back_and_forth*. | bool | false |
|
||||||
| allow_workspace_cycles | If enabled, workspaces don't forget their previous workspace, so cycles can be created by switching to the first workspace in a sequence, then endlessly going to the previous workspace. | bool | false |
|
| allow_workspace_cycles | If enabled, workspaces don't forget their previous workspace, so cycles can be created by switching to the first workspace in a sequence, then endlessly going to the previous workspace. | bool | false |
|
||||||
|
|
||||||
## Debug
|
# Debug
|
||||||
|
|
||||||
{{< hint type=warning >}}
|
{{< hint type=warning >}}
|
||||||
|
|
||||||
|
@ -251,7 +251,7 @@ Only for developers.
|
||||||
| disable_logs | self-explanatory | bool | false |
|
| disable_logs | self-explanatory | bool | false |
|
||||||
| disable_time | disables time logging | bool | true |
|
| disable_time | disables time logging | bool | true |
|
||||||
|
|
||||||
## More
|
# More
|
||||||
|
|
||||||
There are more config options described in other pages, which are layout- or
|
There are more config options described in other pages, which are layout- or
|
||||||
circumstance-specific. See the sidebar for more pages.
|
circumstance-specific. See the sidebar for more pages.
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
{{< toc >}}
|
{{< toc >}}
|
||||||
|
|
||||||
## Window Rules V1
|
# Window Rules V1
|
||||||
|
|
||||||
You can set window rules to achieve different behaviours from the active container.
|
You can set window rules to achieve different behaviours from the active container.
|
||||||
|
|
||||||
### Syntax
|
## Syntax
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
windowrule=RULE,WINDOW
|
windowrule=RULE,WINDOW
|
||||||
|
@ -17,14 +17,14 @@ windowrule=RULE,WINDOW
|
||||||
- plain RegEx (for matching a window class);
|
- plain RegEx (for matching a window class);
|
||||||
- `title:` followed by a regex (for matching a window's title)
|
- `title:` followed by a regex (for matching a window's title)
|
||||||
|
|
||||||
#### Examples
|
### Examples
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
windowrule=float,^(kitty)$
|
windowrule=float,^(kitty)$
|
||||||
windowrule=move 0 0,title:^(Firefox)(.*)$
|
windowrule=move 0 0,title:^(Firefox)(.*)$
|
||||||
```
|
```
|
||||||
|
|
||||||
## Window Rules V2
|
# Window Rules V2
|
||||||
|
|
||||||
In order to allow more flexible rules, while retaining compatibility with the above
|
In order to allow more flexible rules, while retaining compatibility with the above
|
||||||
rule system, window rules V2 were implemented.
|
rule system, window rules V2 were implemented.
|
||||||
|
@ -92,7 +92,7 @@ windowrule = animation popin,^(kitty)$
|
||||||
windowrule = noblur,^(firefox)$
|
windowrule = noblur,^(firefox)$
|
||||||
```
|
```
|
||||||
|
|
||||||
## Notes
|
### Notes
|
||||||
|
|
||||||
{{< hint type=tip >}}
|
{{< hint type=tip >}}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
## PR Requirements
|
# PR Requirements
|
||||||
|
|
||||||
- Clean, not hacky code
|
- Clean, not hacky code
|
||||||
- Described changes and _why_ they were there
|
- Described changes and _why_ they were there
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
## Getting the log
|
# Getting the log
|
||||||
|
|
||||||
If you are in a TTY, and the hyprland session that crashed was the last one you
|
If you are in a TTY, and the hyprland session that crashed was the last one you
|
||||||
launched, the log will be printed with
|
launched, the log will be printed with
|
||||||
|
@ -15,7 +15,7 @@ if you are in a Hyprland session, and you want the log of the last session, use
|
||||||
cat /tmp/hypr/$(ls -t /tmp/hypr/ | head -n 2 | tail -n 1)/hyprland.log
|
cat /tmp/hypr/$(ls -t /tmp/hypr/ | head -n 2 | tail -n 1)/hyprland.log
|
||||||
```
|
```
|
||||||
|
|
||||||
## Crashes at launch
|
# Crashes at launch
|
||||||
|
|
||||||
Diagnose the issue by what is in the log:
|
Diagnose the issue by what is in the log:
|
||||||
|
|
||||||
|
@ -31,11 +31,11 @@ Diagnose the issue by what is in the log:
|
||||||
in the first point.
|
in the first point.
|
||||||
- failing on `Hyprland` -> report an issue.
|
- failing on `Hyprland` -> report an issue.
|
||||||
|
|
||||||
## Crashes not at launch
|
# Crashes not at launch
|
||||||
|
|
||||||
Report an issue on GitHub or on the Discord server.
|
Report an issue on GitHub or on the Discord server.
|
||||||
|
|
||||||
## Bugs
|
# Bugs
|
||||||
|
|
||||||
First of all, **_READ THE [FAQ PAGE](../FAQ)_**
|
First of all, **_READ THE [FAQ PAGE](../FAQ)_**
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
## Table of Contents
|
# Table of Contents
|
||||||
|
|
||||||
{{< toc format=html >}}
|
{{< toc format=html >}}
|
||||||
|
|
||||||
## Nothing renders / screen is empty / crash on opening first app
|
# Nothing renders / screen is empty / crash on opening first app
|
||||||
|
|
||||||
Possible causes:
|
Possible causes:
|
||||||
|
|
||||||
|
@ -20,13 +20,13 @@ try compiling with LEGACY_RENDERER
|
||||||
_For more info about bugs and crashes, see this_
|
_For more info about bugs and crashes, see this_
|
||||||
_[wiki page](../../Crashes-and-Bugs)_
|
_[wiki page](../../Crashes-and-Bugs)_
|
||||||
|
|
||||||
### Me cursor no render?
|
# Me cursor no render?
|
||||||
|
|
||||||
Are you on NVIDIA? If so, then you have been a naughty boy and haven't listened
|
Are you on NVIDIA? If so, then you have been a naughty boy and haven't listened
|
||||||
to my tips on other pages. Use the `WLR_NO_HARDWARE_CURSORS=1` environment
|
to my tips on other pages. Use the `WLR_NO_HARDWARE_CURSORS=1` environment
|
||||||
variable.
|
variable.
|
||||||
|
|
||||||
### My external monitor is blank / doesn't render / receives no signal (laptop)
|
# My external monitor is blank / doesn't render / receives no signal (laptop)
|
||||||
|
|
||||||
For Radeon graphics - unfortunately, it's a bug in wlroots, and I can't
|
For Radeon graphics - unfortunately, it's a bug in wlroots, and I can't
|
||||||
do much about it other than wait for the wlroots devs to fix it:
|
do much about it other than wait for the wlroots devs to fix it:
|
||||||
|
@ -51,7 +51,7 @@ _Please note these are highly model-specific and might or might not work. If the
|
||||||
|
|
||||||
You might try a USB-C to hdmi adapter though, maybe that could route the external monitor through the iGPU.
|
You might try a USB-C to hdmi adapter though, maybe that could route the external monitor through the iGPU.
|
||||||
|
|
||||||
### How do I screenshot?
|
# How do I screenshot?
|
||||||
|
|
||||||
Install `grim` and `slurp`
|
Install `grim` and `slurp`
|
||||||
|
|
||||||
|
@ -64,30 +64,30 @@ For a more complete utility, try our own screenshotting utility:
|
||||||
|
|
||||||
For recording videos, wf-recorder or OBS Studio could be used.
|
For recording videos, wf-recorder or OBS Studio could be used.
|
||||||
|
|
||||||
### Screenshare / OBS no worky
|
# Screenshare / OBS no worky
|
||||||
|
|
||||||
Check [Screensharing](../Useful-Utilities/Screen-Sharing).
|
Check [Screensharing](../Useful-Utilities/Screen-Sharing).
|
||||||
|
|
||||||
### How do I change my wallpaper?
|
# How do I change my wallpaper?
|
||||||
|
|
||||||
See [Wallpapers](../Useful-Utilities/Wallpapers).
|
See [Wallpapers](../Useful-Utilities/Wallpapers).
|
||||||
|
|
||||||
### My games work poorly, especially proton ones
|
# My games work poorly, especially proton ones
|
||||||
|
|
||||||
Use `gamescope`, tends to fix any and all issues with wayland/Hyprland.
|
Use `gamescope`, tends to fix any and all issues with wayland/Hyprland.
|
||||||
|
|
||||||
### How heavy is this?
|
# How heavy is this?
|
||||||
|
|
||||||
Not that much heavier than Xorg. If you want maximum performance, consider
|
Not that much heavier than Xorg. If you want maximum performance, consider
|
||||||
turning off the blur and animations.
|
turning off the blur and animations.
|
||||||
|
|
||||||
### My monitor no worky
|
# My monitor no worky
|
||||||
|
|
||||||
Try changing the mode in your config. If your preferred one doesn't work, try a
|
Try changing the mode in your config. If your preferred one doesn't work, try a
|
||||||
lower one. A good way to list all modes is to get `wlr-randr` and do a
|
lower one. A good way to list all modes is to get `wlr-randr` and do a
|
||||||
`wlr-randr --dryrun`
|
`wlr-randr --dryrun`
|
||||||
|
|
||||||
### How do I update?
|
# How do I update?
|
||||||
|
|
||||||
Open a terminal where you cloned the repo.
|
Open a terminal where you cloned the repo.
|
||||||
```bash
|
```bash
|
||||||
|
@ -100,11 +100,11 @@ If you are using the AUR (hyprland-git) package, you
|
||||||
will need to cleanbuild to update the package. Paru
|
will need to cleanbuild to update the package. Paru
|
||||||
has been problematic with updating before, use Yay.
|
has been problematic with updating before, use Yay.
|
||||||
|
|
||||||
### How do I screen lock?
|
# How do I screen lock?
|
||||||
|
|
||||||
Use a wayland-compatible locking utility using WLR protocols, e.g. `swaylock`.
|
Use a wayland-compatible locking utility using WLR protocols, e.g. `swaylock`.
|
||||||
|
|
||||||
### How do I change me mouse cursor?
|
# How do I change me mouse cursor?
|
||||||
|
|
||||||
Use a tool like for example `lxappearance` to change the GTK cursor.
|
Use a tool like for example `lxappearance` to change the GTK cursor.
|
||||||
|
|
||||||
|
@ -125,21 +125,21 @@ all good!
|
||||||
|
|
||||||
If it still doesn't work...
|
If it still doesn't work...
|
||||||
|
|
||||||
### GTK Settings no work / whatever
|
# GTK Settings no work / whatever
|
||||||
|
|
||||||
[https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland](https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland)
|
[https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland](https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland)
|
||||||
|
|
||||||
### My \[program name\] is freezing
|
# My \[program name\] is freezing
|
||||||
|
|
||||||
Make sure you have a notification daemon running, for example `dunst`. Autostart
|
Make sure you have a notification daemon running, for example `dunst`. Autostart
|
||||||
it with the `exec-once` keyword.
|
it with the `exec-once` keyword.
|
||||||
|
|
||||||
### Waybar no worky???
|
# Waybar no worky???
|
||||||
|
|
||||||
Waybar has a set of caveats or settings that you need to be aware of. See
|
Waybar has a set of caveats or settings that you need to be aware of. See
|
||||||
[Status bars](../Useful-Utilities/Status-Bars) for solutions.
|
[Status bars](../Useful-Utilities/Status-Bars) for solutions.
|
||||||
|
|
||||||
### How do I autostart my favorite apps?
|
# How do I autostart my favorite apps?
|
||||||
|
|
||||||
Using the window rules to assign apps to workspace you can setup a session start
|
Using the window rules to assign apps to workspace you can setup a session start
|
||||||
script to open a bunch of applications on various workspaces. The following
|
script to open a bunch of applications on various workspaces. The following
|
||||||
|
@ -177,7 +177,7 @@ hyprctl keyword windowrule "workspace unset,firefox"
|
||||||
|
|
||||||
in `sleep 10`, the 10 seconds is of course only a suggestion.
|
in `sleep 10`, the 10 seconds is of course only a suggestion.
|
||||||
|
|
||||||
### How do I move my favorite workspaces to a new monitor when I plug it in?
|
# How do I move my favorite workspaces to a new monitor when I plug it in?
|
||||||
|
|
||||||
if you want workspaces to automatically go to a monitor upon connection, use the
|
if you want workspaces to automatically go to a monitor upon connection, use the
|
||||||
following:
|
following:
|
||||||
|
@ -209,13 +209,13 @@ if you want workspaces 1 2 4 5 to go to monitor 1 when connecting it.
|
||||||
|
|
||||||
Please note this requires `socat` to be installed.
|
Please note this requires `socat` to be installed.
|
||||||
|
|
||||||
### My tablet no worky??
|
# My tablet no worky??
|
||||||
|
|
||||||
Use [Open Tablet Driver](https://github.com/OpenTabletDriver/OpenTabletDriver)
|
Use [Open Tablet Driver](https://github.com/OpenTabletDriver/OpenTabletDriver)
|
||||||
to configure your tablet. In the future it will be supported in the config.
|
to configure your tablet. In the future it will be supported in the config.
|
||||||
Until then, OTD is the way to go.
|
Until then, OTD is the way to go.
|
||||||
|
|
||||||
### Some of my apps take a really long time to open...?
|
# Some of my apps take a really long time to open...?
|
||||||
|
|
||||||
_~/.config/hypr/hyprland.conf_
|
_~/.config/hypr/hyprland.conf_
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ sleep 4
|
||||||
|
|
||||||
launched with `exec-once` should fix all issues. Adjust the sleep durations to taste.
|
launched with `exec-once` should fix all issues. Adjust the sleep durations to taste.
|
||||||
|
|
||||||
### How do I export envvars for Hyprland?
|
# How do I export envvars for Hyprland?
|
||||||
|
|
||||||
As with any Display Server, Xorg included, you should probably make a script to
|
As with any Display Server, Xorg included, you should probably make a script to
|
||||||
launch it, for example:
|
launch it, for example:
|
||||||
|
@ -262,16 +262,16 @@ For Display Manager users, you can replace the `exec` entry in
|
||||||
the `.desktop` file to point to your script. You are recommended
|
the `.desktop` file to point to your script. You are recommended
|
||||||
to use absolute paths, such as `/home/username/Script` instead of `~/Script`
|
to use absolute paths, such as `/home/username/Script` instead of `~/Script`
|
||||||
|
|
||||||
### I get random white flashes
|
# I get random white flashes
|
||||||
|
|
||||||
Try disabling VFR with `misc:no_vfr=1`.
|
Try disabling VFR with `misc:no_vfr=1`.
|
||||||
|
|
||||||
### How do I make Hyprland draw as little power as possible on my laptop?
|
# How do I make Hyprland draw as little power as possible on my laptop?
|
||||||
|
|
||||||
I assume you already have `damage_tracking` on full. If you don't, change it. It's
|
I assume you already have `damage_tracking` on full. If you don't, change it. It's
|
||||||
heavily advised to use `full` regardless of anything.
|
heavily advised to use `full` regardless of anything.
|
||||||
|
|
||||||
#### Useful Optimizations
|
## Useful Optimizations
|
||||||
|
|
||||||
* `decoration:blur_new_optimizations = true`, to use new optimizations for
|
* `decoration:blur_new_optimizations = true`, to use new optimizations for
|
||||||
blurring.
|
blurring.
|
||||||
|
|
|
@ -12,7 +12,7 @@ If you have an Nvidia card, please also take a look at
|
||||||
wrapper, as described in the section below, then follow the instructions from
|
wrapper, as described in the section below, then follow the instructions from
|
||||||
the Nvidia page, and then continue on with sections below.
|
the Nvidia page, and then continue on with sections below.
|
||||||
|
|
||||||
## Wrapping the launcher (recommended)
|
# Wrapping the launcher (recommended)
|
||||||
|
|
||||||
With Xorg, you get the `.xinitrc`. With Hyprland, you can create your own...
|
With Xorg, you get the `.xinitrc`. With Hyprland, you can create your own...
|
||||||
kind of.
|
kind of.
|
||||||
|
@ -47,7 +47,7 @@ the provided one, as many package managers (and `sudo make install`) will **over
|
||||||
the desktop file on updates. If you manually build Hyprland, consider using `sudo make cleaninstall` to preserve `hyprland.deskop`
|
the desktop file on updates. If you manually build Hyprland, consider using `sudo make cleaninstall` to preserve `hyprland.deskop`
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Immediate
|
# Immediate
|
||||||
|
|
||||||
**OMG MY SCREEN IS BROKEN, FLASHY TEARY!** -> see the bottom of this page
|
**OMG MY SCREEN IS BROKEN, FLASHY TEARY!** -> see the bottom of this page
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ Paste it into `~/.config/hypr/hyprland.conf`
|
||||||
You can, of course, start from the pregenerated config if you wish to. If you
|
You can, of course, start from the pregenerated config if you wish to. If you
|
||||||
want the warning to go away, remove the `autogenerated=1` line.
|
want the warning to go away, remove the `autogenerated=1` line.
|
||||||
|
|
||||||
## Monitors
|
# Monitors
|
||||||
|
|
||||||
Use `hyprctl monitors` to list available outputs. `hyprctl` will _not_ tell you
|
Use `hyprctl monitors` to list available outputs. `hyprctl` will _not_ tell you
|
||||||
what your monitor is capable of though, so if you want to check your resolution / refresh rate,
|
what your monitor is capable of though, so if you want to check your resolution / refresh rate,
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
Hyprland exposes 2 UNIX Sockets, for controlling / getting info about Hyprland
|
Hyprland exposes 2 UNIX Sockets, for controlling / getting info about Hyprland
|
||||||
via code / bash utilities.
|
via code / bash utilities.
|
||||||
|
|
||||||
## Hyprland Instance Signature (HIS)
|
# Hyprland Instance Signature (HIS)
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
echo $HYPRLAND_INSTANCE_SIGNATURE
|
echo $HYPRLAND_INSTANCE_SIGNATURE
|
||||||
```
|
```
|
||||||
|
|
||||||
## /tmp/hypr/\[HIS\]/.socket.sock
|
# /tmp/hypr/\[HIS\]/.socket.sock
|
||||||
|
|
||||||
Used for hyprctl-like requests. See the
|
Used for hyprctl-like requests. See the
|
||||||
[Hyprctl page](../Configuring/Using-hyprctl) for
|
[Hyprctl page](../Configuring/Using-hyprctl) for
|
||||||
|
@ -15,7 +15,7 @@ commands.
|
||||||
|
|
||||||
basically, write `command args`.
|
basically, write `command args`.
|
||||||
|
|
||||||
## /tmp/hypr/\[HIS\]/.socket2.sock
|
# /tmp/hypr/\[HIS\]/.socket2.sock
|
||||||
|
|
||||||
Used for events. Hyprland will write to each connected client live events like
|
Used for events. Hyprland will write to each connected client live events like
|
||||||
this:
|
this:
|
||||||
|
@ -24,7 +24,7 @@ this:
|
||||||
|
|
||||||
e.g.: `workspace>>2`
|
e.g.: `workspace>>2`
|
||||||
|
|
||||||
### Events list
|
# Events list
|
||||||
|
|
||||||
| name | description | data |
|
| name | description | data |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|
@ -51,7 +51,7 @@ A window might do for example 3 requests to be fullscreen'd, which would result
|
||||||
in 3 fullscreen events.
|
in 3 fullscreen events.
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## How to use socket2 with bash
|
# How to use socket2 with bash
|
||||||
|
|
||||||
example script using socket2 events with bash and `socat`:
|
example script using socket2 events with bash and `socat`:
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
# Hyprland with Nix
|
# Table of contents
|
||||||
|
|
||||||
## Table of contents
|
|
||||||
|
|
||||||
{{< toc format=html >}}
|
{{< toc format=html >}}
|
||||||
|
|
||||||
|
@ -10,7 +8,7 @@ work as intended. Please use the
|
||||||
[flake](https://github.com/hyprwm/Hyprland/blob/main/flake.nix).
|
[flake](https://github.com/hyprwm/Hyprland/blob/main/flake.nix).
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Install and configure Hyprland on NixOS
|
# Install and configure Hyprland on NixOS
|
||||||
|
|
||||||
Make sure to check out the options of the
|
Make sure to check out the options of the
|
||||||
[Nix module](https://github.com/hyprwm/Hyprland/blob/main/nix/module.nix).
|
[Nix module](https://github.com/hyprwm/Hyprland/blob/main/nix/module.nix).
|
||||||
|
@ -18,7 +16,7 @@ Make sure to check out the options of the
|
||||||
Do note that the Nixpkgs Hyprland package is not actively maintained, and may be outdated
|
Do note that the Nixpkgs Hyprland package is not actively maintained, and may be outdated
|
||||||
Installation using the Flake is recommended.
|
Installation using the Flake is recommended.
|
||||||
|
|
||||||
### With flakes
|
## With flakes
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
# flake.nix
|
# flake.nix
|
||||||
|
@ -46,7 +44,7 @@ Installation using the Flake is recommended.
|
||||||
|
|
||||||
Don't forget to replace `HOSTNAME` with your hostname!
|
Don't forget to replace `HOSTNAME` with your hostname!
|
||||||
|
|
||||||
### Without flakes
|
## Without flakes
|
||||||
|
|
||||||
{{< hint >}}
|
{{< hint >}}
|
||||||
If you're using Hyprland through an overlay, set
|
If you're using Hyprland through an overlay, set
|
||||||
|
@ -72,11 +70,11 @@ in {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Install and configure through Home Manager
|
# Install and configure through Home Manager
|
||||||
|
|
||||||
You can use the Home Manager module by adding it to your configuration:
|
You can use the Home Manager module by adding it to your configuration:
|
||||||
|
|
||||||
### With flakes
|
## With flakes
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
# flake.nix
|
# flake.nix
|
||||||
|
@ -108,7 +106,7 @@ You can use the Home Manager module by adding it to your configuration:
|
||||||
|
|
||||||
Don't forget to replace `USER@HOSTNAME` with your username and hostname!
|
Don't forget to replace `USER@HOSTNAME` with your username and hostname!
|
||||||
|
|
||||||
### Without flakes
|
## Without flakes
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
# home config
|
# home config
|
||||||
|
@ -130,7 +128,7 @@ in {
|
||||||
For a list of available options, check the
|
For a list of available options, check the
|
||||||
[module file](https://github.com/hyprwm/Hyprland/blob/main/nix/hm-module.nix).
|
[module file](https://github.com/hyprwm/Hyprland/blob/main/nix/hm-module.nix).
|
||||||
|
|
||||||
## Modules mix'n'match
|
# Modules mix'n'match
|
||||||
|
|
||||||
- If you plan on using the HM module alongside the NixOS module, set the NixOS
|
- If you plan on using the HM module alongside the NixOS module, set the NixOS
|
||||||
`programs.hyprland.package = null;`.
|
`programs.hyprland.package = null;`.
|
||||||
|
@ -141,9 +139,9 @@ For a list of available options, check the
|
||||||
- If you don't plan on using any module, manually enable whatever options the
|
- If you don't plan on using any module, manually enable whatever options the
|
||||||
modules set.
|
modules set.
|
||||||
|
|
||||||
## Non-NixOS install
|
# Non-NixOS install
|
||||||
|
|
||||||
### With flakes
|
## With flakes
|
||||||
|
|
||||||
First, [enable flakes](https://nixos.wiki/wiki/Flakes#Enable_flakes).
|
First, [enable flakes](https://nixos.wiki/wiki/Flakes#Enable_flakes).
|
||||||
|
|
||||||
|
@ -172,7 +170,7 @@ nixGL Hyprland
|
||||||
|
|
||||||
or by creating a wrapper script that runs the above command inside.
|
or by creating a wrapper script that runs the above command inside.
|
||||||
|
|
||||||
### Upgrading
|
## Upgrading
|
||||||
|
|
||||||
In order to upgrade all your packages, you can run
|
In order to upgrade all your packages, you can run
|
||||||
|
|
||||||
|
@ -184,12 +182,12 @@ Check the
|
||||||
[nix profile](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-profile.html)
|
[nix profile](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-profile.html)
|
||||||
command documentation for other upgrade options.
|
command documentation for other upgrade options.
|
||||||
|
|
||||||
## XWayland
|
# XWayland
|
||||||
|
|
||||||
XWayland is enabled by default in the Nix package. You can disable it either
|
XWayland is enabled by default in the Nix package. You can disable it either
|
||||||
in the package itself, or through the Home Manager module.
|
in the package itself, or through the Home Manager module.
|
||||||
|
|
||||||
### Package
|
## Package
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
(inputs.hyprland.packages.${pkgs.default}.default.override {
|
(inputs.hyprland.packages.${pkgs.default}.default.override {
|
||||||
|
@ -197,7 +195,7 @@ in the package itself, or through the Home Manager module.
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
#### HM module
|
### HM module
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
|
@ -206,7 +204,7 @@ wayland.windowManager.hyprland = {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### HiDPI
|
## HiDPI
|
||||||
|
|
||||||
By default, the Nix package includes a patched wlroots that can render HiDPI
|
By default, the Nix package includes a patched wlroots that can render HiDPI
|
||||||
XWayland windows.
|
XWayland windows.
|
||||||
|
@ -238,7 +236,7 @@ to wlroots), you can do so by either using the `hyprland-no-hidpi` package,
|
||||||
or by passing the `hidpiXWayland = false;` flag, the same way as
|
or by passing the `hidpiXWayland = false;` flag, the same way as
|
||||||
[disabling XWayland](#package)
|
[disabling XWayland](#package)
|
||||||
|
|
||||||
## Cachix
|
# Cachix
|
||||||
|
|
||||||
A [Hyprland Cachix](https://app.cachix.org/cache/hyprland) exists to cache the
|
A [Hyprland Cachix](https://app.cachix.org/cache/hyprland) exists to cache the
|
||||||
`wlroots` package and speed up builds.
|
`wlroots` package and speed up builds.
|
||||||
|
@ -256,7 +254,7 @@ this cache to download the binary directly, instead of building locally.
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Overrides
|
# Overrides
|
||||||
|
|
||||||
You can override the package through `.override` or `.overrideAttrs`. This is
|
You can override the package through `.override` or `.overrideAttrs`. This is
|
||||||
easily achievable through NixOS or Home Manager.
|
easily achievable through NixOS or Home Manager.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
## Foreword
|
# Foreword
|
||||||
|
|
||||||
There is no _official_ support for Nvidia. Unfortunately, their drivers are so
|
There is no _official_ support for Nvidia. Unfortunately, their drivers are so
|
||||||
messy, and their products so random, that it's impossible for us to help if
|
messy, and their products so random, that it's impossible for us to help if
|
||||||
|
@ -8,7 +8,7 @@ Every card seems to be random, and might work perfectly, or not work at all.
|
||||||
|
|
||||||
Nevertheless, it's recommended to at least try this tutorial.
|
Nevertheless, it's recommended to at least try this tutorial.
|
||||||
|
|
||||||
## How to get Hyprland to possibly work on Nvidia
|
# How to get Hyprland to possibly work on Nvidia
|
||||||
|
|
||||||
Install the `nvidia-dkms` driver and add it to your initramfs & kernel
|
Install the `nvidia-dkms` driver and add it to your initramfs & kernel
|
||||||
parameters. Follow the information available here:
|
parameters. Follow the information available here:
|
||||||
|
@ -46,7 +46,7 @@ Launch Hyprland with the wrapper.
|
||||||
|
|
||||||
It _should_ work now.
|
It _should_ work now.
|
||||||
|
|
||||||
### Fixing random flickering, method 1
|
## Fixing random flickering, method 1
|
||||||
|
|
||||||
If you take a look at the wlroots patches in the [nix flake](https://github.com/hyprwm/Hyprland/blob/main/nix/wlroots.nix)
|
If you take a look at the wlroots patches in the [nix flake](https://github.com/hyprwm/Hyprland/blob/main/nix/wlroots.nix)
|
||||||
you will find a one-line patch:
|
you will find a one-line patch:
|
||||||
|
@ -59,7 +59,7 @@ What this means, for non-nix users, is you have to (before building) go to
|
||||||
`submodules/wlroots/render/gles2/renderer.c` and replace all occurrences of `glFlush()`
|
`submodules/wlroots/render/gles2/renderer.c` and replace all occurrences of `glFlush()`
|
||||||
with `glFinish()`, and then compile Hyprland as usual.
|
with `glFinish()`, and then compile Hyprland as usual.
|
||||||
|
|
||||||
### Fixing random flickering, method 2 (nuclear)
|
## Fixing random flickering, method 2 (nuclear)
|
||||||
|
|
||||||
Do note though that this forces performance mode to be active, resulting in
|
Do note though that this forces performance mode to be active, resulting in
|
||||||
increased power-consumption (from 22W idle on a RTX 3070TI, to 74W).
|
increased power-consumption (from 22W idle on a RTX 3070TI, to 74W).
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
Some clients are known for being a massive pain under Wayland. Here are great
|
Some clients are known for being a massive pain under Wayland. Here are great
|
||||||
replacements for them:
|
replacements for them:
|
||||||
|
|
||||||
## Discord
|
# Discord
|
||||||
|
|
||||||
[WebCord](https://github.com/SpacingBat3/WebCord) is a Discord client based on
|
[WebCord](https://github.com/SpacingBat3/WebCord) is a Discord client based on
|
||||||
the latest Electron, with support for Wayland Ozone platform, as well as
|
the latest Electron, with support for Wayland Ozone platform, as well as
|
||||||
PipeWire screensharing. It has tons of great features and tries not to infringe
|
PipeWire screensharing. It has tons of great features and tries not to infringe
|
||||||
on the Discord ToS.
|
on the Discord ToS.
|
||||||
|
|
||||||
## Spotify
|
# Spotify
|
||||||
|
|
||||||
It has been reported that Spotify does not follow window rules. This is possibly
|
It has been reported that Spotify does not follow window rules. This is possibly
|
||||||
because the client sets is class _after_ the window has opened, thus making it "immune"
|
because the client sets is class _after_ the window has opened, thus making it "immune"
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
## Wofi
|
# Wofi
|
||||||
|
|
||||||
Wofi is a GTK-based customizable launcher for wayland.
|
Wofi is a GTK-based customizable launcher for wayland.
|
||||||
[SourceHut](https://hg.sr.ht/~scoopta/wofi).
|
[SourceHut](https://hg.sr.ht/~scoopta/wofi).
|
||||||
|
|
||||||
## Rofi (Wayland fork)
|
# Rofi (Wayland fork)
|
||||||
|
|
||||||
Rofi, but with Wayland support.
|
Rofi, but with Wayland support.
|
||||||
[GitHub](https://github.com/lbonn/rofi).
|
[GitHub](https://github.com/lbonn/rofi).
|
||||||
|
|
||||||
## bemenu
|
# bemenu
|
||||||
|
|
||||||
bemenu is a Wayland-native replacement for dmenu.
|
bemenu is a Wayland-native replacement for dmenu.
|
||||||
[GitHub](https://github.com/Cloudef/bemenu).
|
[GitHub](https://github.com/Cloudef/bemenu).
|
||||||
|
|
|
@ -2,6 +2,6 @@ Color pickers are useful for quickly grabbing a color of _something_ on your scr
|
||||||
|
|
||||||
We recommend our own solution, which, so far, seems to be the only one that doesn't suck.
|
We recommend our own solution, which, so far, seems to be the only one that doesn't suck.
|
||||||
|
|
||||||
## Hyprpicker
|
# Hyprpicker
|
||||||
|
|
||||||
Dead simple to use. Launch, click, and you're done. [GitHub](https://github.com/hyprwm/hyprpicker)
|
Dead simple to use. Launch, click, and you're done. [GitHub](https://github.com/hyprwm/hyprpicker)
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
Screensharing is done through PipeWire on Wayland.
|
Screensharing is done through PipeWire on Wayland.
|
||||||
|
|
||||||
## Prerequsities
|
# Prerequsities
|
||||||
|
|
||||||
Make sure you have `pipewire` and `wireplumber` installed, enabled and running
|
Make sure you have `pipewire` and `wireplumber` installed, enabled and running
|
||||||
if you don't have them yet.
|
if you don't have them yet.
|
||||||
|
|
||||||
Also install `slurp` for monitor selection.
|
Also install `slurp` for monitor selection.
|
||||||
|
|
||||||
## Screensharing
|
# Screensharing
|
||||||
|
|
||||||
Read
|
Read
|
||||||
[this amazing gist by PowerBall253](https://gist.github.com/PowerBall253/2dea6ddf6974ba4e5d26c3139ffb7580)
|
[this amazing gist by PowerBall253](https://gist.github.com/PowerBall253/2dea6ddf6974ba4e5d26c3139ffb7580)
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
## Waybar
|
# Waybar
|
||||||
|
|
||||||
Waybar is a GTK status bar made specifically for wlroots compositors.
|
Waybar is a GTK status bar made specifically for wlroots compositors.
|
||||||
|
|
||||||
To use it, it's recommended to use the AUR package `waybar-hyprland-git`.
|
To use it, it's recommended to use the AUR package `waybar-hyprland-git`.
|
||||||
|
|
||||||
### Compiling Manually
|
## Compiling Manually
|
||||||
|
|
||||||
To compile manually:
|
To compile manually:
|
||||||
|
|
||||||
|
@ -24,16 +24,16 @@ all the references to `sway/workspaces/` with `wlr/workspaces`.
|
||||||
For more info regarding configuration, see
|
For more info regarding configuration, see
|
||||||
[The Waybar Wiki](https://github.com/Alexays/Waybar/wiki).
|
[The Waybar Wiki](https://github.com/Alexays/Waybar/wiki).
|
||||||
|
|
||||||
### Waybar popups render behind the windows
|
## Waybar popups render behind the windows
|
||||||
|
|
||||||
In `~/.config/waybar/config`, make sure that you have the `layer` configuration
|
In `~/.config/waybar/config`, make sure that you have the `layer` configuration
|
||||||
set to `top` and not `bottom`.
|
set to `top` and not `bottom`.
|
||||||
|
|
||||||
### Active workspace doesn't show up
|
## Active workspace doesn't show up
|
||||||
|
|
||||||
Replace `#workspaces button.focus` with `#wroskapces button.active` in `~/.config/style.css`.
|
Replace `#workspaces button.focus` with `#wroskapces button.active` in `~/.config/style.css`.
|
||||||
|
|
||||||
### Scroll through workspaces
|
## Scroll through workspaces
|
||||||
|
|
||||||
Since there are a lot of configurations from `sway/workspaces` missing, you
|
Since there are a lot of configurations from `sway/workspaces` missing, you
|
||||||
should deduce some of them by yourself. In the case of scrolling, configure
|
should deduce some of them by yourself. In the case of scrolling, configure
|
||||||
|
@ -47,21 +47,21 @@ your module this way:
|
||||||
},
|
},
|
||||||
```
|
```
|
||||||
|
|
||||||
### Clicking on workspace doesn't work!
|
## Clicking on workspace doesn't work!
|
||||||
|
|
||||||
On the `wlr/workspaces` module, add `"on-click": "activate"`. That's the purpose of
|
On the `wlr/workspaces` module, add `"on-click": "activate"`. That's the purpose of
|
||||||
the `sed` command we had to apply before building: the default way to select a
|
the `sed` command we had to apply before building: the default way to select a
|
||||||
workspace by clicking uses the `swaymsg`'s way, furthermore it is required to edit
|
workspace by clicking uses the `swaymsg`'s way, furthermore it is required to edit
|
||||||
this function to make it work with `hyprctl`.
|
this function to make it work with `hyprctl`.
|
||||||
|
|
||||||
## Eww
|
# Eww
|
||||||
|
|
||||||
In order to use [Eww](https://github.com/elkowar/eww), you first have to install
|
In order to use [Eww](https://github.com/elkowar/eww), you first have to install
|
||||||
it, either using your distro's package manager, by searching `eww-wayland`, or
|
it, either using your distro's package manager, by searching `eww-wayland`, or
|
||||||
by manually compiling. In the latter case, you can follow the
|
by manually compiling. In the latter case, you can follow the
|
||||||
[instructions](https://elkowar.github.io/eww).
|
[instructions](https://elkowar.github.io/eww).
|
||||||
|
|
||||||
### Configuration
|
## Configuration
|
||||||
|
|
||||||
After you've successfully installed Eww, you can move onto configuring it. There
|
After you've successfully installed Eww, you can move onto configuring it. There
|
||||||
are a few examples listed in the [Readme](https://github.com/elkowar/eww). We
|
are a few examples listed in the [Readme](https://github.com/elkowar/eww). We
|
||||||
|
@ -74,13 +74,13 @@ Read
|
||||||
carefully before asking why your bar doesn't work.
|
carefully before asking why your bar doesn't work.
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Hybrid
|
# Hybrid
|
||||||
|
|
||||||
Like Waybar, Hybrid is a GTK status bar mainly focused for wlroots compositors.
|
Like Waybar, Hybrid is a GTK status bar mainly focused for wlroots compositors.
|
||||||
|
|
||||||
You can install it from the AUR by the name `hybrid-bar-git`, do note though that
|
You can install it from the AUR by the name `hybrid-bar-git`, do note though that
|
||||||
it builds the bar from source, so it may take a few minutes.
|
it builds the bar from source, so it may take a few minutes.
|
||||||
|
|
||||||
### Configuration
|
## Configuration
|
||||||
|
|
||||||
The configuration is done through JSON, more information is available [here](https://github.com/vars1ty/HybridBar).
|
The configuration is done through JSON, more information is available [here](https://github.com/vars1ty/HybridBar).
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
Launch your wallpaper utility with `exec-once=`.
|
Launch your wallpaper utility with `exec-once=`.
|
||||||
|
|
||||||
## hyprpaper
|
# hyprpaper
|
||||||
|
|
||||||
Straight from our oven, `hyprpaper` is a wallpaper utility from the Hypr
|
Straight from our oven, `hyprpaper` is a wallpaper utility from the Hypr
|
||||||
Development team. See its usage and config by following the README on the
|
Development team. See its usage and config by following the README on the
|
||||||
[GitHub Page](https://github.com/hyprwm/hyprpaper).
|
[GitHub Page](https://github.com/hyprwm/hyprpaper).
|
||||||
|
|
||||||
## swaybg
|
# swaybg
|
||||||
|
|
||||||
Great utility if all you want is one simple static wallpaper that will never
|
Great utility if all you want is one simple static wallpaper that will never
|
||||||
change, and don't want to make a config file. Get it
|
change, and don't want to make a config file. Get it
|
||||||
[here](https://github.com/swaywm/swaybg).
|
[here](https://github.com/swaywm/swaybg).
|
||||||
|
|
||||||
## wpaperd
|
# wpaperd
|
||||||
|
|
||||||
A bit more advanced wallpaper daemon with automatic wallpaper changing options
|
A bit more advanced wallpaper daemon with automatic wallpaper changing options
|
||||||
and other fancy stuff. [GitHub](https://github.com/danyspin97/wpaperd).
|
and other fancy stuff. [GitHub](https://github.com/danyspin97/wpaperd).
|
||||||
|
|
||||||
## mpvpaper
|
# mpvpaper
|
||||||
|
|
||||||
A neat mpv wrapper to play a video as your wallpaper.
|
A neat mpv wrapper to play a video as your wallpaper.
|
||||||
[GitHub](https://github.com/GhostNaN/mpvpaper).
|
[GitHub](https://github.com/GhostNaN/mpvpaper).
|
||||||
|
|
||||||
## swww
|
# swww
|
||||||
|
|
||||||
An efficient animated wallpaper daemon for wayland, controlled at runtime,
|
An efficient animated wallpaper daemon for wayland, controlled at runtime,
|
||||||
which means you can change wallpapers without even needing to restart.
|
which means you can change wallpapers without even needing to restart.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
This category is dedicated to short tutorials on how to get useful utilities for
|
This category is dedicated to short tutorials on how to get useful utilities for
|
||||||
Hyprland working.
|
Hyprland working.
|
||||||
|
|
||||||
## List of Pages
|
# List of Pages
|
||||||
|
|
||||||
- **[Status Bars](./Status-Bars)**
|
- **[Status Bars](./Status-Bars)**
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue