Skip to content

dms notify freezes entire shell when passing in path to JPEG XL file with --file or --icon #1962

Description

@Morxemplum

Compositor

labwc

Distribution

CachyOS

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: CachyOS
    • ID: cachyos, Version: rolling, Arch: amd64
  • [ok] Architecture: amd64
  • [ok] Display Server: Wayland
    • WAYLAND_DISPLAY=wayland-0

Versions

  • [ok] DMS CLI: dms v1.4.3
    • /usr/bin/dms
  • [ok] Quickshell: quickshell 0.2.1, revision dacfa9de829ac7cb173825f593236bf2c21f637e, distributed by: CachyOS Linux
    • /usr/sbin/qs
  • [ok] DMS Shell: v1.4.3
    • /usr/share/quickshell/dms

Installation

  • [ok] DMS Configuration: Found
    • /usr/share/quickshell/dms
  • [ok] shell.qml: Present
    • /usr/share/quickshell/dms/shell.qml
  • [info] Install Type: System package
    • /usr/share/quickshell/dms

Compositor

  • [ok] Hyprland: 0.54.1
    • /usr/sbin/hyprland
  • [ok] Wayfire: wayfire: error while loading shared libraries: libwf-config.so.1: cannot open shared object file: No such file or directory
    • /usr/local/bin/wayfire
  • [ok] labwc: 0.9.5
    • /usr/sbin/labwc
  • [info] Active: labwc:wlroots

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)

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
  • [ok] I2C/DDC: 2 monitor(s) detected
    • External monitor brightness control
  • [ok] qt6-imageformats: Installed (5 formats)
    • Formats: WebP, TIFF, GIF, JP2, ICNS (/usr/lib/qt6/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
  • [ok] Network: NetworkManager
    • NetworkManager present. Using NM API.
  • [ok] matugen: Installed
    • Dynamic theming
  • [ok] dgop: Installed
    • System monitoring
  • [ok] cava: Installed
    • Audio visualizer
  • [info] khal: Not installed
    • Calendar events
  • [info] danksearch: Not installed
    • File search
  • [info] fprintd: Not installed
    • Fingerprint auth

Config Files

  • [ok] settings.json: Present
    • /home/morxemplum/.config/DankMaterialShell/settings.json
  • [info] clsettings.json: Not yet created
    • /home/morxemplum/.config/DankMaterialShell/clsettings.json
  • [info] plugin_settings.json: Not yet created
    • /home/morxemplum/.config/DankMaterialShell/plugin_settings.json
  • [ok] session.json: Present
    • /home/morxemplum/.local/state/DankMaterialShell/session.json
  • [ok] dms-colors.json: Present
    • /home/morxemplum/.cache/DankMaterialShell/dms-colors.json

Services

  • [warn] dms.service: Disabled
  • [info] greetd: Not installed
    • Optional greeter service

Environment

  • [info] QT_QPA_PLATFORMTHEME: qt6ct
  • [info] QS_ICON_THEME: Not set

Summary: 0 error(s), 1 warning(s), 30 ok

Description

I'm hoping the compositor isn't relevant here, because I am using labwc and I understand support for it is new around the block.

I'm making a custom shell script where I am using DMS's screenshot utility, but I am replacing the saved PNG file with a JPEG XL instead for file space reasons. Since I am deleting the original PNG file, the default notification really doesn't serve its intended purpose and I am making a custom notification with the right file name, and even try and add rich functionality by allowing myself to easily open the captured screenshot and the folder it is in, as this is how dms notify works with the --file flag.

However, by passing a JPEG XL file, the entire shell freezes and becomes unresponsive, forcing me to restart the shell completely.

Upon further testing, I notice this happens with any JPEG XL file when I just run the notify command.

Expected Behavior

What I was hoping was that when dms notify ran, it would pop up with the notification telling me I captured a screenshot, and it would directly link to the JPEG XL file, allowing me to open the image itself or open the folder it's in.

Steps to Reproduce

  1. Make sure you are running on DMS.
  2. Download or create a JPEG XL image and have it anywhere
  3. Open a terminal and navigate to the directory containing your JPEG XL.
  4. Run dms notify "My JPEG XL File!" --file [[NAME OF YOUR JPEG XL FILE]]

Error Messages/Logs

I tried to figure out what the problem is by running the debug server, and hoping QuickShell would give me some sort of error that might be happening, but the debug server doesn't tell me anything.

Screenshots/Recordings

Screenshot in progress

Image

Post-screenshot. DMS Freezes attempting to notify that the screenshot was made

Image

Proof This Bug Doesn't Happen with a PNG

Image

When using a JPEG XL file, I get a freeze every single time

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions