mirror of
https://github.com/hyprwm/hyprland-wiki.git
synced 2024-11-22 12:45:59 +01:00
clean up the mess
This commit is contained in:
parent
b86c8b18dc
commit
a6acdf93c8
16 changed files with 64 additions and 70 deletions
|
@ -21,7 +21,7 @@ animation=NAME,ONOFF,SPEED,CURVE
|
||||||
`STYLE` (optional) is the animation style
|
`STYLE` (optional) is the animation style
|
||||||
|
|
||||||
The animations are a tree. If an animation is unset, it will inherit its
|
The animations are a tree. If an animation is unset, it will inherit its
|
||||||
parent's values. See [animation tree](#animation-tree).
|
parent's values. See [the animation tree](#animation-tree).
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
|
|
|
@ -122,7 +122,7 @@ bindrl=MOD,KEY,exec,amongus
|
||||||
Flags:
|
Flags:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
l -> locked, aka. works also when an input inhibitor is active
|
l -> locked, aka. works also when an 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.
|
||||||
m -> mouse, see below
|
m -> mouse, see below
|
||||||
|
@ -191,10 +191,10 @@ including OBS, Discord, Firefox, etc.
|
||||||
|
|
||||||
See the [`pass` dispatcher](./Dispatchers/#dispatchers) for keybinds.
|
See the [`pass` dispatcher](./Dispatchers/#dispatchers) for keybinds.
|
||||||
|
|
||||||
Let's take OBS as example: the "Start/Stop Recording" keybind is set to
|
Let's take OBS as an example: the "Start/Stop Recording" keybind is set to
|
||||||
<key>SUPER</key> + <key>F10</key>, and you want to make it work globally.
|
<key>SUPER</key> + <key>F10</key>, and you want to make it work globally.
|
||||||
|
|
||||||
Simply, just add
|
Simply add
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
bind = SUPER,F10,pass,^(com\.obsproject\.Studio)$
|
bind = SUPER,F10,pass,^(com\.obsproject\.Studio)$
|
||||||
|
|
|
@ -32,17 +32,17 @@ container get removed, the group will be broken back to its dwindle form.
|
||||||
|
|
||||||
category name: `dwindle`
|
category name: `dwindle`
|
||||||
|
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----- | ---------- |
|
| ---- | ----------- | ---- | ------- |
|
||||||
| pseudotile | enable pseudotiling. Pseudotiled windows retain their floating size when tiled. | bool | false |
|
| pseudotile | enable pseudotiling. Pseudotiled windows retain their floating size when tiled. | bool | false |
|
||||||
| col.group_border | inactive (out of focus) group border color | color | 0x66777700 |
|
| col.group_border | inactive (out of focus) group border color | color | 0x66777700 |
|
||||||
| col.group_border_active | active group border color | color | 0x66ffff00 |
|
| col.group_border_active | active group border color | color | 0x66ffff00 |
|
||||||
| force_split | 0 -> split follows mouse, 1 -> always split to the left (new = left or top) 2 -> always split to the right (new = right or bottom) | int | 0 |
|
| force_split | 0 -> split follows mouse, 1 -> always split to the left (new = left or top) 2 -> always split to the right (new = right or bottom) | int | 0 |
|
||||||
| preserve_split | if enabled, the split (side/top) will not change regardless of what happens to the container. | bool | false |
|
| preserve_split | if enabled, the split (side/top) will not change regardless of what happens to the container. | bool | false |
|
||||||
| special_scale_factor | 0 - 1 -> specifies the scale factor of windows on the special workspace | float | 0.8 |
|
| special_scale_factor | 0 - 1 -> specifies the scale factor of windows on the special workspace | float | 0.8 |
|
||||||
| split_width_multiplier | specifies the auto-split width multiplier | float | 1.0 |
|
| split_width_multiplier | specifies the auto-split width multiplier | float | 1.0 |
|
||||||
| no_gaps_when_only | whether to apply gaps when there is only one window on a workspace, aka. smart gaps. | bool | false |
|
| no_gaps_when_only | whether to apply gaps when there is only one window on a workspace, aka. smart gaps. | bool | false |
|
||||||
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
|
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
|
||||||
|
|
||||||
# Bind Dispatchers
|
# Bind Dispatchers
|
||||||
|
|
||||||
|
|
|
@ -18,25 +18,22 @@ _category name `master`_
|
||||||
|
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| pseudotile | enable pseudotiling. Pseudotiled windows retain their floating size when tiled. | bool | false |
|
| special_scale_factor | (0.0 - 1.0) the scale of the special workspace windows | float | 0.8 |
|
||||||
| col.group_border | inactive (out of focus) group border color | color | 0x66777700 |
|
| new_is_master | whether a newly open window should replace the master or join the slaves. | bool | false |
|
||||||
| col.group_border_active | active group border color | color | 0x66ffff00 |
|
| new_on_top | whether a newly open window should be on the top of the stack | bool | false |
|
||||||
| force_split | 0 -> split follows mouse, 1 -> always split to the left (new = left or top) 2 -> always split to the right (new = right or bottom) | int | 0 |
|
|
||||||
| preserve_split | if enabled, the split (side/top) will not change regardless of what happens to the container. | bool | false |
|
|
||||||
| special_scale_factor | 0 - 1 -> specifies the scale factor of windows on the special workspace | float | 0.8 |
|
|
||||||
| split_width_multiplier | specifies the auto-split width multiplier | float | 1.0 |
|
|
||||||
| no_gaps_when_only | whether to apply gaps when there is only one window on a workspace, aka. smart gaps. | bool | false |
|
| no_gaps_when_only | whether to apply gaps when there is only one window on a workspace, aka. smart gaps. | bool | false |
|
||||||
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
|
|
||||||
|
|
||||||
# Dispatchers
|
# Dispatchers
|
||||||
|
|
||||||
`layoutmsg` params:
|
`layoutmsg` params:
|
||||||
|
|
||||||
| dispatcher | description | params |
|
| param | description |
|
||||||
|---|---|---|
|
| --- | --- |
|
||||||
| togglegroup | toggles the current window and its siblings (recursively) into a group | none |
|
| swapwithmaster | swaps the current window with master |
|
||||||
| changegroupactive | switches to the next window in a group. | b - back, f - forward. |
|
| cyclenext | focuses the next window respecting the layout |
|
||||||
| togglesplit | toggles the split (top/side) of the current window | none |
|
| cycleprev | focuses the previous window respecting the layout |
|
||||||
|
| swapnext | swaps the focused window with the next window respecting the layout |
|
||||||
|
| swapprev | swaps the focused window with the previous window respecting the layout |
|
||||||
|
|
||||||
{{< hint type=info >}}
|
{{< hint type=info >}}
|
||||||
example usage:
|
example usage:
|
||||||
|
|
|
@ -67,7 +67,7 @@ For more specific rules, you can also use the output's description
|
||||||
monitor=desc:SDC 0x4154 (eDP-1),preferred,auto,1.5
|
monitor=desc:SDC 0x4154 (eDP-1),preferred,auto,1.5
|
||||||
```
|
```
|
||||||
|
|
||||||
# Disabling a monitor
|
## Disabling a monitor
|
||||||
|
|
||||||
To disable a monitor, use
|
To disable a monitor, use
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,8 @@ splash - prints the current random splash
|
||||||
getoption [option] - gets the config option status (values)
|
getoption [option] - gets the config option status (values)
|
||||||
```
|
```
|
||||||
|
|
||||||
For the `getoption` command, you need to pass the command in the following format:
|
For the getoption command, the option name should be in the following format:
|
||||||
|
section:option
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
hyprctl getoption section:option
|
hyprctl getoption section:option
|
||||||
|
@ -103,6 +104,9 @@ e.g.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
hyprctl getoption general:border_size
|
hyprctl getoption general:border_size
|
||||||
|
|
||||||
|
# Or nested
|
||||||
|
hyprctl getoption input:touchpad:disable_while_typing = bool
|
||||||
```
|
```
|
||||||
|
|
||||||
See [Variables](./Variables) for section and options you can use.
|
See [Variables](./Variables) for section and options you can use.
|
||||||
|
|
|
@ -104,9 +104,9 @@ Using `blur_new_optimizations` with an animated wallpaper may actually increase
|
||||||
|
|
||||||
# Animations
|
# Animations
|
||||||
|
|
||||||
| name | description | type | default |
|
| name | description | type | default |
|
||||||
| ------- | ----------------- | ---- | ------- |
|
|---|---|---|---|---|
|
||||||
| enabled | enable animations | bool | true |
|
| enabled | enable animations | bool | true |
|
||||||
|
|
||||||
{{< hint type=info >}}
|
{{< hint type=info >}}
|
||||||
|
|
||||||
|
@ -138,7 +138,6 @@ _[More about Animations](../Animations)._
|
||||||
| accel_profile | set the libinput acceleration profile. Can be one of `adaptive`, `flat`. | str | \[EMPTY\]
|
| accel_profile | set the libinput acceleration profile. Can be one of `adaptive`, `flat`. | str | \[EMPTY\]
|
||||||
| scroll_method | set the libinput scroll method. Can be one of `2fg` (2 fingers), `edge`, `on_button_down`, `no_scroll`. | str | \[EMPTY\]
|
| scroll_method | set the libinput scroll method. Can be one of `2fg` (2 fingers), `edge`, `on_button_down`, `no_scroll`. | str | \[EMPTY\]
|
||||||
|
|
||||||
|
|
||||||
{{< hint type=info >}}
|
{{< hint type=info >}}
|
||||||
|
|
||||||
## Follow Mouse
|
## Follow Mouse
|
||||||
|
|
|
@ -51,14 +51,13 @@ Keep in mind that you _have_ to declare at least one field, but not all.
|
||||||
|
|
||||||
{{< hint type=tip >}}
|
{{< hint type=tip >}}
|
||||||
|
|
||||||
To get more information about a window's class, title, XWayland status or its size;
|
To get more information about a window's class, title, XWayland status or its size,
|
||||||
you can use `hyprctl clients`.
|
you can use `hyprctl clients`.
|
||||||
|
|
||||||
{{< /hint >}}
|
{{< /hint >}}
|
||||||
|
|
||||||
## Rules
|
## Rules
|
||||||
|
|
||||||
=======
|
|
||||||
| Rule | Description |
|
| Rule | Description |
|
||||||
| ---- | ----------- |
|
| ---- | ----------- |
|
||||||
| float | floats a window |
|
| float | floats a window |
|
||||||
|
|
|
@ -3,7 +3,7 @@ compositors.
|
||||||
|
|
||||||
# HiDPI XWayland
|
# HiDPI XWayland
|
||||||
|
|
||||||
Currently XWayland on HiDPI screens looks pixelated/blurry, due to Xorg's
|
Currently, XWayland on HiDPI screens looks pixelated/blurry, due to Xorg's
|
||||||
inability to scale.
|
inability to scale.
|
||||||
There are attempts to add a standard scaling mechanism, such as [MR 733](https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/733).
|
There are attempts to add a standard scaling mechanism, such as [MR 733](https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/733).
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,7 @@ for live logs. (replace `hyprland` with `hyprlandd` for debug builds)
|
||||||
|
|
||||||
### How do I get a coredump?
|
### How do I get a coredump?
|
||||||
|
|
||||||
See [`ISSUIE_GUIDELINES.md`](https://github.com/hyprwm/Hyprland/blob/main/docs/ISSUE_GUIDELINES.md).
|
See [`ISSUE_GUIDELINES.md`](https://github.com/hyprwm/Hyprland/blob/main/docs/ISSUE_GUIDELINES.md).
|
||||||
|
|
||||||
## Nesting Hyprland
|
## Nesting Hyprland
|
||||||
|
|
||||||
|
|
|
@ -111,8 +111,8 @@ Use a tool like for example `lxappearance` to change the GTK cursor.
|
||||||
After that, add `exec-once=hyprctl setcursor [THEME] [SIZE]` to your config and
|
After that, add `exec-once=hyprctl setcursor [THEME] [SIZE]` to your config and
|
||||||
restart Hyprland.
|
restart Hyprland.
|
||||||
|
|
||||||
About QT applications, instead, Hyprland automatically exports `XCURSOR_SIZE`, 24
|
For QT applications, Hyprland exports XCURSOR_SIZE as 24, which is the default.
|
||||||
being the default. You may export a different value in your wrapper to change it.
|
You can overwrite this by exporting XCURSOR_SIZE to a different value in your wrapper.
|
||||||
|
|
||||||
Alternatively, change the config files manually according to the
|
Alternatively, change the config files manually according to the
|
||||||
[XDG specification (Arch Wiki link)](https://wiki.archlinux.org/title/Cursor_themes#Configuration).
|
[XDG specification (Arch Wiki link)](https://wiki.archlinux.org/title/Cursor_themes#Configuration).
|
||||||
|
@ -134,7 +134,7 @@ If it still doesn't work...
|
||||||
Make sure you have a notification daemon running, for example `dunst`. Autostart
|
Make sure you have a notification daemon running, for example `dunst`. Autostart
|
||||||
it with the `exec-once` keyword.
|
it with the `exec-once` keyword.
|
||||||
|
|
||||||
# Waybar no worky???
|
# Waybar workspaces no worky???
|
||||||
|
|
||||||
Waybar has a set of caveats or settings that you need to be aware of. See
|
Waybar has a set of caveats or settings that you need to be aware of. See
|
||||||
[Status bars](../Useful-Utilities/Status-Bars) for solutions.
|
[Status bars](../Useful-Utilities/Status-Bars) for solutions.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
wAfter you have installed Hyprland, you can either launch it from a TTY with
|
After you have installed Hyprland, you can either launch it from a TTY with
|
||||||
`Hyprland` or from a login manager. Although login managers aren't officially
|
`Hyprland` or from a login manager. Although login managers aren't officially
|
||||||
supported, you might want to use `SDDM`, as it's been working flawlessly with wayland
|
supported, you might want to use `SDDM`, as it's been working flawlessly with wayland
|
||||||
compositors.
|
compositors.
|
||||||
|
@ -63,14 +63,9 @@ the desktop file on updates. If you manually build Hyprland, consider using `sud
|
||||||
**OMG MY SCREEN IS BROKEN, FLASHY TEARY!** -> see the bottom of this page
|
**OMG MY SCREEN IS BROKEN, FLASHY TEARY!** -> see the bottom of this page
|
||||||
|
|
||||||
Once you log in, you'll be greeted with a yellow warning that will give you some
|
Once you log in, you'll be greeted with a yellow warning that will give you some
|
||||||
basic keybind info of your pregenerated config.
|
basic keybind info of your pre-generated config.
|
||||||
|
|
||||||
It's better to use the config provided in `examples/hyprland.conf` though.
|
To make the warning to go away, remove the `autogenerated=1` line from hyprland.conf
|
||||||
|
|
||||||
Paste it into `~/.config/hypr/hyprland.conf`
|
|
||||||
|
|
||||||
You can, of course, start from the pregenerated config if you wish to. If you
|
|
||||||
want the warning to go away, remove the `autogenerated=1` line.
|
|
||||||
|
|
||||||
# Monitors
|
# Monitors
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ Take a tour of the pages on the left and read ones that you may need.
|
||||||
A Wayland compositor is a fully autonomous Display Server, like Xorg itself.
|
A Wayland compositor is a fully autonomous Display Server, like Xorg itself.
|
||||||
It is **not** possible to mix'n'match Wayland compositors like you could on Xorg
|
It is **not** possible to mix'n'match Wayland compositors like you could on Xorg
|
||||||
with window managers and compositors. It is also not entirely possible, nor recommended,
|
with window managers and compositors. It is also not entirely possible, nor recommended,
|
||||||
to use try and use all Xorg applications on Wayland. See [../Useful-Utilities](this page) for a
|
to try and use all Xorg applications on Wayland. See [../Useful-Utilities](this page) for a
|
||||||
list of recommended Wayland native/compatible programs.
|
list of recommended Wayland native/compatible programs.
|
||||||
|
|
||||||
Wayland **compositors** should not be confused with Xorg **window managers**.
|
Wayland **compositors** should not be confused with Xorg **window managers**.
|
||||||
|
|
|
@ -13,8 +13,8 @@ work as intended. Please use the
|
||||||
Make sure to check out the options of the
|
Make sure to check out the options of the
|
||||||
[Nix module](https://github.com/hyprwm/Hyprland/blob/main/nix/module.nix).
|
[Nix module](https://github.com/hyprwm/Hyprland/blob/main/nix/module.nix).
|
||||||
|
|
||||||
Do note that the Nixpkgs Hyprland package is not actively maintained, and may be outdated
|
Do note that the Nixpkgs Hyprland package is not actively maintained, and may be outdated.
|
||||||
Installation using the Flake is recommended.
|
As such, installation using the Flake is recommended.
|
||||||
|
|
||||||
## With flakes
|
## With flakes
|
||||||
|
|
||||||
|
|
|
@ -13,12 +13,11 @@ While it does infringe on Discord's ToS, it's relatively safe and doesn't rely o
|
||||||
|
|
||||||
# Spotify
|
# Spotify
|
||||||
|
|
||||||
It has been reported that Spotify does not follow window rules. This is possibly
|
Spotify does not follow window rules. This is because the client sets is class _after_
|
||||||
because the client sets is class _after_ the window has opened, thus making it "immune"
|
the window has opened, thus making it "immune" to windowrules. An alternative to
|
||||||
to windowrules. An alternative to Spotify's GUI client is
|
Spotify's GUI client is [spotify-tui](https://github.com/Rigellute/spotify-tui) which can be
|
||||||
[spotify-tui](https://github.com/Rigellute/spotify-tui) which can be launched in a terminal
|
launched in a terminal with a custom class. While limited in functionality, it is quite
|
||||||
with a custom class. While limited in functionality, it is quite powerful and could be
|
powerful and could be preferred over the GUI client.
|
||||||
preferred over the GUI client if windowrules are a dealbreaker for you.
|
|
||||||
|
|
||||||
Some users have also reported [installing spotifywm](https://github.com/amurzeau/spotifywm) has resolved
|
Some users have also reported [installing spotifywm](https://github.com/amurzeau/spotifywm) has resolved
|
||||||
the issue. The original repository by [`dasJ`](https://github.com/dasJ/spotifywm) is no longer working because of some changes made in the newer
|
the issue. The original repository by [`dasJ`](https://github.com/dasJ/spotifywm) is no longer working because of some changes made in the newer
|
||||||
|
@ -33,7 +32,7 @@ LD_PRELOAD=/path/to/spotifywm.so spotify
|
||||||
The path **MUST** be the absolute one. If it's not, the hack will not work.
|
The path **MUST** be the absolute one. If it's not, the hack will not work.
|
||||||
|
|
||||||
Now you can freely manage your Spotify client. Always use `class` to manage the
|
Now you can freely manage your Spotify client. Always use `class` to manage the
|
||||||
window. Example:
|
window. For example:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
windowrulev2 = tile, class:^(Spotify)$
|
windowrulev2 = tile, class:^(Spotify)$
|
||||||
|
|
|
@ -17,8 +17,8 @@ meson configure -Dexperimental=true build
|
||||||
sudo ninja -C build install
|
sudo ninja -C build install
|
||||||
```
|
```
|
||||||
|
|
||||||
If you want to use the workspaces module, first, copy the configuration files from
|
If you want to use the workspaces module, first, copy the configuration files from
|
||||||
`/etc/xdg/waybar/` into `~/.config/waybar/`. Then, in `~/.config/waybar/conf/` replace
|
`/etc/xdg/waybar/` into `~/.config/waybar/`. Then, in `~/.config/waybar/conf/` replace
|
||||||
all the references to `sway/workspaces/` with `wlr/workspaces`.
|
all the references to `sway/workspaces/` with `wlr/workspaces`.
|
||||||
|
|
||||||
For more info regarding configuration, see
|
For more info regarding configuration, see
|
||||||
|
@ -26,18 +26,19 @@ For more info regarding configuration, see
|
||||||
|
|
||||||
## Waybar popups render behind the windows
|
## Waybar popups render behind the windows
|
||||||
|
|
||||||
In `~/.config/waybar/config`, make sure that you have the `layer` configuration
|
In `~/.config/waybar/config`, make sure that you have the `layer` configuration
|
||||||
set to `top` and not `bottom`.
|
set to `top` and not `bottom`.
|
||||||
|
|
||||||
## Active workspace doesn't show up
|
## Active workspace doesn't show up
|
||||||
|
|
||||||
Replace `#workspaces button.focus` with `#wroskapces button.active` in `~/.config/style.css`.
|
Replace `#workspaces button.focus` with `#wroskapces button.active` in `~/.config/style.css`.
|
||||||
|
|
||||||
## Scroll through workspaces
|
## Scrolling through workspaces
|
||||||
|
|
||||||
Since there are a lot of configurations from `sway/workspaces` missing, you
|
Since there a lot of configuration options from `sway/workspaces` are missing, you
|
||||||
should deduce some of them by yourself. In the case of scrolling, configure
|
should deduce some of them by yourself. In the case of scrolling, it should look like this:
|
||||||
your module this way:
|
|
||||||
|
```json
|
||||||
|
|
||||||
```json
|
```json
|
||||||
"wlr/workspaces": {
|
"wlr/workspaces": {
|
||||||
|
@ -47,11 +48,11 @@ your module this way:
|
||||||
},
|
},
|
||||||
```
|
```
|
||||||
|
|
||||||
## Clicking on workspace doesn't work!
|
## Clicking on a workspace icon does not work!
|
||||||
|
|
||||||
On the `wlr/workspaces` module, add `"on-click": "activate"`. That's the purpose of
|
On the `wlr/workspaces` module, add `"on-click": "activate"`. That's the purpose of
|
||||||
the `sed` command used before building: the default way to select a workspace by
|
the `sed` command used before building Waybar: the default way to select a workspace by
|
||||||
clicking uses the `swaymsg`'s way, furthermore it is required to edit
|
clicking uses the `swaymsg`'s way, and thus it is required to edit
|
||||||
this function to make it work with `hyprctl`.
|
this function to make it work with `hyprctl`.
|
||||||
|
|
||||||
# Eww
|
# Eww
|
||||||
|
@ -65,7 +66,7 @@ by manually compiling. In the latter case, you can follow the
|
||||||
|
|
||||||
After you've successfully installed Eww, you can move onto configuring it. There
|
After you've successfully installed Eww, you can move onto configuring it. There
|
||||||
are a few examples listed in the [Readme](https://github.com/elkowar/eww). It's also
|
are a few examples listed in the [Readme](https://github.com/elkowar/eww). It's also
|
||||||
highly recommend to read through the
|
highly recommended to read through the
|
||||||
[Configuration options](https://elkowar.github.io/eww/configuration.html).
|
[Configuration options](https://elkowar.github.io/eww/configuration.html).
|
||||||
|
|
||||||
{{< hint type=important >}}
|
{{< hint type=important >}}
|
||||||
|
|
Loading…
Reference in a new issue