ScrollOverview is an overview plugin like niri.
2026-04-19.02-11-57.mp4
- Add the plugin repository:
hyprpm add https://github.com/yayuuu/hyprland-scroll-overview.git
- Build and fetch dependencies:
hyprpm update
- Enable the plugin:
hyprpm enable scrolloverview - Configure and Enjoy.
# .config/hypr/hyprland.conf
plugin {
scrolloverview {
gesture_distance = 300 # how far is the "max" for the gesture
scale = 0.5 # preferred overview scale
workspace_gap = 100
wallpaper = 0 # 0: global only, 1: per-workspace only, 2: both
blur = false # blur only the main overview wallpaper
shadow {
enabled = false
range = 50
render_power = 3
color = rgba(1a1a1aee)
}
}
}-- .config/hypr/hyprland.lua
hl.config({
plugin = {
scrolloverview = {
gesture_distance = 300, -- how far is the "max" for the gesture
scale = 0.5, -- preferred overview scale
workspace_gap = 100,
wallpaper = 0, -- 0: global only, 1: per-workspace only, 2: both
blur = false, -- blur only the main overview wallpaper
shadow = {
enabled = false,
range = 50,
render_power = 3,
color = 0xee1a1a1a,
},
},
},
})In Lua, shadow.color must be an integer color value. The Hyprlang-only
rgba(...) syntax is not accepted there.
| property | type | description | default |
|---|---|---|---|
| gesture_distance | number | how far is the max for the gesture | 200 |
| scale | float | overview scale, [0.1 - 0.9] | 0.5 |
| workspace_gap | number | gap between visible workspaces in the overview, in pixels | 0 |
| wallpaper | int | wallpaper mode: 0 global only, 1 per-workspace only, 2 both |
0 |
| blur | bool | blur the main overview wallpaper without blurring workspace wallpapers | false |
Controls the shadow around each workspace card. enabled defaults to false; all other unset values fall back to decoration:shadow:*.
| property | type | description | default |
|---|---|---|---|
| enabled | bool | draw a shadow around each workspace card | false |
| range | int | shadow range in layout px | decoration:shadow:range |
| render_power | int | shadow falloff power | decoration:shadow:render_power |
| color | color | shadow color | decoration:shadow:color |
| name | description | arguments |
|---|---|---|
| scrolloverview-gesture | same as gesture, but for ScrollOverview gestures. Supports: overview. |
Same as gesture |
# hyprland.conf
bind = MODIFIER, KEY, scrolloverview:overview, OPTIONExample:
# This will toggle ScrollOverview when SUPER+g is pressed
bind = SUPER, g, scrolloverview:overview, toggle-- hyprland.lua
hl.bind("SUPER + g", function()
hl.plugin.scrolloverview.overview("toggle")
end)hl.plugin.scrolloverview.overview("toggle") returns a dispatcher function
accepted by hl.dispatch() and binds. When called from inside a Lua keybind
callback, it dispatches immediately.
Here are a list of options you can use:
| option | description |
|---|---|
| toggle | displays if hidden, hide if displayed |
| select | selects the hovered desktop |
| off | hides the overview |
| disable | same as off |
| on | displays the overview |
| enable | same as on |
hyprbars