Files
DankMaterialShell/quickshell/translations
Marlon Kranzandpurian23 6d331b8fde fix(settings): show what frame mode controls (#3654)
* 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]>
2026-10-10 00:37:54 -04:00
..
2026-10-05 14:45:34 -04:00
2026-10-05 14:45:34 -04:00
2025-11-12 17:18:45 -05:00
2025-11-12 17:18:45 -05:00
2026-10-05 14:45:34 -04:00
2025-11-12 17:18:45 -05:00

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

  1. Copy template.json to your language code (e.g., es.json for Spanish)
  2. Fill in the translation field for each entry:
    {
      "term": "Settings",
      "translation": "Configuración",
      "context": "Modals/Settings/SettingsModal.qml:147",
      "reference": "Modals/Settings/SettingsModal.qml:147",
      "comment": ""
    }
    
  3. 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