AvengeMedia / AvengeMedia/DankMaterialShell

[Bug] Dank Island: scrolling anywhere triggers the bar scroll action (e.g. workspace switching) whenever the island is expanded

Open
#3,416 0 comments 2 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.