Merge branch 'main' into workspace-rules-upd

This commit is contained in:
Arjun31415 2025-11-21 19:01:38 +05:30 committed by GitHub
commit e8a4a739bc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 54 additions and 50 deletions

View file

@ -197,11 +197,16 @@ To use Shimeji programs like
following rules:
```ini
windowrule = float, class:com-group_finity-mascot-Main
windowrule = noblur, class:com-group_finity-mascot-Main
windowrule = nofocus, class:com-group_finity-mascot-Main
windowrule = noshadow, class:com-group_finity-mascot-Main
windowrule = noborder, class:com-group_finity-mascot-Main
windowrule {
name = shimeji
match:class = com-group_finity-mascot-Main
float = true
no_blur = true
no_focus = true
no_shadow = true
border_size = 0
}
```
> [!NOTE]
@ -307,10 +312,10 @@ bind = ALT SHIFT, escape, exec, $XDG_CONFIG_HOME/hypr/scripts/alttab/disable.sh
submap = reset
workspace = special:alttab, gapsout:0, gapsin:0, bordersize:0
windowrule = noanim, class:alttab
windowrule = stayfocused, class:alttab
windowrule = workspace special:alttab, class:alttab
windowrule = bordersize 0, class:alttab
windowrule = match:class alttab, no_anim
windowrule = match:class alttab, stay_focused
windowrule = match:class alttab, workspace special:alttab
windowrule = match:class alttab, border_size 0
```
2. create file `touch $XDG_CONFIG_HOME/hypr/scripts/alttab/alttab.sh && chmod +x $XDG_CONFIG_HOME/hypr/scripts/alttab/alttab.sh` and add:

View file

@ -198,8 +198,8 @@ Where `window` is as described [here](../Dispatchers#parameter-explanation), and
#### Notes
- If `animationstyle` is unset, `(unset)` is returned.
- `minsize` defaults to `20 20`.
- `maxsize` defaults to `inf inf` or `[null,null]` in JSON.
- `min_size` defaults to `20 20`.
- `max_size` defaults to `inf inf` or `[null,null]` in JSON.
### notify

View file

@ -107,7 +107,7 @@ _Subcategory `general:snap:`_
| dim_inactive | enables dimming of inactive windows | bool | false |
| dim_strength | how much inactive windows should be dimmed [0.0 - 1.0] | float | 0.5 |
| dim_special | how much to dim the rest of the screen by when a special workspace is open. [0.0 - 1.0] | float | 0.2 |
| dim_around | how much the `dimaround` window rule should dim by. [0.0 - 1.0] | float | 0.4 |
| dim_around | how much the `dim_around` window rule should dim by. [0.0 - 1.0] | float | 0.4 |
| screen_shader | a path to a custom shader to be applied at the end of rendering. See `examples/screenShader.frag` for an example. | str | \[\[Empty\]\] |
| border_part_of_window | whether the window border should be a part of the window | bool | true |
@ -130,9 +130,9 @@ _Subcategory `decoration:blur:`_
| vibrancy_darkness | How strong the effect of `vibrancy` is on dark areas . [0.0 - 1.0] | float | 0.0 |
| special | whether to blur behind the special workspace (note: expensive) | bool | false |
| popups | whether to blur popups (e.g. right-click menus) | bool | false |
| popups_ignorealpha | works like ignorealpha in layer rules. If pixel opacity is below set value, will not blur. [0.0 - 1.0] | float | 0.2 |
| popups_ignorealpha | works like ignore_alpha in layer rules. If pixel opacity is below set value, will not blur. [0.0 - 1.0] | float | 0.2 |
| input_methods | whether to blur input methods (e.g. fcitx5) | bool | false |
| input_methods_ignorealpha | works like ignorealpha in layer rules. If pixel opacity is below set value, will not blur. [0.0 - 1.0] | float | 0.2 |
| input_methods_ignorealpha | works like ignore_alpha in layer rules. If pixel opacity is below set value, will not blur. [0.0 - 1.0] | float | 0.2 |
> [!NOTE]
> `blur:size` and `blur:passes` have to be at least 1.
@ -422,13 +422,13 @@ _Subcategory `misc:`_
| exit_window_retains_fullscreen | if true, closing a fullscreen window makes the next focused window fullscreen | bool | false |
| initial_workspace_tracking | if enabled, windows will open on the workspace they were invoked on. 0 - disabled, 1 - single-shot, 2 - persistent (all children too) | int | 1 |
| middle_click_paste | whether to enable middle-click-paste (aka primary selection) | bool | true |
| render_unfocused_fps | the maximum limit for renderunfocused windows' fps in the background (see also [Window-Rules](../Window-Rules/#dynamic-effects) - `render_unfocused`)| int | 15 |
| render_unfocused_fps | the maximum limit for render_unfocused windows' fps in the background (see also [Window-Rules](../Window-Rules/#dynamic-effects) - `render_unfocused`)| int | 15 |
| disable_xdg_env_checks | disable the warning if XDG environment is externally managed | bool | false |
| disable_hyprland_qtutils_check | disable the warning if hyprland-qtutils is not installed | bool | false |
| lockdead_screen_delay | delay after which the "lockdead" screen will appear in case a lockscreen app fails to cover all the outputs (5 seconds max) | int | 1000 |
| enable_anr_dialog | whether to enable the ANR (app not responding) dialog when your apps hang | bool | true |
| anr_missed_pings | number of missed pings before showing the ANR dialog | int | 5 |
| size_limits_tiled | whether to apply minsize and maxsize rules to tiled windows | bool | false |
| size_limits_tiled | whether to apply min_size and max_size rules to tiled windows | bool | false |
### Binds

View file

@ -94,7 +94,7 @@ Static effects are evaluated once when the window is opened and never again. Thi
| Effect | argument | Description |
| ---- | ----------- | --- |
| float | \[on\] | Floats a window. |
| tile | \[on\] |Tiles a window. |
| tile | \[on\] |Tiles a window. |
| fullscreen | \[on\] | Fullscreens a window. |
| maximize | \[on\] | Maximizes a window. |
| fullscreen_state | \[internal\] \[client\] | Sets the focused window's fullscreen mode and the one sent to the client, where internal and client can be `0` - none, `1` - maximize, `2` - fullscreen, `3` - maximize and fullscreen. |
@ -139,9 +139,9 @@ Dynamic effects are re-evaluated every time a property changes.
| no_max_size | \[on\] | Removes max size limitations. Especially useful with windows that report invalid max sizes (e.g. winecfg). |
| stay_focused | \[on\] | Forces focus on the window as long as it's visible. |
| animation | \[style\] (\[opt\]) | Forces an animation onto a window, with a selected opt. Opt is optional. |
| border_color | \[c\] | Force the bordercolor of the window. <br> Options for c: `color`/`color ... color angle` -> sets the active border color/gradient OR `color color`/`color ... color angle color ... color [angle]` -> sets the active and inactive border color/gradient of the window. See [variables->colors](../Variables#variable-types) for color definition. |
| border_color | \[c\] | Force the border color of the window. <br> Options for c: `color`/`color ... color angle` -> sets the active border color/gradient OR `color color`/`color ... color angle color ... color [angle]` -> sets the active and inactive border color/gradient of the window. See [variables->colors](../Variables#variable-types) for color definition. |
| idle_inhibit | \[mode\] | Sets an idle inhibit rule for the window. If active, apps like `hypridle` will not fire. Modes: `none`, `always`, `focus`, `fullscreen`. |
| opacity | \[a\] | Additional opacity multiplier. Options for a: `float` -> sets an overall opacity, `float float` -> sets activeopacity and inactiveopacity respectively, `float float float` -> sets activeopacity, inactiveopacity and fullscreenopacity respectively. |
| opacity | \[a\] | Additional opacity multiplier. Options for a: `float` -> sets an overall opacity, `float float` -> sets active_opacity and inactive_opacity respectively, `float float float` -> sets active_opacity, inactive_opacity and fullscreen_opacity respectively. |
| tag | \[name\] | Applies the tag `name` to the window, use prefix `+`/`-` to set/unset flag, or no prefix to toggle the flag. |
| max_size | \[w\] \[h\] | Sets the maximum size (x,y -> int). Applies to floating windows. (use `misc:size_limits_tiled` to include tiled windows.) |
| min_size | \[w\] \[h\] | Sets the minimum size (x,y -> int). Applies to floating windows. (use `misc:size_limits_tiled` to include tiled windows.) |
@ -249,8 +249,8 @@ windowrule {
windowrule = no_blur, match:class firefox # Disable blur for firefox
windowrule = move (cursor_x-(window_w*0.5)) (cursor_y-(window_h*0.5)), match:class kitty # Move kitty to the center of the cursor
windowrule = border_color rgb(FF0000) rgb(880808), match:fullscreen 1 # Set bordercolor to red if window is fullscreen
windowrule = border_color rgb(FFFF00), match:title .*Hyprland.* # Set bordercolor to yellow when title contains Hyprland
windowrule = border_color rgb(FF0000) rgb(880808), match:fullscreen 1 # Set border color to red if window is fullscreen
windowrule = border_color rgb(FFFF00), match:title .*Hyprland.* # Set border color to yellow when title contains Hyprland
windowrule = opacity 1.0 override 0.5 override 0.8 override, match:class kitty # Set opacity to 1.0 active, 0.5 inactive and 0.8 fullscreen for kitty
windowrule = match:class kitty, rounding 10 # Set rounding to 10 for kitty
windowrule = match:class (pinentry-)(.*), stayfocused # Fix pinentry losing focus
@ -286,7 +286,7 @@ The rest of the floating windows will have `opacity 0.5`.
> [!NOTE]
> Opacity is a PRODUCT of all opacities by default. For example, setting
> `activeopacity` to `0.5` and `opacity` to `0.5` will result in a total opacity of
> `active_opacity` to `0.5` and `opacity` to `0.5` will result in a total opacity of
> `0.25`. <br>
> You are allowed to set opacities over `1.0`, but any opacity product over `1.0`
> will cause graphical glitches. <br>
@ -346,4 +346,3 @@ but they have different props and effects.
| order | \[n\] | Sets the order relative to other layers. A higher `n` means closer to the edge of the monitor. Can be negative. `n = 0` if unspecified. |
| abovelock | \[0/1/2\] | If non-zero, renders the layer above the lockscreen when the session is locked. If set to `2`, you can interact with the layer on the lockscreen, otherwise it will only be rendered above it. |
| noscreenshare | \[on\] | Hides the layer from screen sharing by drawing a black rectangle over it. |

View file

@ -62,10 +62,10 @@ To replicate "smart gaps" / "no gaps when only" from other WMs/Compositors, use
```ini
workspace = w[tv1], gapsout:0, gapsin:0
workspace = f[1], gapsout:0, gapsin:0
windowrule = border_size 0, match:float 0, match:workspace w[tv1]
windowrule = rounding 0, match:float 0, match:workspacew[tv1]
windowrule = border_size 0, match:float 0, match:workspacef[1]
windowrule = rounding 0, match:float 0, match:workspacef[1]
windowrule = match:float false, match:workspace w[tv1], border_size 0
windowrule = match:float false, match:workspace w[tv1], rounding 0
windowrule = match:float false, match:workspace f[1], border_size 0
windowrule = match:float false, match:workspace f[1], rounding 0
```
#### Smart gaps (ignoring special workspaces)
@ -75,10 +75,10 @@ You can combine workspace selectors for more fine-grained control, for example,
```ini
workspace = w[tv1]s[false], gapsout:0, gapsin:0
workspace = f[1]s[false], gapsout:0, gapsin:0
windowrule = border_size 0, match:float 0, match:workspace w[tv1]s[false]
windowrule = rounding 0, match:float 0, match:workspace w[tv1]s[false]
windowrule = border_size 0, match:float 0, match:workspace f[1]s[false]
windowrule = rounding 0, match:float 0, match:workspace f[1]s[false]
windowrule = match:float false, match:workspace w[tv1]s[false], border_size 0
windowrule = match:float false, match:workspace w[tv1]s[false], rounding 0
windowrule = match:float false, match:workspace f[1]s[false], border_size 0
windowrule = match:float false, match:workspace f[1]s[false], rounding 0
```
## Rules

View file

@ -130,15 +130,15 @@ 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.
windowrule = noanim, class:^(flameshot)$
windowrule = float, class:^(flameshot)$
windowrule = move 0 0, class:^(flameshot)$
windowrule = pin, class:^(flameshot)$
windowrule = noinitialfocus, class:^(flameshot)$
# no_anim isn't necessary but animations with these rules might look bad. use at your own discretion.
windowrule = match:class flameshot, no_anim
windowrule = match:class flameshot, float
windowrule = match:class flameshot, move 0 0
windowrule = match:class flameshot, pin
windowrule = match:class flameshot, no_initial_focus
# set this to your leftmost monitor id, otherwise you have to move your cursor to the leftmost monitor
# before executing flameshot
windowrule = monitor 1, class:^(flameshot)$
windowrule = match:class flameshot, monitor 1
# ctrl-c to copy from the flameshot gui gives warped images sometimes, but
# setting the env fixes it
@ -347,9 +347,9 @@ these window rules to your config to make these programs work with both of your
screens.
```ini
windowrule2 = float,title:^(flameshot)
windowrule = move 0 0,title:^(flameshot)
windowrule = suppressevent fullscreen,title:^(flameshot)
windowrule = match:title flameshot, float true
windowrule = match:title flameshot, move 0 0
windowrule = match:title flameshot, suppress_event fullscreen
```
### I cannot bind SUPER as my mod key on my laptop
@ -403,7 +403,7 @@ Window 55d794495400 -> :
If the pop-up disappears as you hover over it, you can add to your config:
```ini
windowrule = stayfocused, title:^(TITLE)$, class:^(CLASS)$
windowrule = stay_focused, match:class CLASS, match:title TITLE
```
This has a downside of not being able to click on anything in the main UI until
@ -412,13 +412,13 @@ you've interacted with the pop-up.
If the pop-up disappears immediately, you can use:
```ini
windowrule = minsize 1 1, title:^(TITLE)$, class:^(CLASS)$
windowrule = min_size 1 1, match:class CLASS, match:title TITLE
```
If the pop-up doesn't open at the cursor position, try the following:
```ini
windowrule = move onscreen cursor, title:^(TITLE)$, class:^(CLASS)$
windowrule = move cursor_x cursor_y, match:class CLASS, match:title TITLE
```
This is required for apps running under xwayland only and there is usually no need

View file

@ -186,9 +186,9 @@ exec-once = clipse -listen
You can bind the TUI to a something nice like this:
```ini
windowrule = float, class:(clipse)
windowrule = size 622 652, class:(clipse)
windowrule = stayfocused, class:(clipse)
windowrule = match:class clipse, float
windowrule = match:class clipse, size 622 652
windowrule = match:class clipse, stay_focused
bind = SUPER, V, exec, alacritty --class clipse -e clipse
```

View file

@ -308,8 +308,8 @@ and a [guided hello world](https://quickshell.outfoxxed.me/docs/configuration/in
### Blur
Use the `blur` and `ignorealpha` [layer rules](https://wiki.hypr.land/Configuring/Window-Rules/#layer-rules).
Use the `blur` and `ignore_alpha` [layer rules](https://wiki.hypr.land/Configuring/Window-Rules/#layer-rules).
The former enables blur, and the latter makes it ignore insufficiently opaque regions.
Ideally, the value used with `ignorealpha` is higher than the shadow opacity and lower than the bar/menu content's opacity.
Additionally, if it has transparent popups, you can use the `blurpopups` rule.
Ideally, the value used with `ignore_alpha` is higher than the shadow opacity and lower than the bar/menu content's opacity.
Additionally, if it has transparent popups, you can use the `blur_popups` rule.