mirror of
https://github.com/hyprwm/hyprland-wiki.git
synced 2024-11-22 04:35: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
|
||||
|
||||
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
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ bindrl=MOD,KEY,exec,amongus
|
|||
Flags:
|
||||
|
||||
```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
|
||||
e -> repeat, will repeat when held.
|
||||
m -> mouse, see below
|
||||
|
@ -191,10 +191,10 @@ including OBS, Discord, Firefox, etc.
|
|||
|
||||
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.
|
||||
|
||||
Simply, just add
|
||||
Simply add
|
||||
|
||||
```ini
|
||||
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`
|
||||
|
||||
| name | description | type | default |
|
||||
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----- | ---------- |
|
||||
| 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_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 |
|
||||
| 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 |
|
||||
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
|
||||
| name | description | type | default |
|
||||
| ---- | ----------- | ---- | ------- |
|
||||
| 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_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 |
|
||||
| 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 |
|
||||
| use_active_for_splits | whether to prefer the active window or the mouse position for splits | bool | true |
|
||||
|
||||
# Bind Dispatchers
|
||||
|
||||
|
|
|
@ -18,25 +18,22 @@ _category name `master`_
|
|||
|
||||
| name | description | type | default |
|
||||
|---|---|---|---|---|
|
||||
| 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_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 |
|
||||
| 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 |
|
||||
| special_scale_factor | (0.0 - 1.0) the scale of the special workspace windows | float | 0.8 |
|
||||
| new_is_master | whether a newly open window should replace the master or join the slaves. | bool | false |
|
||||
| new_on_top | whether a newly open window should be on the top of the stack | 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
|
||||
|
||||
`layoutmsg` params:
|
||||
|
||||
| dispatcher | description | params |
|
||||
|---|---|---|
|
||||
| togglegroup | toggles the current window and its siblings (recursively) into a group | none |
|
||||
| changegroupactive | switches to the next window in a group. | b - back, f - forward. |
|
||||
| togglesplit | toggles the split (top/side) of the current window | none |
|
||||
| param | description |
|
||||
| --- | --- |
|
||||
| swapwithmaster | swaps the current window with master |
|
||||
| cyclenext | focuses the next window respecting the layout |
|
||||
| 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 >}}
|
||||
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
|
||||
```
|
||||
|
||||
# Disabling a monitor
|
||||
## Disabling a monitor
|
||||
|
||||
To disable a monitor, use
|
||||
|
||||
|
|
|
@ -93,7 +93,8 @@ splash - prints the current random splash
|
|||
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
|
||||
hyprctl getoption section:option
|
||||
|
@ -103,6 +104,9 @@ e.g.
|
|||
|
||||
```sh
|
||||
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.
|
||||
|
|
|
@ -104,9 +104,9 @@ Using `blur_new_optimizations` with an animated wallpaper may actually increase
|
|||
|
||||
# Animations
|
||||
|
||||
| name | description | type | default |
|
||||
| ------- | ----------------- | ---- | ------- |
|
||||
| enabled | enable animations | bool | true |
|
||||
| name | description | type | default |
|
||||
|---|---|---|---|---|
|
||||
| enabled | enable animations | bool | true |
|
||||
|
||||
{{< 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\]
|
||||
| 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 >}}
|
||||
|
||||
## Follow Mouse
|
||||
|
|
|
@ -51,14 +51,13 @@ Keep in mind that you _have_ to declare at least one field, but not all.
|
|||
|
||||
{{< 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`.
|
||||
|
||||
{{< /hint >}}
|
||||
|
||||
## Rules
|
||||
|
||||
=======
|
||||
| Rule | Description |
|
||||
| ---- | ----------- |
|
||||
| float | floats a window |
|
||||
|
|
|
@ -3,7 +3,7 @@ compositors.
|
|||
|
||||
# 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.
|
||||
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?
|
||||
|
||||
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
|
||||
|
||||
|
|
|
@ -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
|
||||
restart Hyprland.
|
||||
|
||||
About QT applications, instead, Hyprland automatically exports `XCURSOR_SIZE`, 24
|
||||
being the default. You may export a different value in your wrapper to change it.
|
||||
For QT applications, Hyprland exports XCURSOR_SIZE as 24, which is the default.
|
||||
You can overwrite this by exporting XCURSOR_SIZE to a different value in your wrapper.
|
||||
|
||||
Alternatively, change the config files manually according to the
|
||||
[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
|
||||
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
|
||||
[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
|
||||
supported, you might want to use `SDDM`, as it's been working flawlessly with wayland
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
To make the warning to go away, remove the `autogenerated=1` line from hyprland.conf
|
||||
|
||||
# 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.
|
||||
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,
|
||||
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.
|
||||
|
||||
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
|
||||
[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
|
||||
Installation using the Flake is recommended.
|
||||
Do note that the Nixpkgs Hyprland package is not actively maintained, and may be outdated.
|
||||
As such, installation using the Flake is recommended.
|
||||
|
||||
## With flakes
|
||||
|
||||
|
|
|
@ -13,12 +13,11 @@ While it does infringe on Discord's ToS, it's relatively safe and doesn't rely o
|
|||
|
||||
# Spotify
|
||||
|
||||
It has been reported that Spotify does not follow window rules. This is possibly
|
||||
because the client sets is class _after_ the window has opened, thus making it "immune"
|
||||
to windowrules. An alternative to Spotify's GUI client is
|
||||
[spotify-tui](https://github.com/Rigellute/spotify-tui) which can be launched in a terminal
|
||||
with a custom class. While limited in functionality, it is quite powerful and could be
|
||||
preferred over the GUI client if windowrules are a dealbreaker for you.
|
||||
Spotify does not follow window rules. This is because the client sets is class _after_
|
||||
the window has opened, thus making it "immune" to windowrules. An alternative to
|
||||
Spotify's GUI client is [spotify-tui](https://github.com/Rigellute/spotify-tui) which can be
|
||||
launched in a terminal with a custom class. While limited in functionality, it is quite
|
||||
powerful and could be preferred over the GUI client.
|
||||
|
||||
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
|
||||
|
@ -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.
|
||||
|
||||
Now you can freely manage your Spotify client. Always use `class` to manage the
|
||||
window. Example:
|
||||
window. For example:
|
||||
|
||||
```ini
|
||||
windowrulev2 = tile, class:^(Spotify)$
|
||||
|
|
|
@ -17,8 +17,8 @@ meson configure -Dexperimental=true build
|
|||
sudo ninja -C build install
|
||||
```
|
||||
|
||||
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
|
||||
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
|
||||
all the references to `sway/workspaces/` with `wlr/workspaces`.
|
||||
|
||||
For more info regarding configuration, see
|
||||
|
@ -26,18 +26,19 @@ For more info regarding configuration, see
|
|||
|
||||
## 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`.
|
||||
|
||||
## Active workspace doesn't show up
|
||||
|
||||
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
|
||||
should deduce some of them by yourself. In the case of scrolling, configure
|
||||
your module this way:
|
||||
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, it should look like this:
|
||||
|
||||
```json
|
||||
|
||||
```json
|
||||
"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
|
||||
the `sed` command used before building: the default way to select a workspace by
|
||||
clicking uses the `swaymsg`'s way, furthermore it is required to edit
|
||||
the `sed` command used before building Waybar: the default way to select a workspace by
|
||||
clicking uses the `swaymsg`'s way, and thus it is required to edit
|
||||
this function to make it work with `hyprctl`.
|
||||
|
||||
# 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
|
||||
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).
|
||||
|
||||
{{< hint type=important >}}
|
||||
|
|
Loading…
Reference in a new issue