AvengeMedia / AvengeMedia/DankMaterialShell

DMS (the entire shell) freezes when opening large files with DMS notepad

Open
#3,435 0 comments 0 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/bin/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] Hyprland: 0.56.2
- /usr/bin/hyprland
- [ok] niri: 26.04
- /usr/bin/niri
- [ok] labwc: 0.20.2
- /usr/bin/labwc
- [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
- [warn] power-profiles-daemon: Not 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
- [ok] Network: NetworkManager
- NetworkManager present. Using NM API.
- [ok] matugen: Installed
- Dynamic theming
- [ok] cava: Installed
- Audio visualizer
- [info] khal: Not installed
- Calendar events
- [ok] danksearch: Installed
- File search
- [ok] dankcalendar: Installed
- Calendar app
- [info] fprintd: Not installed
- Fingerprint auth
- [ok] adw-gtk3: Installed
- GTK3 dynamic theming (system copy, applied on next theme apply)

**Config Files**
- [ok] settings.json: Present
- /home/anand/.config/DankMaterialShell/settings.json
- [ok] clsettings.json: Present
- /home/anand/.config/DankMaterialShell/clsettings.json
- [ok] plugin_settings.json: Present
- /home/anand/.config/DankMaterialShell/plugin_settings.json
- [ok] session.json: Present
- /home/anand/.local/state/DankMaterialShell/session.json
- [ok] dms-colors.json: Present
- /home/anand/.cache/DankMaterialShell/dms-colors.json

**Services**
- [ok] dms.service: enabled, active
- [ok] greetd: enabled

**Environment**
- [info] QT_QPA_PLATFORMTHEME: Not set
- [info] QT_QPA_PLATFORMTHEME_QT6: Not set
- [info] QS_ICON_THEME: Not set
- [info] XDG_MENU_PREFIX: Not set

**Fonts**
- [ok] Normal Font: Rubik
- Available via fontconfig
- [ok] Monospace Font: FiraCode Nerd Font
- /run/user/1000/danklinux-shell/d83248ba9119b48a/DankCommon/assets/fonts/nerd-fonts/FiraCodeNerdFont-Regular.ttf

---
**Summary:** 0 error(s), 1 warning(s), 38 ok

### Description

Opening large files (tested with a 1 MB text file) with DMS notepad freezes the entire shell. Restarting the shell/logging out then logging in doesn't work; the shell freezes after a few seconds, even without opening the notepad. This causes the shell to hang every time.
Deleting the file `~/.local/state/DankMaterialShell/notepad-session.json` and restarting the shell stops the shell from freezing.

### Expected Behavior

It should have either:
1. Handle the large file.
2. If it isn't able to handle the file, eg. the file is way too large, freeze the notepad instead of the entire shell. So there should be a separation between the shell and the notepad.

### Steps to Reproduce

1. Create a 1 MB text file.
2. Now open it using DMS notepad. The entire shell freezes.
3. Restart the shell. It still freezes.
4. Now delete the file `~/.local/state/DankMaterialShell/notepad-session.json` and restart DMS. It shouldn't freeze anymore.

### Error Messages/Logs

_No response_

### Screenshots/Recordings

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with the DMS notepad and its persisted state in ~/.local/state/DankMaterialShell/notepad-session.json, then reproduce the issue with a 1 MB text file. Confirm the fix by restarting the shell with the saved session and ensuring the shell remains responsive instead of freezing.

Written by the indexing model from the issue text.

Assessment

Tech stack
arch-linux, linux
Domain
desktop, performance
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.