clean up the mess

This commit is contained in:
NotAShelf 2022-10-23 01:58:34 +03:00
parent b86c8b18dc
commit a6acdf93c8
No known key found for this signature in database
GPG key ID: 5B5C8895F28445F1
16 changed files with 64 additions and 70 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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