treewide: run linter

This commit is contained in:
Mihai Fufezan 2024-11-06 20:34:37 +02:00
parent 1b2ba381c7
commit 95697479fd
Signed by: fufexan
SSH key fingerprint: SHA256:SdnKmEpJrDu1+2UO1QpB/Eg4HKcdDi6n+xSRqFNJVpg
32 changed files with 212 additions and 171 deletions

View file

@ -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.

View file

@ -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
``` ```

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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
``` ```

View file

@ -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

View file

@ -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.

View file

@ -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 |

View file

@ -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 |

View file

@ -19,17 +19,18 @@ 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
- `n[bool]`, `n[s:string]`, `n[e:string]` - named actions. `n[bool]` ->
whether a workspace is a named workspace, `s` and `e` are starts and ends whether a workspace is a named workspace, `s` and `e` are starts and ends
with respectively with respectively
- `m[monitor]` - Monitor selector - `m[monitor]` - Monitor selector
- `w[(flags)A-B]`, `w[(flags)X]` - Prop for window counts on the workspace. - `w[(flags)A-B]`, `w[(flags)X]` - Prop for window counts on the workspace.
A-B is an inclusive range, X is a specific number. Flags can be omitted. A-B is an inclusive range, X is a specific number. Flags can be omitted.
It can be `t` for tiled-only, `f` for floating-only, `g` to count groups It can be `t` for tiled-only, `f` for floating-only, `g` to count groups
instead of windows, and `v` to count only visible windows. instead of windows, and `v` to count only visible windows.
- `f[-1]`, `f[0]`, `f[1]`, `f[2]` - fullscreen state of the workspace. `-1`: no - `f[-1]`, `f[0]`, `f[1]`, `f[2]` - fullscreen state of the workspace. `-1`: no
fullscreen, `0`: fullscreen, `1`: maximized, `2`, fullscreen without fullscreen, `0`: fullscreen, `1`: maximized, `2`, fullscreen without
fullscreen state sent to the window. fullscreen state sent to the window.

View file

@ -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/>

View file

@ -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
``` ```

View file

@ -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

View file

@ -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.
@ -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.

View file

@ -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" %}}

View file

@ -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**_.

View file

@ -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)**

View file

@ -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.

View file

@ -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`:

View file

@ -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/).

View file

@ -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 |
@ -39,6 +40,7 @@ If you are not on hyprland, or your `XDG_CURRENT_DESKTOP` is not Hyprland, the
## 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

View file

@ -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:

View file

@ -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.

View file

@ -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
``` ```

View file

@ -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
@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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