mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-30 23:17:51 -04:00
* fix(settings): show what frame mode controls With frame mode on, many settings did nothing or were hidden while still applying, and nothing said so. The frame takes its color and opacity from the first non-island bar, but that bar's Surface card is hidden while the frame styles it, so neither had a visible control. Add Background and Override/Opacity rows to the Appearance Frame card, bound to the same frame bar the renderer reads. Settings the frame provides in connected mode get a "Managed by Frame in Connected Mode" note (Interface style border, corner style, background blur and dock opacity, shadow targets, launcher border); settings with no effect get "Disabled by Frame Mode" (maximize detection, bar shadow, the bar's overlay layer in separate mode). Bar size, the bar's overlay layer in connected mode, dock Over fullscreen and the controls of overlay-layer docks and launchers are shown again, since they still apply. Notification Over fullscreen shows as forced on when the frame covers every display, and launcher rows the Spotlight style ignores are disabled. Also relabel the frame Width row as Thickness, raise the inset padding maximum to its automatic range, and drop a FrameWindow handler for the removed frameOpacity signal. No new strings. * settings: show what frame mode controls, fix review findings --------- Co-authored-by: purian23 <[email protected]>
DankMaterialShell Translations
This directory contains translation files for DankMaterialShell extracted from all qsTr() calls in the QML codebase.
Files
- en.json - Source language file with English strings and file references
- template.json - Empty template for creating new translations
- extract_translations.py - Script to regenerate translation files
POEditor Format
The JSON files follow POEditor's import format:
[
{
"term": "string to translate",
"context": "file:line",
"reference": "Modules/Settings/AboutTab.qml:45",
"comment": ""
}
]
Field Descriptions
- term: The source string in English (from qsTr() calls)
- context: Primary location where the string appears (file:line)
- reference: All locations where this string is used (comma-separated)
- comment: Additional notes for translators (currently empty)
How to Create a New Translation
- Copy
template.jsonto your language code (e.g.,es.jsonfor Spanish) - Fill in the
translationfield for each entry:{ "term": "Settings", "translation": "Configuración", "context": "Modals/Settings/SettingsModal.qml:147", "reference": "Modals/Settings/SettingsModal.qml:147", "comment": "" } - Import to POEditor or use directly in your translation workflow
Regenerating Translation Files
To update the translation files after code changes:
cd /home/brandon/.config/quickshell/DankMaterialShellGit/translations
./extract_translations.py
This will scan all QML files and regenerate en.json and template.json.
Notes
- Strings are deduplicated - if the same string appears in multiple locations, references are merged
- File paths are relative to the project root
- Line numbers are preserved for accurate context
- Empty strings and comments are reserved for translator notes