AvengeMedia / AvengeMedia/DankMaterialShell
[Bug] Dank Island: scrolling anywhere triggers the bar scroll action (e.g. workspace switching) whenever the island is expanded
- Dominant language
- QML
- Stars
- 8.1k
- Forks
- 515
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 102
Description
### Compositor
Niri
### Distribution
Arch Linux
### If Other, please specify
_No response_
### Select your Installation Method
Distro Packaging
### Was this your original Installation method?
Yes
### If no, specify
_No response_
### dms doctor -vC
Click to expand
## DMS Doctor Report
**System**
- [ok] Operating System: Arch Linux
- ID: arch, Version: rolling, Arch: amd64
- [ok] Architecture: amd64
- [ok] Display Server: Wayland
- WAYLAND_DISPLAY=wayland-1
**Versions**
- [ok] DMS CLI: dms v1.6.1
- /usr/bin/dms
- [ok] Quickshell: Quickshell 0.3.1 (revision , distributed by Arch Linux)
- /usr/sbin/qs
- [ok] DMS Shell: v1.6.1
- /run/user/1000/danklinux-shell/d83248ba9119b48a
**Installation**
- [ok] DMS Configuration: Found
- /run/user/1000/danklinux-shell/d83248ba9119b48a
- [ok] shell.qml: Present
- /run/user/1000/danklinux-shell/d83248ba9119b48a/shell.qml
- [info] Install Type: Unknown
- /run/user/1000/danklinux-shell/d83248ba9119b48a
**Compositor**
- [ok] niri: 26.04
- /usr/sbin/niri
- [info] Active: niri
- [ok] Background Blur: Supported
- Compositor supports ext-background-effect-v1
**Quickshell Features**
- [ok] Polkit: Available
- Authentication prompts
- [ok] IdleMonitor: Available
- Idle detection
- [ok] IdleInhibitor: Available
- Prevent idle/sleep
- [ok] ShortcutInhibitor: Available
- Allow shortcut management (niri)
- [ok] BackgroundBlur: Available
- Background blur API support in Quickshell
**Optional Features**
- [ok] accountsservice: Available
- User accounts
- [ok] power-profiles-daemon: Available
- Power profile management
- [ok] logind: Available
- Session management
- [ok] cups-pk-helper: Available
- Printer management
- [info] I2C/DDC: No monitors detected
- External monitor brightness control
- [ok] qt6-imageformats: Installed (5 formats)
- Formats: WebP, TIFF, GIF, JP2, ICNS (/usr/lib/qt6/plugins/imageformats:/usr/lib/qt/plugins/imageformats:/usr/lib64/qt6/plugins/imageformats)
- [ok] kimageformats: Installed (4 formats)
- Formats: AVIF, HEIF, JXL, EXR (/usr/lib/qt6/plugins/imageformats:/usr/lib64/qt6/plugins/imageformats)
- [ok] Terminal: kitty, alacritty
- [ok] Network: NetworkManager
- NetworkManager present; iwd also running (likely NM's Wi-Fi backend). Using NM API.
- [ok] matugen: Installed
- Dynamic theming
- [ok] cava: Installed
- Audio visualizer
- [info] khal: Not installed
- Calendar events
- [info] danksearch: Not installed
- File search
- [info] dankcalendar: Not installed
- Calendar app
- [info] fprintd: Not installed
- Fingerprint auth
- [ok] adw-gtk3: Installed
- GTK3 dynamic theming (user copy)
**Config Files**
- [ok] settings.json: Present
- /home/ice_sheep/.config/DankMaterialShell/settings.json
- [info] clsettings.json: Not yet created
- /home/ice_sheep/.config/DankMaterialShell/clsettings.json
- [ok] plugin_settings.json: Present
- /home/ice_sheep/.config/DankMaterialShell/plugin_settings.json
- [ok] session.json: Present
- /home/ice_sheep/.local/state/DankMaterialShell/session.json
- [ok] dms-colors.json: Present
- /home/ice_sheep/.cache/DankMaterialShell/dms-colors.json
**Services**
- [ok] dms.service: enabled, active
- [info] greetd: Not installed
- Optional greeter service
**Environment**
- [info] QT_QPA_PLATFORMTHEME: qt5ct
- [ok] qt5ct plugin (Qt5): Installed
- /usr/lib/qt/plugins/platformthemes/libqt5ct.so
- [info] QT_QPA_PLATFORMTHEME_QT6: qt6ct
- [ok] qt6ct plugin (Qt6): Installed
- /usr/lib/qt6/plugins/platformthemes/libqt6ct.so
- [info] QS_ICON_THEME: Adwaita
- [info] XDG_MENU_PREFIX: Not set
**Fonts**
- [ok] Normal Font: HarmonyOS Sans SC
- Available via fontconfig
- [ok] Monospace Font: JetBrains Maple Mono
- Available via fontconfig
---
**Summary:** 0 error(s), 0 warning(s), 35 ok
### Description
Whenever the island is expanded, scrolling the mouse wheel **anywhere on the screen** triggers the bar's scroll action — for example workspace switching (or moving columns with the horizontal wheel behavior). The pointer does not need to be over the bar or the island.
This happens at least in these two cases:
1. **Notification auto-expand**: with "Expand Notifications" enabled, any incoming notification automatically expands the island, and then scrolling anywhere triggers the bar scroll action.
2. **Manually opening the island** (no setting required): this triggers even with "Expand Notifications" **disabled** — simply manually opening the island (any expanded state — notification view, media, control center, etc.) and scrolling anywhere triggers it.
### Expected Behavior
- The wheel should only trigger the bar's scroll action when the pointer is over the bar / island area.
- Scrolling elsewhere should be delivered normally to the window/app under the cursor.
### Steps to Reproduce
**A. Via notification auto-expand**
1. Enable Dank Island.
2. Turn on Settings → Island → "Expand Notifications".
3. Trigger any notification (e.g. play/switch a track, connect a device, etc.).
4. Move the pointer somewhere far away from the bar and the island.
5. Scroll the mouse wheel.
**B. Via manually opening the island (no setting required)**
1. Enable Dank Island (leaving "Expand Notifications" **off** is fine).
2. Manually open/expand the island (click the island / any face or activity).
3. Move the pointer somewhere far away from the bar and the island.
4. Scroll the mouse wheel.
Result (both): the workspace switches (or the configured scroll action fires), even though the pointer was not over the bar.
### Error Messages/Logs
_No response_
### Screenshots/Recordings
https://github.com/user-attachments/assets/de2aa0f3-63ae-4f5c-b474-bea0e071f20b
Contributor guide
Research direction
Start by reproducing the issue using the notification auto-expand and manual island expansion steps, then inspect shell.qml and the Dank Island expansion and wheel-event entry points. Done means scrolling away from the bar or island no longer triggers workspace switching or another configured bar scroll action, while scrolling over the bar or island still works.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- arch-linux
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 62/100