mirror of
https://github.com/hyprwm/hyprland-wiki.git
synced 2024-11-21 20:35:57 +01:00
treewide: run linter
This commit is contained in:
parent
1b2ba381c7
commit
95697479fd
32 changed files with 212 additions and 171 deletions
|
@ -200,7 +200,7 @@ bindrl = MOD, KEY, exec, amongus
|
||||||
|
|
||||||
Flags:
|
Flags:
|
||||||
|
|
||||||
```
|
```plain
|
||||||
l -> locked, will also work when an input inhibitor (e.g. a lockscreen) is active.
|
l -> locked, will also work when an input inhibitor (e.g. a lockscreen) is active.
|
||||||
r -> release, will trigger on release of a key.
|
r -> release, will trigger on release of a key.
|
||||||
e -> repeat, will repeat when held.
|
e -> repeat, will repeat when held.
|
||||||
|
|
|
@ -138,7 +138,7 @@ You have nine choices:
|
||||||
- Previous workspace: `previous`, or `previous_per_monitor`
|
- Previous workspace: `previous`, or `previous_per_monitor`
|
||||||
|
|
||||||
- First available empty workspace: `empty`, suffix with `m` to only search
|
- First available empty workspace: `empty`, suffix with `m` to only search
|
||||||
on monitor. and/or `n` to make it the *next* available empty workspace. e.g.
|
on monitor. and/or `n` to make it the _next_ available empty workspace. e.g.
|
||||||
`emptynm`
|
`emptynm`
|
||||||
|
|
||||||
- Special Workspace: `special` or `special:name` for named special workspaces.
|
- Special Workspace: `special` or `special:name` for named special workspaces.
|
||||||
|
@ -227,4 +227,3 @@ address:0x13371337 nomaxsize 0
|
||||||
address:0x13371337 opaque toggle
|
address:0x13371337 opaque toggle
|
||||||
address:0x13371337 immediate unset
|
address:0x13371337 immediate unset
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -9,48 +9,48 @@ from a more tangible example.
|
||||||
|
|
||||||
### end_4
|
### end_4
|
||||||
|
|
||||||
![](https://github.com/end-4/dots-hyprland/assets/97237370/5e081770-0f1e-45c4-ad9c-3d19f488cd85)
|
![end-4/dots-hyprland screenshot](https://github.com/end-4/dots-hyprland/assets/97237370/5e081770-0f1e-45c4-ad9c-3d19f488cd85)
|
||||||
|
|
||||||
[https://github.com/end-4/dots-hyprland](https://github.com/end-4/dots-hyprland)
|
[https://github.com/end-4/dots-hyprland](https://github.com/end-4/dots-hyprland)
|
||||||
|
|
||||||
### Stephan Raabe (ML4W)
|
### Stephan Raabe (ML4W)
|
||||||
|
|
||||||
![](https://i.ibb.co/6ydHNt9/screenshot-29-1.png)
|
![mylinuxforwork/dotfiles screenshot](https://i.ibb.co/6ydHNt9/screenshot-29-1.png)
|
||||||
|
|
||||||
[https://github.com/mylinuxforwork/dotfiles](https://github.com/mylinuxforwork/dotfiles)
|
[https://github.com/mylinuxforwork/dotfiles](https://github.com/mylinuxforwork/dotfiles)
|
||||||
|
|
||||||
### fufexan
|
### fufexan
|
||||||
|
|
||||||
![](https://user-images.githubusercontent.com/36706276/192147190-cf9cf4df-94cb-4a3b-b9d8-137ed0c2538f.png)
|
![fufexan/dotfiles screenshot](https://user-images.githubusercontent.com/36706276/192147190-cf9cf4df-94cb-4a3b-b9d8-137ed0c2538f.png)
|
||||||
|
|
||||||
[https://github.com/fufexan/dotfiles](https://github.com/fufexan/dotfiles)
|
[https://github.com/fufexan/dotfiles](https://github.com/fufexan/dotfiles)
|
||||||
|
|
||||||
### linuxmobile
|
### linuxmobile
|
||||||
|
|
||||||
![](https://i.ibb.co/kGrhpKd/68747470733a2f2f692e696d6775722e636f6d2f553173336a69372e706e67.png)
|
![linuxmobile/hyprland-dots screenshot](https://i.ibb.co/kGrhpKd/68747470733a2f2f692e696d6775722e636f6d2f553173336a69372e706e67.png)
|
||||||
|
|
||||||
[https://github.com/linuxmobile/hyprland-dots](https://github.com/linuxmobile/hyprland-dots)
|
[https://github.com/linuxmobile/hyprland-dots](https://github.com/linuxmobile/hyprland-dots)
|
||||||
|
|
||||||
### flick0
|
### flick0
|
||||||
|
|
||||||
![](https://raw.githubusercontent.com/flick0/dotfiles/aurora/assets/fetch.png)
|
![flick0/dotfiles screenshot](https://raw.githubusercontent.com/flick0/dotfiles/aurora/assets/fetch.png)
|
||||||
|
|
||||||
[https://github.com/flick0/dotfiles](https://github.com/flick0/dotfiles)
|
[https://github.com/flick0/dotfiles](https://github.com/flick0/dotfiles)
|
||||||
|
|
||||||
### iamverysimp1e
|
### iamverysimp1e
|
||||||
|
|
||||||
![](https://github.com/iamverysimp1e/dots/raw/main/ScreenShots/HyprLand/Rice1.png)
|
![iamverysimp1e/dots screenshot](https://github.com/iamverysimp1e/dots/raw/main/ScreenShots/HyprLand/Rice1.png)
|
||||||
|
|
||||||
[https://github.com/iamverysimp1e/dots](https://github.com/iamverysimp1e/dots)
|
[https://github.com/iamverysimp1e/dots](https://github.com/iamverysimp1e/dots)
|
||||||
|
|
||||||
### notusknot
|
### notusknot
|
||||||
|
|
||||||
![](https://github.com/notusknot/dotfiles-nix/raw/main/pics/screenshot.png)
|
![notusknot/dotfiles-nix screenshot](https://github.com/notusknot/dotfiles-nix/raw/main/pics/screenshot.png)
|
||||||
|
|
||||||
[https://github.com/notusknot/dotfiles-nix](https://github.com/notusknot/dotfiles-nix)
|
[https://github.com/notusknot/dotfiles-nix](https://github.com/notusknot/dotfiles-nix)
|
||||||
|
|
||||||
### coffebar
|
### coffebar
|
||||||
|
|
||||||
![](https://github.com/coffebar/dotfiles/raw/6a5d595c594f108cd10219df08d338e98e1d2d7d/screenshot.png)
|
![coffebar/dotfiles screenshot](https://github.com/coffebar/dotfiles/raw/6a5d595c594f108cd10219df08d338e98e1d2d7d/screenshot.png)
|
||||||
|
|
||||||
[https://github.com/coffebar/dotfiles](https://github.com/coffebar/dotfiles)
|
[https://github.com/coffebar/dotfiles](https://github.com/coffebar/dotfiles)
|
||||||
|
|
|
@ -27,6 +27,7 @@ three_param_keyword = A, B, # OK
|
||||||
## Executing
|
## Executing
|
||||||
|
|
||||||
You can execute a shell script on:
|
You can execute a shell script on:
|
||||||
|
|
||||||
- startup of the compositor
|
- startup of the compositor
|
||||||
- every time the config is reloaded.
|
- every time the config is reloaded.
|
||||||
- shutdown of the compositor
|
- shutdown of the compositor
|
||||||
|
@ -96,8 +97,8 @@ Remember to use the name of the `Tablet` and not `Tablet Pad` or `Tablet tool`.
|
||||||
Additional properties only present in per-device configs:
|
Additional properties only present in per-device configs:
|
||||||
|
|
||||||
- `enabled` -> (only for mice / touchpads / touchdevices / keyboards)
|
- `enabled` -> (only for mice / touchpads / touchdevices / keyboards)
|
||||||
- enables / disables the device (connects / disconnects from the on-screen cursor)
|
- enables / disables the device (connects / disconnects from the on-screen cursor)
|
||||||
- default: Enabled
|
- default: Enabled
|
||||||
|
|
||||||
Example config section:
|
Example config section:
|
||||||
|
|
||||||
|
|
|
@ -85,15 +85,17 @@ Leaving the name empty will define a fallback rule to use when no other rules
|
||||||
match.
|
match.
|
||||||
|
|
||||||
There are a few special values for the resolutions:
|
There are a few special values for the resolutions:
|
||||||
|
|
||||||
- `preferred` - use the display's preferred size and refresh rate.
|
- `preferred` - use the display's preferred size and refresh rate.
|
||||||
- `highres` - use the highest supported resolution.
|
- `highres` - use the highest supported resolution.
|
||||||
- `highrr` - use the highest supported refresh rate.
|
- `highrr` - use the highest supported refresh rate.
|
||||||
|
|
||||||
Position also has a few special values:
|
Position also has a few special values:
|
||||||
|
|
||||||
- `auto` - let Hyprland decide on a position. By default, it places each new monitor to the right of existing ones.
|
- `auto` - let Hyprland decide on a position. By default, it places each new monitor to the right of existing ones.
|
||||||
- `auto-right/left/up/down` - place the monitor to the right/left, above or below other monitors.
|
- `auto-right/left/up/down` - place the monitor to the right/left, above or below other monitors.
|
||||||
|
|
||||||
***Please Note:*** While specifying a monitor direction for your first monitor is allowed, this does nothing and it will
|
_**Please Note:**_ While specifying a monitor direction for your first monitor is allowed, this does nothing and it will
|
||||||
be positioned at (0,0). Also the direction is always from the center out, so you can specify `auto-up` then `auto-left`,
|
be positioned at (0,0). Also the direction is always from the center out, so you can specify `auto-up` then `auto-left`,
|
||||||
but the left monitors will just be left of the origin and above the origin. You can also specify duplicate directions and
|
but the left monitors will just be left of the origin and above the origin. You can also specify duplicate directions and
|
||||||
monitors will continue to go in that direction.
|
monitors will continue to go in that direction.
|
||||||
|
@ -231,7 +233,7 @@ monitor = eDP-1, 2880x1800@90, 0x0, 1, transform, 1
|
||||||
|
|
||||||
Transform list:
|
Transform list:
|
||||||
|
|
||||||
```
|
```plain
|
||||||
0 -> normal (no transforms)
|
0 -> normal (no transforms)
|
||||||
1 -> 90 degrees
|
1 -> 90 degrees
|
||||||
2 -> 180 degrees
|
2 -> 180 degrees
|
||||||
|
|
|
@ -19,7 +19,7 @@ For this case, the writer is taking the example of their laptop.
|
||||||
Upon running `lspci | grep -E 'VGA|3D'`, One can list all the video devices
|
Upon running `lspci | grep -E 'VGA|3D'`, One can list all the video devices
|
||||||
available.
|
available.
|
||||||
|
|
||||||
```
|
```plain
|
||||||
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev a1)
|
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev a1)
|
||||||
06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c6)
|
06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c6)
|
||||||
```
|
```
|
||||||
|
@ -29,7 +29,7 @@ Here it is clear that 2 GPUs are available, the dedicated NVIDIA GTX 1650 Mobile
|
||||||
|
|
||||||
Now, run `ls -l /dev/dri/by-path`
|
Now, run `ls -l /dev/dri/by-path`
|
||||||
|
|
||||||
```
|
```plain
|
||||||
total 0
|
total 0
|
||||||
lrwxrwxrwx 1 root root 8 Jul 14 15:45 pci-0000:01:00.0-card -> ../card0
|
lrwxrwxrwx 1 root root 8 Jul 14 15:45 pci-0000:01:00.0-card -> ../card0
|
||||||
lrwxrwxrwx 1 root root 13 Jul 14 15:45 pci-0000:01:00.0-render -> ../renderD128
|
lrwxrwxrwx 1 root root 13 Jul 14 15:45 pci-0000:01:00.0-render -> ../renderD128
|
||||||
|
@ -64,7 +64,7 @@ required.
|
||||||
If instead you would like to use another GPU, or the wrong GPU is picked by default,
|
If instead you would like to use another GPU, or the wrong GPU is picked by default,
|
||||||
set `AQ_DRM_DEVICES` to a `:`-separated list of card paths, e.g.
|
set `AQ_DRM_DEVICES` to a `:`-separated list of card paths, e.g.
|
||||||
|
|
||||||
```
|
```plain
|
||||||
env = AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1
|
env = AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ title: Uncommon tips & tricks
|
||||||
The easiest way to accomplish this is to set this using XKB settings, for
|
The easiest way to accomplish this is to set this using XKB settings, for
|
||||||
example:
|
example:
|
||||||
|
|
||||||
```
|
```ini
|
||||||
input {
|
input {
|
||||||
kb_layout = us,cz
|
kb_layout = us,cz
|
||||||
kb_variant = ,qwerty
|
kb_variant = ,qwerty
|
||||||
|
@ -69,7 +69,7 @@ submap = reset
|
||||||
|
|
||||||
## Remap Caps-Lock to Ctrl
|
## Remap Caps-Lock to Ctrl
|
||||||
|
|
||||||
```
|
```ini
|
||||||
input {
|
input {
|
||||||
kb_options = ctrl:nocaps
|
kb_options = ctrl:nocaps
|
||||||
}
|
}
|
||||||
|
@ -77,13 +77,14 @@ input {
|
||||||
|
|
||||||
## Swap Caps-Lock and Escape
|
## Swap Caps-Lock and Escape
|
||||||
|
|
||||||
```
|
```ini
|
||||||
input {
|
input {
|
||||||
kb_options = caps:swapescape
|
kb_options = caps:swapescape
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Set F13-F24 as usual function keys
|
## Set F13-F24 as usual function keys
|
||||||
|
|
||||||
By default, F13-F24 are mapped by xkb as various "XF86" keysyms. These cause binding
|
By default, F13-F24 are mapped by xkb as various "XF86" keysyms. These cause binding
|
||||||
issues in many programs. One example is OBS Studio, which does not detect the XF86
|
issues in many programs. One example is OBS Studio, which does not detect the XF86
|
||||||
keysyms as usable keybindings, making you unable to use them for binds. This option
|
keysyms as usable keybindings, making you unable to use them for binds. This option
|
||||||
|
@ -94,15 +95,17 @@ This option was only added recently to `xkeyboard-config`. Please ensure you are
|
||||||
2.43 or greater for this option to do anything.
|
2.43 or greater for this option to do anything.
|
||||||
{{< /callout >}}
|
{{< /callout >}}
|
||||||
|
|
||||||
```
|
```ini
|
||||||
input {
|
input {
|
||||||
kb_options = fkeys:basic_13-24
|
kb_options = fkeys:basic_13-24
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Minimize windows using special workspaces
|
## Minimize windows using special workspaces
|
||||||
|
|
||||||
This approach uses special workspaces to mimic the "minimize window" function, by using a single keybind to toggle the minimized state.
|
This approach uses special workspaces to mimic the "minimize window" function, by using a single keybind to toggle the minimized state.
|
||||||
Note that one keybind can only handle one window.
|
Note that one keybind can only handle one window.
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
bind = $mod, S, togglespecialworkspace, magic
|
bind = $mod, S, togglespecialworkspace, magic
|
||||||
bind = $mod, S, movetoworkspace, +0
|
bind = $mod, S, movetoworkspace, +0
|
||||||
|
|
|
@ -194,6 +194,7 @@ To disable:
|
||||||
```sh
|
```sh
|
||||||
hyprctl seterror disable
|
hyprctl seterror disable
|
||||||
```
|
```
|
||||||
|
|
||||||
### notify
|
### notify
|
||||||
|
|
||||||
Sends a notification using the built-in Hyprland notification system.
|
Sends a notification using the built-in Hyprland notification system.
|
||||||
|
|
|
@ -347,7 +347,7 @@ _Subcategory `group:groupbar:`_
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| enabled | enables groupbars | bool | true |
|
| enabled | enables groupbars | bool | true |
|
||||||
| font_family | font used to display groupbar titles, use `misc:font_family` if not specified | string | [[Empty]] |
|
| font_family | font used to display groupbar titles, use `misc:font_family` if not specified | string | [\[Empty]] |
|
||||||
| font_size | font size of groupbar title | int | 8 |
|
| font_size | font size of groupbar title | int | 8 |
|
||||||
| gradients | enables gradients | bool | true |
|
| gradients | enables gradients | bool | true |
|
||||||
| height | height of the groupbar | int | 14 |
|
| height | height of the groupbar | int | 14 |
|
||||||
|
@ -369,7 +369,7 @@ _Subcategory `group:groupbar:`_
|
||||||
| disable_splash_rendering | disables the Hyprland splash rendering. (requires a monitor reload to take effect) | bool | false |
|
| disable_splash_rendering | disables the Hyprland splash rendering. (requires a monitor reload to take effect) | bool | false |
|
||||||
| col.splash | Changes the color of the splash text (requires a monitor reload to take effect). | color | 0xffffffff |
|
| col.splash | Changes the color of the splash text (requires a monitor reload to take effect). | color | 0xffffffff |
|
||||||
| font_family | Set the global default font to render the text including debug fps/notification, config error messages and etc., selected from system fonts. | string | Sans |
|
| font_family | Set the global default font to render the text including debug fps/notification, config error messages and etc., selected from system fonts. | string | Sans |
|
||||||
| splash_font_family | Changes the font used to render the splash text, selected from system fonts (requires a monitor reload to take effect). | string | [[Empty]] |
|
| splash_font_family | Changes the font used to render the splash text, selected from system fonts (requires a monitor reload to take effect). | string | [\[Empty]] |
|
||||||
| force_default_wallpaper | Enforce any of the 3 default wallpapers. Setting this to `0` or `1` disables the anime background. `-1` means "random". [-1/0/1/2] | int | -1 |
|
| force_default_wallpaper | Enforce any of the 3 default wallpapers. Setting this to `0` or `1` disables the anime background. `-1` means "random". [-1/0/1/2] | int | -1 |
|
||||||
| vfr | controls the VFR status of Hyprland. Heavily recommended to leave enabled to conserve resources. | bool | true |
|
| vfr | controls the VFR status of Hyprland. Heavily recommended to leave enabled to conserve resources. | bool | true |
|
||||||
| vrr | controls the VRR (Adaptive Sync) of your monitors. 0 - off, 1 - on, 2 - fullscreen only [0/1/2] | int | 0 |
|
| vrr | controls the VRR (Adaptive Sync) of your monitors. 0 - off, 1 - on, 2 - fullscreen only [0/1/2] | int | 0 |
|
||||||
|
@ -381,8 +381,8 @@ _Subcategory `group:groupbar:`_
|
||||||
| animate_mouse_windowdragging | If true, will animate windows being dragged by mouse, note that this can cause weird behavior on some curves | bool | false |
|
| animate_mouse_windowdragging | If true, will animate windows being dragged by mouse, note that this can cause weird behavior on some curves | bool | false |
|
||||||
| disable_autoreload | If true, the config will not reload automatically on save, and instead needs to be reloaded with `hyprctl reload`. Might save on battery. | bool | false |
|
| disable_autoreload | If true, the config will not reload automatically on save, and instead needs to be reloaded with `hyprctl reload`. Might save on battery. | bool | false |
|
||||||
| 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). To know more about the list of regex which can be used [use this cheatsheet](https://github.com/ziishaned/learn-regex/blob/master/README.md). | str | \[\[Empty\]\] |
|
| swallow_regex | The _class_ regex to be used for windows that should be swallowed (usually, a terminal). To know more about the list of regex which can be used [use this cheatsheet](https://github.com/ziishaned/learn-regex/blob/master/README.md). | str | \[\[Empty\]\] |
|
||||||
| swallow_exception_regex | The *title* regex to be used for windows that should *not* be swallowed by the windows specified in swallow_regex (e.g. wev). The regex is matched against the parent (e.g. Kitty) window's title on the assumption that it changes to whatever process it's running. | str | \[\[Empty\]\] |
|
| swallow_exception_regex | The _title_ regex to be used for windows that should _not_ be swallowed by the windows specified in swallow_regex (e.g. wev). The regex is matched against the parent (e.g. Kitty) window's title on the assumption that it changes to whatever process it's running. | str | \[\[Empty\]\] |
|
||||||
| focus_on_activate | Whether Hyprland should focus an app that requests to be focused (an `activate` request) | bool | false |
|
| focus_on_activate | Whether Hyprland should focus an app that requests to be focused (an `activate` request) | bool | false |
|
||||||
| mouse_move_focuses_monitor | Whether mouse moving into a different monitor should focus it | bool | true |
|
| mouse_move_focuses_monitor | Whether mouse moving into a different monitor should focus it | bool | true |
|
||||||
| render_ahead_of_time | [Warning: buggy] starts rendering _before_ your monitor displays a frame in order to lower latency | bool | false |
|
| render_ahead_of_time | [Warning: buggy] starts rendering _before_ your monitor displays a frame in order to lower latency | bool | false |
|
||||||
|
|
|
@ -118,7 +118,7 @@ It is not possible to `float` (or any other of the static rules) a window based
|
||||||
| monitor \[id\] | sets the monitor on which a window should open. `id` can be either id or name (either e.g. `1` or e.g. `DP-1`) |
|
| monitor \[id\] | sets the monitor on which a window should open. `id` can be either id or name (either e.g. `1` or e.g. `DP-1`) |
|
||||||
| workspace \[w\] | sets the workspace on which a window should open (for workspace syntax, see [dispatchers->workspaces](../Dispatchers#workspaces)). You can also make \[w\] to `unset`, will unset all previous workspace rules applied to this window. You can also add `silent` after the workspace to make the window open silently. |
|
| workspace \[w\] | sets the workspace on which a window should open (for workspace syntax, see [dispatchers->workspaces](../Dispatchers#workspaces)). You can also make \[w\] to `unset`, will unset all previous workspace rules applied to this window. You can also add `silent` after the workspace to make the window open silently. |
|
||||||
| noinitialfocus | disables the initial focus to the window |
|
| noinitialfocus | disables the initial focus to the window |
|
||||||
| pin | pins the window (i.e. show it on all workspaces) *note: floating only* |
|
| pin | pins the window (i.e. show it on all workspaces) _note: floating only_ |
|
||||||
| unset | removes all previously set rules for the given parameters. Please note it has to match EXACTLY. |
|
| unset | removes all previously set rules for the given parameters. Please note it has to match EXACTLY. |
|
||||||
| nomaxsize | removes max size limitations. Especially useful with windows that report invalid max sizes (e.g. winecfg) |
|
| nomaxsize | removes max size limitations. Especially useful with windows that report invalid max sizes (e.g. winecfg) |
|
||||||
| stayfocused | forces focus on the window as long as it's visible |
|
| stayfocused | forces focus on the window as long as it's visible |
|
||||||
|
|
|
@ -19,19 +19,20 @@ Selectors have props separated by a space. No spaces are allowed inside props
|
||||||
themselves.
|
themselves.
|
||||||
|
|
||||||
Props:
|
Props:
|
||||||
- `r[A-B]` - ID range from A to B inclusive
|
|
||||||
- `s[bool]` - Whether the workspace is special or not
|
- `r[A-B]` - ID range from A to B inclusive
|
||||||
- `n[bool]`, `n[s:string]`, `n[e:string]` - named actions. `n[bool]` ->
|
- `s[bool]` - Whether the workspace is special or not
|
||||||
whether a workspace is a named workspace, `s` and `e` are starts and ends
|
- `n[bool]`, `n[s:string]`, `n[e:string]` - named actions. `n[bool]` ->
|
||||||
with respectively
|
whether a workspace is a named workspace, `s` and `e` are starts and ends
|
||||||
- `m[monitor]` - Monitor selector
|
with respectively
|
||||||
- `w[(flags)A-B]`, `w[(flags)X]` - Prop for window counts on the workspace.
|
- `m[monitor]` - Monitor selector
|
||||||
A-B is an inclusive range, X is a specific number. Flags can be omitted.
|
- `w[(flags)A-B]`, `w[(flags)X]` - Prop for window counts on the workspace.
|
||||||
It can be `t` for tiled-only, `f` for floating-only, `g` to count groups
|
A-B is an inclusive range, X is a specific number. Flags can be omitted.
|
||||||
instead of windows, and `v` to count only visible windows.
|
It can be `t` for tiled-only, `f` for floating-only, `g` to count groups
|
||||||
- `f[-1]`, `f[0]`, `f[1]`, `f[2]` - fullscreen state of the workspace. `-1`: no
|
instead of windows, and `v` to count only visible windows.
|
||||||
fullscreen, `0`: fullscreen, `1`: maximized, `2`, fullscreen without
|
- `f[-1]`, `f[0]`, `f[1]`, `f[2]` - fullscreen state of the workspace. `-1`: no
|
||||||
fullscreen state sent to the window.
|
fullscreen, `0`: fullscreen, `1`: maximized, `2`, fullscreen without
|
||||||
|
fullscreen state sent to the window.
|
||||||
|
|
||||||
### Syntax
|
### Syntax
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,11 @@ These are the links to official Hyprland-related spaces or profiles:
|
||||||
|
|
||||||
Twitter: [twitter.com/hyprwm](https://twitter.com/hyprwm)
|
Twitter: [twitter.com/hyprwm](https://twitter.com/hyprwm)
|
||||||
|
|
||||||
|
|
||||||
## Spaces
|
## Spaces
|
||||||
|
|
||||||
Discord: [discord.gg/hQ9XvMUjjr](https://discord.gg/hQ9XvMUjjr)<br/>
|
Discord: [discord.gg/hQ9XvMUjjr](https://discord.gg/hQ9XvMUjjr)<br/>
|
||||||
Matrix: `#hyprland:matrix.vaxry.net`
|
Matrix: `#hyprland:matrix.vaxry.net`
|
||||||
|
|
||||||
|
|
||||||
## Other
|
## Other
|
||||||
|
|
||||||
hyprland.org git instance: [code.hyprland.org](https://code.hyprland.org/)<br/>
|
hyprland.org git instance: [code.hyprland.org](https://code.hyprland.org/)<br/>
|
||||||
|
|
|
@ -27,7 +27,7 @@ that you can copy to your .vscode/ folder in the repo root.
|
||||||
With that, you can build in debug, go to the debugging tab and hit
|
With that, you can build in debug, go to the debugging tab and hit
|
||||||
`(gdb) Launch`.
|
`(gdb) Launch`.
|
||||||
|
|
||||||
*note:* You probably want to set `watchdog_timeout = 0` in the debug {} section
|
_note:_ You probably want to set `watchdog_timeout = 0` in the debug {} section
|
||||||
of your config. Otherwise Hyprland will notice its hanging when you hit a
|
of your config. Otherwise Hyprland will notice its hanging when you hit a
|
||||||
breakpoint and it will crash after you continue out of it.
|
breakpoint and it will crash after you continue out of it.
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ If you want proper LSP support in an editor that doesn't automatically set it
|
||||||
up, use clangd. You'll probably notice there will be a bunch of warnings
|
up, use clangd. You'll probably notice there will be a bunch of warnings
|
||||||
because we haven't generated compile commands, to do this run:
|
because we haven't generated compile commands, to do this run:
|
||||||
|
|
||||||
```
|
```sh
|
||||||
cmake -S . -B build/ -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
cmake -S . -B build/ -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -53,10 +53,10 @@ Report an issue on GitHub or on the Discord server.
|
||||||
1. Build Hyprland in debug (`make debug`).
|
1. Build Hyprland in debug (`make debug`).
|
||||||
2. Start Hyprland and get it to crash.
|
2. Start Hyprland and get it to crash.
|
||||||
3. In a tty or terminal, do `coredumpctl debug Hyprland`.
|
3. In a tty or terminal, do `coredumpctl debug Hyprland`.
|
||||||
- If gdb asks you for symbols, say `y`.
|
- If gdb asks you for symbols, say `y`.
|
||||||
- If it asks about paging, say `c`.
|
- If it asks about paging, say `c`.
|
||||||
4. Once you get to `(gdb)`, start file logging with `set logging on`.
|
4. Once you get to `(gdb)`, start file logging with `set logging on`.
|
||||||
- For a specific file, use `set logging file output.log`.
|
- For a specific file, use `set logging file output.log`.
|
||||||
5. Run `bt -full`, then `exit` once finished, and attach the output.
|
5. Run `bt -full`, then `exit` once finished, and attach the output.
|
||||||
|
|
||||||
## Obtaining a trace log
|
## Obtaining a trace log
|
||||||
|
@ -152,7 +152,11 @@ we can render to) and put it on your screen (via the gpu) instead of a window.
|
||||||
Freezes, glitches, and others, can be caused by issues with Hyprland's communication with DRM, the driver
|
Freezes, glitches, and others, can be caused by issues with Hyprland's communication with DRM, the driver
|
||||||
or kernel. In those cases, a DRM log is helpful.
|
or kernel. In those cases, a DRM log is helpful.
|
||||||
|
|
||||||
_Please note, these logs are EXTREMELY verbose. Please reproduce your bug(s) ASAP to avoid getting a 1GB log_
|
{{< callout >}}
|
||||||
|
|
||||||
|
Please note, these logs are EXTREMELY verbose. Please reproduce your bug(s) ASAP to avoid getting a 1GB log.
|
||||||
|
|
||||||
|
{{< /callout >}}
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
echo 0x19F | sudo tee /sys/module/drm/parameters/debug # cnables verbose drm logging
|
echo 0x19F | sudo tee /sys/module/drm/parameters/debug # cnables verbose drm logging
|
||||||
|
|
|
@ -35,10 +35,10 @@ _[wiki page](../Crashes-and-Bugs)_
|
||||||
For Nvidia graphics - This issue appears to be resolved when using Nvidia
|
For Nvidia graphics - This issue appears to be resolved when using Nvidia
|
||||||
Drivers 525.60.11 or later, but it may persist with older drivers.
|
Drivers 525.60.11 or later, but it may persist with older drivers.
|
||||||
|
|
||||||
For systems with limited hardware (Ex. iGPU, USB-C, USB Hubs) - Set `env = AQ_NO_MODIFIERS,1` in your config \
|
For systems with limited hardware (Ex. iGPU, USB-C, USB Hubs) - Set `env = AQ_NO_MODIFIERS,1` in your config.
|
||||||
To diagnose if you have the exact problem above you can get a [DRM log](https://wiki.hyprland.org/Crashes-and-Bugs/#debugging-drm-issues) and look for
|
To diagnose if you have the exact problem above you can get a [DRM log](https://wiki.hyprland.org/Crashes-and-Bugs/#debugging-drm-issues) and look for
|
||||||
|
|
||||||
```
|
```plain
|
||||||
Requested display configuration exceeds system DDB limitations
|
Requested display configuration exceeds system DDB limitations
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -78,7 +78,6 @@ utility, try our own screenshotting utility:
|
||||||
|
|
||||||
**Option 2:** You can also use hyprshot, more info [here](https://github.com/Gustash/Hyprshot).
|
**Option 2:** You can also use hyprshot, more info [here](https://github.com/Gustash/Hyprshot).
|
||||||
|
|
||||||
|
|
||||||
**Option 3:** Install `flameshot`.
|
**Option 3:** Install `flameshot`.
|
||||||
|
|
||||||
Flameshot has many built-in features like allowing you to draw with a paintbrush,
|
Flameshot has many built-in features like allowing you to draw with a paintbrush,
|
||||||
|
@ -90,7 +89,7 @@ The options above are smoother and more native to Wayland. If you still want to
|
||||||
use Flameshot, here are some configuration recommendations by users who've found
|
use Flameshot, here are some configuration recommendations by users who've found
|
||||||
workarounds.
|
workarounds.
|
||||||
|
|
||||||
```
|
```ini
|
||||||
# noanim isn't necessary but animations with these rules might look bad. use at your own discretion.
|
# noanim isn't necessary but animations with these rules might look bad. use at your own discretion.
|
||||||
windowrulev2 = noanim, class:^(flameshot)$
|
windowrulev2 = noanim, class:^(flameshot)$
|
||||||
windowrulev2 = float, class:^(flameshot)$
|
windowrulev2 = float, class:^(flameshot)$
|
||||||
|
@ -158,6 +157,7 @@ Be aware that they will not prevent tty-changing using Ctrl-Alt-F1...F7.
|
||||||
### How do I change me mouse cursor?
|
### How do I change me mouse cursor?
|
||||||
|
|
||||||
See [hyprcursor](../Hypr-Ecosystem/hyprcursor)
|
See [hyprcursor](../Hypr-Ecosystem/hyprcursor)
|
||||||
|
|
||||||
1. Set the GTK cursor using [nwg-look](https://github.com/nwg-piotr/nwg-look).
|
1. Set the GTK cursor using [nwg-look](https://github.com/nwg-piotr/nwg-look).
|
||||||
2. Add `exec-once=hyprctl setcursor [THEME] [SIZE]` to your config and restart Hyprland.
|
2. Add `exec-once=hyprctl setcursor [THEME] [SIZE]` to your config and restart Hyprland.
|
||||||
|
|
||||||
|
@ -351,10 +351,10 @@ pop-up. It should look something like this:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
Window 55d794495400 -> :
|
Window 55d794495400 -> :
|
||||||
...
|
...
|
||||||
class: [CLASS here]
|
class: [CLASS here]
|
||||||
title: [TITLE here]
|
title: [TITLE here]
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
If the pop-up disappears as you hover over it, you can add to your config:
|
If the pop-up disappears as you hover over it, you can add to your config:
|
||||||
|
@ -414,7 +414,7 @@ monitor = Unknown-1,disabled
|
||||||
|
|
||||||
If you are using a -git package, this is a common occurrence when ABI-breaking updates are done.
|
If you are using a -git package, this is a common occurrence when ABI-breaking updates are done.
|
||||||
|
|
||||||
***Do not*** symlink different .so versions, this will cause crashes!!!
|
_**Do not**_ symlink different .so versions, this will cause crashes!!!
|
||||||
|
|
||||||
Instead, find all hypr* packages with `-git` you have installed, remove them (possibly remove dependencies of them, too)
|
Instead, find all hypr* packages with `-git` you have installed, remove them (possibly remove dependencies of them, too)
|
||||||
and simply install them again.
|
and simply install them again.
|
||||||
|
|
|
@ -341,6 +341,7 @@ epmi hypridle
|
||||||
epmi hyprpaper
|
epmi hyprpaper
|
||||||
epmi hyprpicker
|
epmi hyprpicker
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /details %}}
|
{{% /details %}}
|
||||||
|
|
||||||
{{% details title="Solus*" closed="true" %}}
|
{{% details title="Solus*" closed="true" %}}
|
||||||
|
|
|
@ -19,14 +19,22 @@ repositories.
|
||||||
|
|
||||||
## Nvidia?
|
## Nvidia?
|
||||||
|
|
||||||
_If not using an Nvidia card, skip this step_
|
{{< callout type=info >}}
|
||||||
|
|
||||||
|
If not using an Nvidia card, skip this step.
|
||||||
|
|
||||||
|
{{< /callout >}}
|
||||||
|
|
||||||
Please take a look at [The Nvidia page](../../Nvidia) before launching. It has
|
Please take a look at [The Nvidia page](../../Nvidia) before launching. It has
|
||||||
information regarding the needed environment and tweaks.
|
information regarding the needed environment and tweaks.
|
||||||
|
|
||||||
## VM?
|
## VM?
|
||||||
|
|
||||||
_If not using a VM, skip this step_
|
{{< callout type=info >}}
|
||||||
|
|
||||||
|
If not using a VM, skip this step.
|
||||||
|
|
||||||
|
{{< /callout >}}
|
||||||
|
|
||||||
In a VM, make sure you have 3D acceleration enabled in your `virtio` config (or
|
In a VM, make sure you have 3D acceleration enabled in your `virtio` config (or
|
||||||
`virt-manager`) otherwise Hyprland _**will not work**_.
|
`virt-manager`) otherwise Hyprland _**will not work**_.
|
||||||
|
|
|
@ -14,19 +14,20 @@ These docs always target latest -git branch of respective apps.
|
||||||
## Wiki pages
|
## Wiki pages
|
||||||
|
|
||||||
### Apps/utilities for the user
|
### Apps/utilities for the user
|
||||||
- **[hyprpaper](./hyprpaper)**
|
|
||||||
- **[hyprpicker](./hyprpicker)**
|
- **[hyprpaper](./hyprpaper)**
|
||||||
- **[hypridle](./hypridle)**
|
- **[hyprpicker](./hyprpicker)**
|
||||||
- **[hyprlock](./hyprlock)**
|
- **[hypridle](./hypridle)**
|
||||||
- **[xdg-desktop-portal-hyprland](./xdg-desktop-portal-hyprland)**
|
- **[hyprlock](./hyprlock)**
|
||||||
- **[hyprsysteminfo](./hyprsysteminfo)**
|
- **[xdg-desktop-portal-hyprland](./xdg-desktop-portal-hyprland)**
|
||||||
- **[hyprsunset](./hyprsunset)**
|
- **[hyprsysteminfo](./hyprsysteminfo)**
|
||||||
- **[hyprpolkitagent](./hyprpolkitagent)**
|
- **[hyprsunset](./hyprsunset)**
|
||||||
|
- **[hyprpolkitagent](./hyprpolkitagent)**
|
||||||
|
|
||||||
### Libraries and other utilities
|
### Libraries and other utilities
|
||||||
- **[hyprcursor](./hyprcursor)**
|
|
||||||
- **[hyprutils](./hyprutils)**
|
|
||||||
- **[hyprlang](./hyprlang)**
|
|
||||||
- **[hyprwayland-scanner](./hyprwayland-scanner)**
|
|
||||||
- **[aquamarine](./aquamarine)**
|
|
||||||
|
|
||||||
|
- **[hyprcursor](./hyprcursor)**
|
||||||
|
- **[hyprutils](./hyprutils)**
|
||||||
|
- **[hyprlang](./hyprlang)**
|
||||||
|
- **[hyprwayland-scanner](./hyprwayland-scanner)**
|
||||||
|
- **[aquamarine](./aquamarine)**
|
||||||
|
|
|
@ -24,4 +24,3 @@ Configuration options are passed via environment variables starting with `AQ_` t
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
Documentation will come soon.
|
Documentation will come soon.
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
weight: 101
|
weight: 101
|
||||||
title: hyprcursor
|
title: hyprcursor
|
||||||
---
|
---
|
||||||
|
|
||||||
hyprcursor is a new cursor theme format that has many advantages
|
hyprcursor is a new cursor theme format that has many advantages
|
||||||
over the widely used xcursor.
|
over the widely used xcursor.
|
||||||
|
|
||||||
|
@ -22,8 +23,9 @@ to potential permission issues.
|
||||||
You can set your theme with envvars, or with `hyprctl setcursor`.
|
You can set your theme with envvars, or with `hyprctl setcursor`.
|
||||||
|
|
||||||
Env:
|
Env:
|
||||||
- `HYPRCURSOR_THEME` controls the theme.
|
|
||||||
- `HYPRCURSOR_SIZE` controls the cursor size.
|
- `HYPRCURSOR_THEME` controls the theme.
|
||||||
|
- `HYPRCURSOR_SIZE` controls the cursor size.
|
||||||
|
|
||||||
example snippet of `hyprland.conf`:
|
example snippet of `hyprland.conf`:
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ there only for legibility.
|
||||||
Categories can be regular, and "special".
|
Categories can be regular, and "special".
|
||||||
|
|
||||||
Both are specified the same:
|
Both are specified the same:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
category {
|
category {
|
||||||
variable = value
|
variable = value
|
||||||
|
@ -37,6 +38,7 @@ category {
|
||||||
```
|
```
|
||||||
|
|
||||||
Special categories can have other properties, like for example containing a key:
|
Special categories can have other properties, like for example containing a key:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
special {
|
special {
|
||||||
key = A
|
key = A
|
||||||
|
@ -54,11 +56,13 @@ example uses those for per-device configs.
|
||||||
### Defining variables
|
### Defining variables
|
||||||
|
|
||||||
Variables can be defined like so:
|
Variables can be defined like so:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
$VAR = myData
|
$VAR = myData
|
||||||
```
|
```
|
||||||
|
|
||||||
Later on, you can use them like so:
|
Later on, you can use them like so:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
$SUFFIX = -san
|
$SUFFIX = -san
|
||||||
$NAME = Jeremy
|
$NAME = Jeremy
|
||||||
|
@ -91,11 +95,13 @@ someoption = blah
|
||||||
### Inline options
|
### Inline options
|
||||||
|
|
||||||
If you want to specify an option inline, without opening and closing a category, the separator is `:`:
|
If you want to specify an option inline, without opening and closing a category, the separator is `:`:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
category:variable = value
|
category:variable = value
|
||||||
```
|
```
|
||||||
|
|
||||||
If the category is special and requires a key, you can do:
|
If the category is special and requires a key, you can do:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
category[keyvalue]:variable = value
|
category[keyvalue]:variable = value
|
||||||
```
|
```
|
||||||
|
@ -105,4 +111,3 @@ This is the syntax used by `hyprctl keyword`, for example.
|
||||||
## Developer documentation
|
## Developer documentation
|
||||||
|
|
||||||
See the documentation at [hyprland.org/hyprlang](https://hyprland.org/hyprlang/).
|
See the documentation at [hyprland.org/hyprlang](https://hyprland.org/hyprlang/).
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ is not required, but recommended. Without it, locking shows the current screen.
|
||||||
### General
|
### General
|
||||||
|
|
||||||
Variables in the `general` category:
|
Variables in the `general` category:
|
||||||
|
|
||||||
| variable | description | type | default |
|
| variable | description | type | default |
|
||||||
| -- | -- | -- | -- |
|
| -- | -- | -- | -- |
|
||||||
| disable_loading_bar | disables the loading bar on the bottom of the screen while hyprlock is booting up. | bool | false |
|
| disable_loading_bar | disables the loading bar on the bottom of the screen while hyprlock is booting up. | bool | false |
|
||||||
|
@ -32,13 +33,14 @@ Variables in the `general` category:
|
||||||
|
|
||||||
{{< callout type=warning >}}
|
{{< callout type=warning >}}
|
||||||
|
|
||||||
If you are not on hyprland, or your `XDG_CURRENT_DESKTOP` is not Hyprland, the fade out will be disabled and the value of your `no_fade_out` variable will be ignored.
|
If you are not on hyprland, or your `XDG_CURRENT_DESKTOP` is not Hyprland, the fade out will be disabled and the value of your `no_fade_out` variable will be ignored.
|
||||||
|
|
||||||
{{< /callout >}}
|
{{< /callout >}}
|
||||||
|
|
||||||
## Keyboard Shortcuts and Actions
|
## Keyboard Shortcuts and Actions
|
||||||
|
|
||||||
The following keys and key-combinations describe hyprlock's default behaviour:
|
The following keys and key-combinations describe hyprlock's default behaviour:
|
||||||
|
|
||||||
| input | description |
|
| input | description |
|
||||||
| -- | -- |
|
| -- | -- |
|
||||||
| ESC | Clear password buffer |
|
| ESC | Clear password buffer |
|
||||||
|
@ -80,6 +82,7 @@ widget_name {
|
||||||
### Shadowable
|
### Shadowable
|
||||||
|
|
||||||
Some widgets are shadowable, meaning they can have a shadow. For those widgets, you get:
|
Some widgets are shadowable, meaning they can have a shadow. For those widgets, you get:
|
||||||
|
|
||||||
| variable | description | type | default |
|
| variable | description | type | default |
|
||||||
| -- | -- | -- | -- |
|
| -- | -- | -- | -- |
|
||||||
| shadow_passes | passes for shadow, 0 to disable | int | 0 |
|
| shadow_passes | passes for shadow, 0 to disable | int | 0 |
|
||||||
|
@ -212,17 +215,20 @@ input-field {
|
||||||
When `outline_thickness` set to `0`, the color of the inner box will be changed instead of the outer.
|
When `outline_thickness` set to `0`, the color of the inner box will be changed instead of the outer.
|
||||||
|
|
||||||
Behaviour of `swap_font_color` is as follows:
|
Behaviour of `swap_font_color` is as follows:
|
||||||
- `outline_thickness` is `0`: if set, font color will be swapped with inner one on color change events (e.g. Caps-lock on or password check).
|
|
||||||
- `outline_thickness` is not `0`: if set, font and inner colors will be swapped on password check and authentication failure.
|
- `outline_thickness` is `0`: if set, font color will be swapped with inner one on color change events (e.g. Caps-lock on or password check).
|
||||||
|
- `outline_thickness` is not `0`: if set, font and inner colors will be swapped on password check and authentication failure.
|
||||||
|
|
||||||
{{< /callout >}}
|
{{< /callout >}}
|
||||||
|
|
||||||
Available variables for `placeholder_text`:
|
Available variables for `placeholder_text`:
|
||||||
- `$PROMPT` - prompt text provided by pam. Usually this will be "Password: ", but it depends on your pam configuration.
|
|
||||||
|
- `$PROMPT` - prompt text provided by pam. Usually this will be "Password: ", but it depends on your pam configuration.
|
||||||
|
|
||||||
Available variables for `fail_text`:
|
Available variables for `fail_text`:
|
||||||
- `$FAIL` - pam fail reason
|
|
||||||
- `$ATTEMPTS` - number of failed authentication attempts
|
- `$FAIL` - pam fail reason
|
||||||
|
- `$ATTEMPTS` - number of failed authentication attempts
|
||||||
|
|
||||||
### Label
|
### Label
|
||||||
|
|
||||||
|
@ -247,15 +253,16 @@ label {
|
||||||
```
|
```
|
||||||
|
|
||||||
Available variables for `text`:
|
Available variables for `text`:
|
||||||
- `$USER` - username (e.g. linux-user)
|
|
||||||
- `$DESC` - user description (e.g. Linux User)
|
- `$USER` - username (e.g. linux-user)
|
||||||
- `$TIME` - current time in 24-hour format (e.g. `13:37`)
|
- `$DESC` - user description (e.g. Linux User)
|
||||||
- `$TIME12` - current time in 12-hour format (e.g. `1:37 PM`)
|
- `$TIME` - current time in 24-hour format (e.g. `13:37`)
|
||||||
- `$PROMPT` - last pam prompt
|
- `$TIME12` - current time in 12-hour format (e.g. `1:37 PM`)
|
||||||
- `$FAIL` - last pam fail reason
|
- `$PROMPT` - last pam prompt
|
||||||
- `$ATTEMPTS` - failed attempts
|
- `$FAIL` - last pam fail reason
|
||||||
- `$LAYOUT` - current keyboard layout
|
- `$ATTEMPTS` - failed attempts
|
||||||
- `$FPRINTMESSAGE` - last message from fingerprint matching
|
- `$LAYOUT` - current keyboard layout
|
||||||
|
- `$FPRINTMESSAGE` - last message from fingerprint matching
|
||||||
|
|
||||||
`text` also supports launching commands, for example:
|
`text` also supports launching commands, for example:
|
||||||
|
|
||||||
|
@ -264,12 +271,13 @@ text = cmd[update:1000] echo "<span foreground='##ff2222'>$(date)</span>"
|
||||||
```
|
```
|
||||||
|
|
||||||
Worth noting:
|
Worth noting:
|
||||||
- `update:` - time is in ms.
|
|
||||||
- label can be forcefully updated by specifying `update:<time>:1` or `update:<time>:true` and sending `SIGUSR2` to hyprlock. `<time>` can be `0` in this case.
|
- `update:` - time is in ms.
|
||||||
- `$ATTEMPTS[<string>]` format can be used to show `<string>` when there are no failed attempts. You can use pango-markup here. `<string>` can be empty to hide.
|
- label can be forcefully updated by specifying `update:<time>:1` or `update:<time>:true` and sending `SIGUSR2` to hyprlock. `<time>` can be `0` in this case.
|
||||||
- `$LAYOUT[<str0>,<str1>,...]` format is available to replace indexed layouts. You can use settings from `hyprland.conf`, e.g. `$LAYOUT[en,ru,de]`. Also, single `!` character will hide layout. E.g. `$LAYOUT[!]` will hide default (0 indexed) and show others.
|
- `$ATTEMPTS[<string>]` format can be used to show `<string>` when there are no failed attempts. You can use pango-markup here. `<string>` can be empty to hide.
|
||||||
- Variables seen above are parsed _before_ the command is ran.
|
- `$LAYOUT[<str0>,<str1>,...]` format is available to replace indexed layouts. You can use settings from `hyprland.conf`, e.g. `$LAYOUT[en,ru,de]`. Also, single `!` character will hide layout. E.g. `$LAYOUT[!]` will hide default (0 indexed) and show others.
|
||||||
- **do not** run commands that never exit. This will hang the AsyncResourceGatherer and you won't have a good time.
|
- Variables seen above are parsed _before_ the command is ran.
|
||||||
|
- **do not** run commands that never exit. This will hang the AsyncResourceGatherer and you won't have a good time.
|
||||||
|
|
||||||
## User Signals
|
## User Signals
|
||||||
|
|
||||||
|
|
|
@ -31,12 +31,12 @@ sudo dnf install hyprpaper
|
||||||
|
|
||||||
{{% /details %}}
|
{{% /details %}}
|
||||||
|
|
||||||
|
|
||||||
{{% details title="Manual" closed="true" %}}
|
{{% details title="Manual" closed="true" %}}
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
The development files of these packages need to be installed on the system for `hyprpaper` to build correctly.
|
The development files of these packages need to be installed on the system for `hyprpaper` to build correctly.
|
||||||
(Development packages are usually suffixed with `-dev` or `-devel` in most distros' repos).
|
(Development packages are usually suffixed with `-dev` or `-devel` in most distros' repos).
|
||||||
|
|
||||||
- wayland
|
- wayland
|
||||||
- wayland-protocols
|
- wayland-protocols
|
||||||
- pango
|
- pango
|
||||||
|
@ -51,17 +51,20 @@ The development files of these packages need to be installed on the system for `
|
||||||
- hyprwayland-scanner
|
- hyprwayland-scanner
|
||||||
|
|
||||||
To install all of these in Fedora, run this command:
|
To install all of these in Fedora, run this command:
|
||||||
```
|
|
||||||
|
```sh
|
||||||
sudo dnf install wayland-devel wayland-protocols-devel hyprlang-devel pango-devel cairo-devel file-devel libglvnd-devel libglvnd-core-devel libjpeg-turbo-devel libwebp-devel gcc-c++ hyprutils-devel hyprwayland-scanner
|
sudo dnf install wayland-devel wayland-protocols-devel hyprlang-devel pango-devel cairo-devel file-devel libglvnd-devel libglvnd-core-devel libjpeg-turbo-devel libwebp-devel gcc-c++ hyprutils-devel hyprwayland-scanner
|
||||||
```
|
```
|
||||||
|
|
||||||
On Arch:
|
On Arch:
|
||||||
```
|
|
||||||
|
```sh
|
||||||
sudo pacman -S ninja gcc wayland-protocols libjpeg-turbo libwebp pango cairo pkgconf cmake libglvnd wayland hyprutils hyprwayland-scanner hyprlang
|
sudo pacman -S ninja gcc wayland-protocols libjpeg-turbo libwebp pango cairo pkgconf cmake libglvnd wayland hyprutils hyprwayland-scanner hyprlang
|
||||||
```
|
```
|
||||||
|
|
||||||
On OpenSUSE:
|
On OpenSUSE:
|
||||||
```
|
|
||||||
|
```sh
|
||||||
sudo zypper install ninja gcc-c++ wayland-protocols-devel Mesa-libGLESv3-devel file-devel hyprutils-devel hyprwayland-scanner
|
sudo zypper install ninja gcc-c++ wayland-protocols-devel Mesa-libGLESv3-devel file-devel hyprutils-devel hyprwayland-scanner
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -101,9 +104,9 @@ wallpaper = monitor, /home/me/amongus.png
|
||||||
wallpaper = , /home/me/amongus.png
|
wallpaper = , /home/me/amongus.png
|
||||||
```
|
```
|
||||||
|
|
||||||
Monitor names can be checked with `hyprctl monitors`
|
Monitor names can be checked with `hyprctl monitors`.
|
||||||
|
|
||||||
Also can be used with `desc:` followed by the monitor's description without the (PORT) at the end
|
Also can be used with `desc:` followed by the monitor's description without the (PORT) at the end.
|
||||||
|
|
||||||
You may add `contain:` or `tile:` before the file path in `wallpaper =` to set the mode to either contain or tile, respectively, instead of cover:
|
You may add `contain:` or `tile:` before the file path in `wallpaper =` to set the mode to either contain or tile, respectively, instead of cover:
|
||||||
|
|
||||||
|
|
|
@ -7,4 +7,3 @@ hyprwayland-scanner, also called hw-s, is a utility to generate sources and head
|
||||||
for wayland protocol specifications.
|
for wayland protocol specifications.
|
||||||
|
|
||||||
It is similar to wayland-scanner, but instead of C, it generates neat and safe C++ implementations.
|
It is similar to wayland-scanner, but instead of C, it generates neat and safe C++ implementations.
|
||||||
|
|
||||||
|
|
|
@ -52,15 +52,15 @@ in the `nix develop` shell.
|
||||||
For CMake:
|
For CMake:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cmakeConfigurePhase # to run the CMake configure phase
|
cmakeConfigurePhase # to run the CMake configure phase
|
||||||
$ ninjaBuildPhase # to run the Ninja build phase (or buildPhase when ninja is not available)
|
ninjaBuildPhase # to run the Ninja build phase (or buildPhase when ninja is not available)
|
||||||
$ ninjaInstallPhase # to run the Ninja install phase (or installPhase when ninja is not available)
|
ninjaInstallPhase # to run the Ninja install phase (or installPhase when ninja is not available)
|
||||||
```
|
```
|
||||||
|
|
||||||
For Meson:
|
For Meson:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ mesonConfigurePhase # to run the Meson configure phase
|
mesonConfigurePhase # to run the Meson configure phase
|
||||||
$ ninjaBuildPhase # to run the Ninja build phase
|
ninjaBuildPhase # to run the Ninja build phase
|
||||||
$ mesonInstallPhase # to run the Meson install phase
|
mesonInstallPhase # to run the Meson install phase
|
||||||
```
|
```
|
||||||
|
|
|
@ -39,18 +39,18 @@ One issue is with [suspend](https://github.com/NVIDIA/open-gpu-kernel-modules/is
|
||||||
You can choose between the `nvidia` or the `nvidia-dkms` package. There are pros and cons
|
You can choose between the `nvidia` or the `nvidia-dkms` package. There are pros and cons
|
||||||
for each, but it is generally recommended to use the `dkms` package,
|
for each, but it is generally recommended to use the `dkms` package,
|
||||||
as you won't have to rebuild the initramfs [manually](https://wiki.archlinux.org/title/NVIDIA#mkinitcpio) every time the kernel and drivers update, for example.
|
as you won't have to rebuild the initramfs [manually](https://wiki.archlinux.org/title/NVIDIA#mkinitcpio) every time the kernel and drivers update, for example.
|
||||||
If you're using a kernel that isn't `linux` or `linux-lts`, the `dkms` package is *required*.
|
If you're using a kernel that isn't `linux` or `linux-lts`, the `dkms` package is _required_.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Install the following packages:
|
Install the following packages:
|
||||||
|
|
||||||
1. `nvidia` or `nvidia-dkms`: The driver itself. Optionally, the open source drivers
|
1. `nvidia` or `nvidia-dkms`: The driver itself. Optionally, the open source drivers
|
||||||
from NVIDIA can be installed as `nvidia-open` or `nvidia-open-dkms`.
|
from NVIDIA can be installed as `nvidia-open` or `nvidia-open-dkms`.
|
||||||
2. `nvidia-utils`: The userspace graphics drivers. You need this for running Vulkan
|
2. `nvidia-utils`: The userspace graphics drivers. You need this for running Vulkan
|
||||||
applications. If you'd like to use apps like Steam or Wine, install `lib32-nvidia-utils` as well.
|
applications. If you'd like to use apps like Steam or Wine, install `lib32-nvidia-utils` as well.
|
||||||
3. `egl-wayland` (`libnvidia-egl-wayland1` and `libnvidia-egl-gbm1` on Ubuntu): This is required
|
3. `egl-wayland` (`libnvidia-egl-wayland1` and `libnvidia-egl-gbm1` on Ubuntu): This is required
|
||||||
in order to enable compatibility between the EGL API and the Wayland protocol.
|
in order to enable compatibility between the EGL API and the Wayland protocol.
|
||||||
|
|
||||||
## DRM kernel mode setting
|
## DRM kernel mode setting
|
||||||
|
|
||||||
|
@ -86,6 +86,7 @@ env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
```
|
```
|
||||||
|
|
||||||
and set this variable:
|
and set this variable:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
cursor {
|
cursor {
|
||||||
no_hardware_cursors = true
|
no_hardware_cursors = true
|
||||||
|
@ -126,7 +127,7 @@ The install instructions are available in the README, however, a quick guide wil
|
||||||
be given here:
|
be given here:
|
||||||
|
|
||||||
1. Install the package. On Arch, this is `libva-nvidia-driver` in the official
|
1. Install the package. On Arch, this is `libva-nvidia-driver` in the official
|
||||||
repos.
|
repos.
|
||||||
|
|
||||||
2. Add this variable to your hyprland config:
|
2. Add this variable to your hyprland config:
|
||||||
```sh
|
```sh
|
||||||
|
@ -143,12 +144,12 @@ You can check the README to get it working for Firefox.
|
||||||
### Regarding environment variables
|
### Regarding environment variables
|
||||||
|
|
||||||
- If you encounter crashes in Firefox, remove the line
|
- If you encounter crashes in Firefox, remove the line
|
||||||
`env = GBM_BACKEND,nvidia-drm`.
|
`env = GBM_BACKEND,nvidia-drm`.
|
||||||
|
|
||||||
- If you face problems with Discord windows not displaying or screen sharing not
|
- If you face problems with Discord windows not displaying or screen sharing not
|
||||||
working in Zoom, first try running them in Native Wayland (more details below).
|
working in Zoom, first try running them in Native Wayland (more details below).
|
||||||
Otherwise, remove or comment the line
|
Otherwise, remove or comment the line
|
||||||
`env = __GLX_VENDOR_LIBRARY_NAME,nvidia`.
|
`env = __GLX_VENDOR_LIBRARY_NAME,nvidia`.
|
||||||
|
|
||||||
### Multi-monitor with hybrid graphics
|
### Multi-monitor with hybrid graphics
|
||||||
|
|
||||||
|
@ -244,9 +245,9 @@ Reboot your computer and it should be working.
|
||||||
If it does not, try:
|
If it does not, try:
|
||||||
|
|
||||||
1. Lowering your monitor's refresh rate: This can stop the flickering
|
1. Lowering your monitor's refresh rate: This can stop the flickering
|
||||||
altogether.
|
altogether.
|
||||||
2. Using the [Nouveau driver](https://wiki.archlinux.org/title/Nouveau) as
|
2. Using the [Nouveau driver](https://wiki.archlinux.org/title/Nouveau) as
|
||||||
mentioned above.
|
mentioned above.
|
||||||
|
|
||||||
### Suspend/wakeup issues
|
### Suspend/wakeup issues
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ image/text previews, multi-select, pinned items and more.
|
||||||
[GitHub](https://github.com/savedra1/clipse)
|
[GitHub](https://github.com/savedra1/clipse)
|
||||||
|
|
||||||
## cb
|
## cb
|
||||||
|
|
||||||
Start by adding the following line to your `~/.config/hypr/hyprland.conf`
|
Start by adding the following line to your `~/.config/hypr/hyprland.conf`
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
|
@ -166,4 +167,3 @@ GUI-like behavior.
|
||||||
|
|
||||||
For more details on `clipse`, please refer to its GitHub repo linked at the top
|
For more details on `clipse`, please refer to its GitHub repo linked at the top
|
||||||
of the page.
|
of the page.
|
||||||
|
|
||||||
|
|
|
@ -7,12 +7,12 @@ title: File Managers
|
||||||
|
|
||||||
- [dolphin](https://github.com/KDE/dolphin): File manager by KDE.
|
- [dolphin](https://github.com/KDE/dolphin): File manager by KDE.
|
||||||
- [nautilus](https://apps.gnome.org/en/Nautilus/): File manager by Gnome.
|
- [nautilus](https://apps.gnome.org/en/Nautilus/): File manager by Gnome.
|
||||||
- [nautilus-admin-gtk4](https://github.com/MacTavishAO/nautilus-admin-gtk4): Open files with elevated privileges.
|
- [nautilus-admin-gtk4](https://github.com/MacTavishAO/nautilus-admin-gtk4): Open files with elevated privileges.
|
||||||
- [nautilus-image-converter](https://gitlab.gnome.org/coreyberla/nautilus-image-converter): Resize and rotate images.
|
- [nautilus-image-converter](https://gitlab.gnome.org/coreyberla/nautilus-image-converter): Resize and rotate images.
|
||||||
- [nautilus-open-any-terminal](https://github.com/Stunkymonkey/nautilus-open-any-terminal): Open terminals in selected directory.
|
- [nautilus-open-any-terminal](https://github.com/Stunkymonkey/nautilus-open-any-terminal): Open terminals in selected directory.
|
||||||
- [nemo](https://github.com/linuxmint/nemo): File manager by Cinnamon.
|
- [nemo](https://github.com/linuxmint/nemo): File manager by Cinnamon.
|
||||||
- [nemo-fileroller](https://github.com/linuxmint/nemo-extensions/tree/master/nemo-fileroller): File archiver extension.
|
- [nemo-fileroller](https://github.com/linuxmint/nemo-extensions/tree/master/nemo-fileroller): File archiver extension.
|
||||||
- [nemo-terminal](https://github.com/linuxmint/nemo-extensions/tree/master/nemo-terminal): Embedded terminal window.
|
- [nemo-terminal](https://github.com/linuxmint/nemo-extensions/tree/master/nemo-terminal): Embedded terminal window.
|
||||||
- [pcmanfm](https://github.com/lxde/pcmanfm): File manager by LXDE.
|
- [pcmanfm](https://github.com/lxde/pcmanfm): File manager by LXDE.
|
||||||
- [thunar](https://github.com/neilbrown/thunar): File manager by XFCE.
|
- [thunar](https://github.com/neilbrown/thunar): File manager by XFCE.
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
---
|
||||||
|
weight: 12
|
||||||
|
title: Hypr Ecosystem
|
||||||
|
---
|
||||||
The hypr ecosystem is a collection of apps developed by HyprWM, that are
|
The hypr ecosystem is a collection of apps developed by HyprWM, that are
|
||||||
designed for Hyprland and to integrate with it as nicely as possible.
|
designed for Hyprland and to integrate with it as nicely as possible.
|
||||||
|
|
||||||
|
|
|
@ -29,11 +29,12 @@ for Hyprland's IPC written in Rust.
|
||||||
### Screen shaders/color temperature
|
### Screen shaders/color temperature
|
||||||
|
|
||||||
- [hyprshade](https://github.com/loqusion/hyprshade) by _loqusion_: Utility for
|
- [hyprshade](https://github.com/loqusion/hyprshade) by _loqusion_: Utility for
|
||||||
swapping and scheduling screen shaders; also functions as an
|
swapping and scheduling screen shaders; also functions as an
|
||||||
[automatic color temperature shifter](https://en.wikipedia.org/wiki/F.lux).
|
[automatic color temperature shifter](https://en.wikipedia.org/wiki/F.lux).
|
||||||
- [gammastep](https://gitlab.com/chinstrap/gammastep) by _Chinstrap_: Control temperature color automatically depending on the time of the day and location.
|
- [gammastep](https://gitlab.com/chinstrap/gammastep) by _Chinstrap_: Control temperature color automatically depending on the time of the day and location.
|
||||||
|
|
||||||
### Wireless settings
|
### Wireless settings
|
||||||
|
|
||||||
- [iwgtk](https://github.com/J-Lentz/iwgtk) by _Jesse Lentz_: WiFi settings frontend for `iwd` in GTK
|
- [iwgtk](https://github.com/J-Lentz/iwgtk) by _Jesse Lentz_: WiFi settings frontend for `iwd` in GTK
|
||||||
- [blueberry](https://github.com/linuxmint/blueberry) by _Linux Mint_: Bluetooth settings frontend in GTK
|
- [blueberry](https://github.com/linuxmint/blueberry) by _Linux Mint_: Bluetooth settings frontend in GTK
|
||||||
- [Overskride](https://github.com/kaii-lb/overskride) by _kaii-lb_: A simple yet powerful bluetooth client in GTK4
|
- [Overskride](https://github.com/kaii-lb/overskride) by _kaii-lb_: A simple yet powerful bluetooth client in GTK4
|
||||||
|
|
|
@ -139,24 +139,24 @@ workspaces. It requires [bash](https://linux.die.net/man/1/bash),
|
||||||
```sh
|
```sh
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
function clamp {
|
function clamp {
|
||||||
min=$1
|
min=$1
|
||||||
max=$2
|
max=$2
|
||||||
val=$3
|
val=$3
|
||||||
python -c "print(max($min, min($val, $max)))"
|
python -c "print(max($min, min($val, $max)))"
|
||||||
}
|
}
|
||||||
|
|
||||||
direction=$1
|
direction=$1
|
||||||
current=$2
|
current=$2
|
||||||
if test "$direction" = "down"
|
if test "$direction" = "down"
|
||||||
then
|
then
|
||||||
target=$(clamp 1 10 $(($current+1)))
|
target=$(clamp 1 10 $(($current+1)))
|
||||||
echo "jumping to $target"
|
echo "jumping to $target"
|
||||||
hyprctl dispatch workspace $target
|
hyprctl dispatch workspace $target
|
||||||
elif test "$direction" = "up"
|
elif test "$direction" = "up"
|
||||||
then
|
then
|
||||||
target=$(clamp 1 10 $(($current-1)))
|
target=$(clamp 1 10 $(($current-1)))
|
||||||
echo "jumping to $target"
|
echo "jumping to $target"
|
||||||
hyprctl dispatch workspace $target
|
hyprctl dispatch workspace $target
|
||||||
fi
|
fi
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -177,13 +177,13 @@ socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
spaces (){
|
spaces (){
|
||||||
WORKSPACE_WINDOWS=$(hyprctl workspaces -j | jq 'map({key: .id | tostring, value: .windows}) | from_entries')
|
WORKSPACE_WINDOWS=$(hyprctl workspaces -j | jq 'map({key: .id | tostring, value: .windows}) | from_entries')
|
||||||
seq 1 10 | jq --argjson windows "${WORKSPACE_WINDOWS}" --slurp -Mc 'map(tostring) | map({id: ., windows: ($windows[.]//0)})'
|
seq 1 10 | jq --argjson windows "${WORKSPACE_WINDOWS}" --slurp -Mc 'map(tostring) | map({id: ., windows: ($windows[.]//0)})'
|
||||||
}
|
}
|
||||||
|
|
||||||
spaces
|
spaces
|
||||||
socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do
|
socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do
|
||||||
spaces
|
spaces
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue