AvengeMedia / AvengeMedia/DankMaterialShell
DMS (the entire shell) freezes when opening large files with DMS notepad
- 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
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