mirror of
https://github.com/hyprwm/hyprland-wiki.git
synced 2024-11-08 06:25:58 +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:
|
||||
|
||||
```
|
||||
```plain
|
||||
l -> locked, will also work when an input inhibitor (e.g. a lockscreen) is active.
|
||||
r -> release, will trigger on release of a key.
|
||||
e -> repeat, will repeat when held.
|
||||
|
|
|
@ -138,7 +138,7 @@ You have nine choices:
|
|||
- Previous workspace: `previous`, or `previous_per_monitor`
|
||||
|
||||
- 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`
|
||||
|
||||
- Special Workspace: `special` or `special:name` for named special workspaces.
|
||||
|
@ -227,4 +227,3 @@ address:0x13371337 nomaxsize 0
|
|||
address:0x13371337 opaque toggle
|
||||
address:0x13371337 immediate unset
|
||||
```
|
||||
|
||||
|
|
|
@ -9,48 +9,48 @@ from a more tangible example.
|
|||
|
||||
### 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)
|
||||
|
||||
### 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)
|
||||
|
||||
### 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)
|
||||
|
||||
### 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)
|
||||
|
||||
### 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)
|
||||
|
||||
### 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)
|
||||
|
||||
### 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)
|
||||
|
||||
### 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)
|
||||
|
|
|
@ -27,6 +27,7 @@ three_param_keyword = A, B, # OK
|
|||
## Executing
|
||||
|
||||
You can execute a shell script on:
|
||||
|
||||
- startup of the compositor
|
||||
- every time the config is reloaded.
|
||||
- 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:
|
||||
|
||||
- `enabled` -> (only for mice / touchpads / touchdevices / keyboards)
|
||||
- enables / disables the device (connects / disconnects from the on-screen cursor)
|
||||
- default: Enabled
|
||||
- enables / disables the device (connects / disconnects from the on-screen cursor)
|
||||
- default: Enabled
|
||||
|
||||
Example config section:
|
||||
|
||||
|
|
|
@ -85,15 +85,17 @@ Leaving the name empty will define a fallback rule to use when no other rules
|
|||
match.
|
||||
|
||||
There are a few special values for the resolutions:
|
||||
|
||||
- `preferred` - use the display's preferred size and refresh rate.
|
||||
- `highres` - use the highest supported resolution.
|
||||
- `highrr` - use the highest supported refresh rate.
|
||||
|
||||
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-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`,
|
||||
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.
|
||||
|
@ -231,7 +233,7 @@ monitor = eDP-1, 2880x1800@90, 0x0, 1, transform, 1
|
|||
|
||||
Transform list:
|
||||
|
||||
```
|
||||
```plain
|
||||
0 -> normal (no transforms)
|
||||
1 -> 90 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
|
||||
available.
|
||||
|
||||
```
|
||||
```plain
|
||||
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)
|
||||
```
|
||||
|
@ -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`
|
||||
|
||||
```
|
||||
```plain
|
||||
total 0
|
||||
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
|
||||
|
@ -64,7 +64,7 @@ required.
|
|||
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.
|
||||
|
||||
```
|
||||
```plain
|
||||
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
|
||||
example:
|
||||
|
||||
```
|
||||
```ini
|
||||
input {
|
||||
kb_layout = us,cz
|
||||
kb_variant = ,qwerty
|
||||
|
@ -69,7 +69,7 @@ submap = reset
|
|||
|
||||
## Remap Caps-Lock to Ctrl
|
||||
|
||||
```
|
||||
```ini
|
||||
input {
|
||||
kb_options = ctrl:nocaps
|
||||
}
|
||||
|
@ -77,13 +77,14 @@ input {
|
|||
|
||||
## Swap Caps-Lock and Escape
|
||||
|
||||
```
|
||||
```ini
|
||||
input {
|
||||
kb_options = caps:swapescape
|
||||
}
|
||||
```
|
||||
|
||||
## Set F13-F24 as usual function keys
|
||||
|
||||
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
|
||||
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.
|
||||
{{< /callout >}}
|
||||
|
||||
```
|
||||
```ini
|
||||
input {
|
||||
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.
|
||||
Note that one keybind can only handle one window.
|
||||
|
||||
```ini
|
||||
bind = $mod, S, togglespecialworkspace, magic
|
||||
bind = $mod, S, movetoworkspace, +0
|
||||
|
|
|
@ -194,6 +194,7 @@ To disable:
|
|||
```sh
|
||||
hyprctl seterror disable
|
||||
```
|
||||
|
||||
### notify
|
||||
|
||||
Sends a notification using the built-in Hyprland notification system.
|
||||
|
|
|
@ -347,7 +347,7 @@ _Subcategory `group:groupbar:`_
|
|||
| name | description | type | default |
|
||||
| --- | --- | --- | --- |
|
||||
| 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 |
|
||||
| gradients | enables gradients | bool | true |
|
||||
| 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 |
|
||||
| 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 |
|
||||
| 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 |
|
||||
| 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 |
|
||||
|
@ -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 |
|
||||
| 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 |
|
||||
| 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_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\]\] |
|
||||
| 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 |
|
||||
| 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`) |
|
||||
| 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 |
|
||||
| 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. |
|
||||
| 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 |
|
||||
|
|
|
@ -19,19 +19,20 @@ Selectors have props separated by a space. No spaces are allowed inside props
|
|||
themselves.
|
||||
|
||||
Props:
|
||||
- `r[A-B]` - ID range from A to B inclusive
|
||||
- `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
|
||||
with respectively
|
||||
- `m[monitor]` - Monitor selector
|
||||
- `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.
|
||||
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.
|
||||
- `f[-1]`, `f[0]`, `f[1]`, `f[2]` - fullscreen state of the workspace. `-1`: no
|
||||
fullscreen, `0`: fullscreen, `1`: maximized, `2`, fullscreen without
|
||||
fullscreen state sent to the window.
|
||||
|
||||
- `r[A-B]` - ID range from A to B inclusive
|
||||
- `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
|
||||
with respectively
|
||||
- `m[monitor]` - Monitor selector
|
||||
- `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.
|
||||
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.
|
||||
- `f[-1]`, `f[0]`, `f[1]`, `f[2]` - fullscreen state of the workspace. `-1`: no
|
||||
fullscreen, `0`: fullscreen, `1`: maximized, `2`, fullscreen without
|
||||
fullscreen state sent to the window.
|
||||
|
||||
### Syntax
|
||||
|
||||
|
|
|
@ -9,13 +9,11 @@ These are the links to official Hyprland-related spaces or profiles:
|
|||
|
||||
Twitter: [twitter.com/hyprwm](https://twitter.com/hyprwm)
|
||||
|
||||
|
||||
## Spaces
|
||||
|
||||
Discord: [discord.gg/hQ9XvMUjjr](https://discord.gg/hQ9XvMUjjr)<br/>
|
||||
Matrix: `#hyprland:matrix.vaxry.net`
|
||||
|
||||
|
||||
## Other
|
||||
|
||||
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
|
||||
`(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
|
||||
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
|
||||
because we haven't generated compile commands, to do this run:
|
||||
|
||||
```
|
||||
```sh
|
||||
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`).
|
||||
2. Start Hyprland and get it to crash.
|
||||
3. In a tty or terminal, do `coredumpctl debug Hyprland`.
|
||||
- If gdb asks you for symbols, say `y`.
|
||||
- If it asks about paging, say `c`.
|
||||
- If gdb asks you for symbols, say `y`.
|
||||
- If it asks about paging, say `c`.
|
||||
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.
|
||||
|
||||
## 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
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
```
|
||||
```plain
|
||||
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 3:** Install `flameshot`.
|
||||
|
||||
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
|
||||
workarounds.
|
||||
|
||||
```
|
||||
```ini
|
||||
# noanim isn't necessary but animations with these rules might look bad. use at your own discretion.
|
||||
windowrulev2 = noanim, 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?
|
||||
|
||||
See [hyprcursor](../Hypr-Ecosystem/hyprcursor)
|
||||
|
||||
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.
|
||||
|
||||
|
@ -351,10 +351,10 @@ pop-up. It should look something like this:
|
|||
|
||||
```bash
|
||||
Window 55d794495400 -> :
|
||||
...
|
||||
class: [CLASS here]
|
||||
title: [TITLE here]
|
||||
...
|
||||
...
|
||||
class: [CLASS here]
|
||||
title: [TITLE here]
|
||||
...
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
***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)
|
||||
and simply install them again.
|
||||
|
|
|
@ -341,6 +341,7 @@ epmi hypridle
|
|||
epmi hyprpaper
|
||||
epmi hyprpicker
|
||||
```
|
||||
|
||||
{{% /details %}}
|
||||
|
||||
{{% details title="Solus*" closed="true" %}}
|
||||
|
|
|
@ -19,14 +19,22 @@ repositories.
|
|||
|
||||
## 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
|
||||
information regarding the needed environment and tweaks.
|
||||
|
||||
## 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
|
||||
`virt-manager`) otherwise Hyprland _**will not work**_.
|
||||
|
|
|
@ -14,19 +14,20 @@ These docs always target latest -git branch of respective apps.
|
|||
## Wiki pages
|
||||
|
||||
### Apps/utilities for the user
|
||||
- **[hyprpaper](./hyprpaper)**
|
||||
- **[hyprpicker](./hyprpicker)**
|
||||
- **[hypridle](./hypridle)**
|
||||
- **[hyprlock](./hyprlock)**
|
||||
- **[xdg-desktop-portal-hyprland](./xdg-desktop-portal-hyprland)**
|
||||
- **[hyprsysteminfo](./hyprsysteminfo)**
|
||||
- **[hyprsunset](./hyprsunset)**
|
||||
- **[hyprpolkitagent](./hyprpolkitagent)**
|
||||
|
||||
- **[hyprpaper](./hyprpaper)**
|
||||
- **[hyprpicker](./hyprpicker)**
|
||||
- **[hypridle](./hypridle)**
|
||||
- **[hyprlock](./hyprlock)**
|
||||
- **[xdg-desktop-portal-hyprland](./xdg-desktop-portal-hyprland)**
|
||||
- **[hyprsysteminfo](./hyprsysteminfo)**
|
||||
- **[hyprsunset](./hyprsunset)**
|
||||
- **[hyprpolkitagent](./hyprpolkitagent)**
|
||||
|
||||
### 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 will come soon.
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
weight: 101
|
||||
title: hyprcursor
|
||||
---
|
||||
|
||||
hyprcursor is a new cursor theme format that has many advantages
|
||||
over the widely used xcursor.
|
||||
|
||||
|
@ -22,8 +23,9 @@ to potential permission issues.
|
|||
You can set your theme with envvars, or with `hyprctl setcursor`.
|
||||
|
||||
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`:
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ there only for legibility.
|
|||
Categories can be regular, and "special".
|
||||
|
||||
Both are specified the same:
|
||||
|
||||
```ini
|
||||
category {
|
||||
variable = value
|
||||
|
@ -37,6 +38,7 @@ category {
|
|||
```
|
||||
|
||||
Special categories can have other properties, like for example containing a key:
|
||||
|
||||
```ini
|
||||
special {
|
||||
key = A
|
||||
|
@ -54,11 +56,13 @@ example uses those for per-device configs.
|
|||
### Defining variables
|
||||
|
||||
Variables can be defined like so:
|
||||
|
||||
```ini
|
||||
$VAR = myData
|
||||
```
|
||||
|
||||
Later on, you can use them like so:
|
||||
|
||||
```ini
|
||||
$SUFFIX = -san
|
||||
$NAME = Jeremy
|
||||
|
@ -91,11 +95,13 @@ someoption = blah
|
|||
### Inline options
|
||||
|
||||
If you want to specify an option inline, without opening and closing a category, the separator is `:`:
|
||||
|
||||
```ini
|
||||
category:variable = value
|
||||
```
|
||||
|
||||
If the category is special and requires a key, you can do:
|
||||
|
||||
```ini
|
||||
category[keyvalue]:variable = value
|
||||
```
|
||||
|
@ -105,4 +111,3 @@ This is the syntax used by `hyprctl keyword`, for example.
|
|||
## Developer documentation
|
||||
|
||||
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
|
||||
|
||||
Variables in the `general` category:
|
||||
|
||||
| variable | description | type | default |
|
||||
| -- | -- | -- | -- |
|
||||
| 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 >}}
|
||||
|
||||
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 >}}
|
||||
|
||||
## Keyboard Shortcuts and Actions
|
||||
|
||||
The following keys and key-combinations describe hyprlock's default behaviour:
|
||||
|
||||
| input | description |
|
||||
| -- | -- |
|
||||
| ESC | Clear password buffer |
|
||||
|
@ -80,6 +82,7 @@ widget_name {
|
|||
### Shadowable
|
||||
|
||||
Some widgets are shadowable, meaning they can have a shadow. For those widgets, you get:
|
||||
|
||||
| variable | description | type | default |
|
||||
| -- | -- | -- | -- |
|
||||
| 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.
|
||||
|
||||
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 >}}
|
||||
|
||||
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`:
|
||||
- `$FAIL` - pam fail reason
|
||||
- `$ATTEMPTS` - number of failed authentication attempts
|
||||
|
||||
- `$FAIL` - pam fail reason
|
||||
- `$ATTEMPTS` - number of failed authentication attempts
|
||||
|
||||
### Label
|
||||
|
||||
|
@ -247,15 +253,16 @@ label {
|
|||
```
|
||||
|
||||
Available variables for `text`:
|
||||
- `$USER` - username (e.g. linux-user)
|
||||
- `$DESC` - user description (e.g. Linux User)
|
||||
- `$TIME` - current time in 24-hour format (e.g. `13:37`)
|
||||
- `$TIME12` - current time in 12-hour format (e.g. `1:37 PM`)
|
||||
- `$PROMPT` - last pam prompt
|
||||
- `$FAIL` - last pam fail reason
|
||||
- `$ATTEMPTS` - failed attempts
|
||||
- `$LAYOUT` - current keyboard layout
|
||||
- `$FPRINTMESSAGE` - last message from fingerprint matching
|
||||
|
||||
- `$USER` - username (e.g. linux-user)
|
||||
- `$DESC` - user description (e.g. Linux User)
|
||||
- `$TIME` - current time in 24-hour format (e.g. `13:37`)
|
||||
- `$TIME12` - current time in 12-hour format (e.g. `1:37 PM`)
|
||||
- `$PROMPT` - last pam prompt
|
||||
- `$FAIL` - last pam fail reason
|
||||
- `$ATTEMPTS` - failed attempts
|
||||
- `$LAYOUT` - current keyboard layout
|
||||
- `$FPRINTMESSAGE` - last message from fingerprint matching
|
||||
|
||||
`text` also supports launching commands, for example:
|
||||
|
||||
|
@ -264,12 +271,13 @@ text = cmd[update:1000] echo "<span foreground='##ff2222'>$(date)</span>"
|
|||
```
|
||||
|
||||
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.
|
||||
- `$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.
|
||||
- `$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.
|
||||
- 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.
|
||||
|
||||
- `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.
|
||||
- `$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.
|
||||
- `$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.
|
||||
- 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
|
||||
|
||||
|
|
|
@ -31,12 +31,12 @@ sudo dnf install hyprpaper
|
|||
|
||||
{{% /details %}}
|
||||
|
||||
|
||||
{{% details title="Manual" closed="true" %}}
|
||||
|
||||
### Dependencies
|
||||
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).
|
||||
|
||||
- wayland
|
||||
- wayland-protocols
|
||||
- pango
|
||||
|
@ -51,17 +51,20 @@ The development files of these packages need to be installed on the system for `
|
|||
- hyprwayland-scanner
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
On Arch:
|
||||
```
|
||||
|
||||
```sh
|
||||
sudo pacman -S ninja gcc wayland-protocols libjpeg-turbo libwebp pango cairo pkgconf cmake libglvnd wayland hyprutils hyprwayland-scanner hyprlang
|
||||
```
|
||||
|
||||
On OpenSUSE:
|
||||
```
|
||||
|
||||
```sh
|
||||
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
|
||||
```
|
||||
|
||||
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:
|
||||
|
||||
|
|
|
@ -7,4 +7,3 @@ hyprwayland-scanner, also called hw-s, is a utility to generate sources and head
|
|||
for wayland protocol specifications.
|
||||
|
||||
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:
|
||||
|
||||
```bash
|
||||
$ cmakeConfigurePhase # to run the CMake configure phase
|
||||
$ 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)
|
||||
cmakeConfigurePhase # to run the CMake configure phase
|
||||
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)
|
||||
```
|
||||
|
||||
For Meson:
|
||||
|
||||
```bash
|
||||
$ mesonConfigurePhase # to run the Meson configure phase
|
||||
$ ninjaBuildPhase # to run the Ninja build phase
|
||||
$ mesonInstallPhase # to run the Meson install phase
|
||||
mesonConfigurePhase # to run the Meson configure phase
|
||||
ninjaBuildPhase # to run the Ninja build 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
|
||||
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.
|
||||
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
|
||||
|
||||
Install the following packages:
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
|
@ -86,6 +86,7 @@ env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|||
```
|
||||
|
||||
and set this variable:
|
||||
|
||||
```ini
|
||||
cursor {
|
||||
no_hardware_cursors = true
|
||||
|
@ -126,7 +127,7 @@ The install instructions are available in the README, however, a quick guide wil
|
|||
be given here:
|
||||
|
||||
1. Install the package. On Arch, this is `libva-nvidia-driver` in the official
|
||||
repos.
|
||||
repos.
|
||||
|
||||
2. Add this variable to your hyprland config:
|
||||
```sh
|
||||
|
@ -143,12 +144,12 @@ You can check the README to get it working for Firefox.
|
|||
### Regarding environment variables
|
||||
|
||||
- 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
|
||||
working in Zoom, first try running them in Native Wayland (more details below).
|
||||
Otherwise, remove or comment the line
|
||||
`env = __GLX_VENDOR_LIBRARY_NAME,nvidia`.
|
||||
working in Zoom, first try running them in Native Wayland (more details below).
|
||||
Otherwise, remove or comment the line
|
||||
`env = __GLX_VENDOR_LIBRARY_NAME,nvidia`.
|
||||
|
||||
### Multi-monitor with hybrid graphics
|
||||
|
||||
|
@ -244,9 +245,9 @@ Reboot your computer and it should be working.
|
|||
If it does not, try:
|
||||
|
||||
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
|
||||
mentioned above.
|
||||
mentioned above.
|
||||
|
||||
### Suspend/wakeup issues
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ image/text previews, multi-select, pinned items and more.
|
|||
[GitHub](https://github.com/savedra1/clipse)
|
||||
|
||||
## cb
|
||||
|
||||
Start by adding the following line to your `~/.config/hypr/hyprland.conf`
|
||||
|
||||
```ini
|
||||
|
@ -166,4 +167,3 @@ GUI-like behavior.
|
|||
|
||||
For more details on `clipse`, please refer to its GitHub repo linked at the top
|
||||
of the page.
|
||||
|
||||
|
|
|
@ -7,12 +7,12 @@ title: File Managers
|
|||
|
||||
- [dolphin](https://github.com/KDE/dolphin): File manager by KDE.
|
||||
- [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-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-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-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-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-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.
|
||||
- [pcmanfm](https://github.com/lxde/pcmanfm): File manager by LXDE.
|
||||
- [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
|
||||
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
|
||||
|
||||
- [hyprshade](https://github.com/loqusion/hyprshade) by _loqusion_: Utility for
|
||||
swapping and scheduling screen shaders; also functions as an
|
||||
[automatic color temperature shifter](https://en.wikipedia.org/wiki/F.lux).
|
||||
swapping and scheduling screen shaders; also functions as an
|
||||
[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.
|
||||
|
||||
### Wireless settings
|
||||
|
||||
- [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
|
||||
- [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
|
||||
#!/usr/bin/env bash
|
||||
function clamp {
|
||||
min=$1
|
||||
max=$2
|
||||
val=$3
|
||||
python -c "print(max($min, min($val, $max)))"
|
||||
min=$1
|
||||
max=$2
|
||||
val=$3
|
||||
python -c "print(max($min, min($val, $max)))"
|
||||
}
|
||||
|
||||
direction=$1
|
||||
current=$2
|
||||
if test "$direction" = "down"
|
||||
then
|
||||
target=$(clamp 1 10 $(($current+1)))
|
||||
echo "jumping to $target"
|
||||
hyprctl dispatch workspace $target
|
||||
target=$(clamp 1 10 $(($current+1)))
|
||||
echo "jumping to $target"
|
||||
hyprctl dispatch workspace $target
|
||||
elif test "$direction" = "up"
|
||||
then
|
||||
target=$(clamp 1 10 $(($current-1)))
|
||||
echo "jumping to $target"
|
||||
hyprctl dispatch workspace $target
|
||||
target=$(clamp 1 10 $(($current-1)))
|
||||
echo "jumping to $target"
|
||||
hyprctl dispatch workspace $target
|
||||
fi
|
||||
```
|
||||
|
||||
|
@ -177,13 +177,13 @@ socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket
|
|||
#!/usr/bin/env bash
|
||||
|
||||
spaces (){
|
||||
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)})'
|
||||
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)})'
|
||||
}
|
||||
|
||||
spaces
|
||||
socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do
|
||||
spaces
|
||||
spaces
|
||||
done
|
||||
```
|
||||
|
||||
|
|
Loading…
Reference in a new issue