Skip to content

DankDash can't be opened by a plugin if a clock widget is not present in DankBar #1601

@Merlin04

Description

@Merlin04

Compositor

  • Niri
  • Hyprland
  • MangoWC (dwl)
  • Sway

Distribution

  • Arch Linux
  • CachyOS
  • Fedora
  • NixOS
  • Debian
  • Ubuntu
  • Gentoo
  • OpenSUSE
  • Other (specify below)

If Other, please specify

No response

dms doctor -v

                                  
██████╗  █████╗ ███╗   ██╗██╗  ██╗
██╔══██╗██╔══██╗████╗  ██║██║ ██╔╝
██║  ██║███████║██╔██╗ ██║█████╔╝ 
██║  ██║██╔══██║██║╚██╗██║██╔═██╗ 
██████╔╝██║  ██║██║ ╚████║██║  ██╗
╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝  ╚═╝

 System Health Check
                    
──────────────────────────────────────

  System
    ● Operating System ····· openSUSE Tumbleweed
      └─ ID: opensuse-tumbleweed, Version: 20260131, Arch: amd64
    ● Architecture ········· amd64
    ● Display Server ······· Wayland
      └─ WAYLAND_DISPLAY=wayland-1

  Versions
    ● DMS CLI ·············· dms v1.2.3
      └─ /usr/bin/dms
    ● Quickshell ··········· quickshell 0.2.1, revision 26531fc46ef17e9365b03770edd3fb9206fcb460, distributed by: Unset
      └─ /usr/bin/qs
    ● DMS Shell ············ 1.2.3
      └─ /usr/share/quickshell/dms

  Installation
    ● DMS Configuration ···· Found
      └─ /usr/share/quickshell/dms
    ● shell.qml ············ Present
      └─ /usr/share/quickshell/dms/shell.qml
    ○ Install Type ········· System package
      └─ /usr/share/quickshell/dms

  Compositor
    ● Hyprland ············· Hyprland usage: Hyprland [arg [...]].

Arguments:
--help         -h | Show this help message
--config       -c | Specify config file to use
      └─ /usr/local/bin/Hyprland
    ● niri ················· 25.11
      └─ /usr/bin/niri
    ● Wayfire ·············· 0.10.1-unknown (Dec  5 2025) branch unknown wlroots-0.19.2
      └─ /usr/bin/wayfire
    ○ Active ··············· niri

  Quickshell Features
    ● Polkit ··············· Available
      └─ Authentication prompts
    ● IdleMonitor ·········· Available
      └─ Idle detection
    ● IdleInhibitor ········ Available
      └─ Prevent idle/sleep
    ● ShortcutInhibitor ···· Available
      └─ Allow shortcut management (niri)

  Optional Features
    ● accountsservice ······ Available
      └─ User accounts
    ● power-profiles-daemon  Available
      └─ Power profile management
    ● logind ··············· Available
      └─ Session management
    ○ I2C/DDC ·············· No monitors detected
      └─ External monitor brightness control
    ● Terminal ············· ghostty
    ● Network ·············· NetworkManager
      └─ NetworkManager present. Using NM API.
    ● matugen ·············· Installed
      └─ Dynamic theming
    ● dgop ················· Installed
      └─ System monitoring
    ● cava ················· Installed
      └─ Audio visualizer
    ○ khal ················· Not installed
      └─ Calendar events
    ● danksearch ··········· Installed
      └─ File search
    ● fprintd ·············· Installed
      └─ Fingerprint auth

  Config Files
    ● settings.json ········ Present
      └─ /home/me/.config/DankMaterialShell/settings.json
    ● clsettings.json ······ Present
      └─ /home/me/.config/DankMaterialShell/clsettings.json
    ● plugin_settings.json · Present
      └─ /home/me/.config/DankMaterialShell/plugin_settings.json
    ● session.json ········· Present
      └─ /home/me/.local/state/DankMaterialShell/session.json
    ● dms-colors.json ······ Present
      └─ /home/me/.cache/DankMaterialShell/dms-colors.json

  Services
    ● dms.service ·········· enabled, active
    ● greetd ··············· enabled

  Environment
    ○ QT_QPA_PLATFORMTHEME · qt5ct
    ○ QS_ICON_THEME ········ Not set

  ──────────────────────────────────────
  ✓ All checks passed!

Description

I've written a plugin (custom clock widget) that uses the popoutService to open DankDash:

pillClickAction: (x, y, width, section, screen) => {
    popoutService?.toggleDankDash(0, x, y, width, section, screen);
}

However, this only works if I have the stock clock widget in my DankBar, or if I have run dms ipc call dash open "" at some point during the session. Otherwise, clicking the custom widget doesn't do anything.

Expected Behavior

Plugins should be able to open DankDash, whether or not there's a stock clock widget in the DankBar.

Steps to Reproduce & Installation Method

  1. Create a simple custom widget plugin that has the above pillClickAction in it (you can just copy it into an existing example bar plugin)
  2. Add it to your DankBar, and remove any clock widget
  3. Restart DMS
  4. Try clicking the custom widget

Error Messages/Logs

No response

Screenshots/Recordings

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions