Skip to content

fix: reach the shell palette through Commons.Color - #67

Merged
elberacasa merged 1 commit into
nextfrom
fix/qualify-commons-color
Oct 11, 2026
Merged

elberacasa merged 1 commit into
nextfrom
fix/qualify-commons-color

Conversation

@elberacasa

Copy link
Copy Markdown
Owner

Qt 6.12 adds a Color type to QtQuick. In any QML file that imports both QtQuick and qs.Commons, a bare Color.menu.text then resolves to Qt's type instead of the shell's palette singleton, and the overlay loses its theme colors.

Omarchy moved its own shell to an aliased import in omacom/omarchy@b83d3df and documents the same change for third-party plugins (docs/omarchy-shell.md, "Theme tokens"): fixing the host shell does not change a plugin's import scope. Omarchy's temporary workaround that pins QtQuick imports to 6.11 (omacom/omarchy@51717f1) buys time but is not the documented path.

Changes

  • All 110 palette references across 8 overlay files become Commons.Color.*, with import qs.Commons as Commons beside the existing import.
  • PixelMark.qml used nothing else from qs.Commons, so it keeps only the aliased import. The other files still use Style, Util or Border unqualified, as Omarchy's guide allows.
  • No bare Color. reference is left in plugin/.

Checks

The aliased import is plain QML, so this works on today's Qt 6.11 as well as 6.12.

  • In a throwaway Quickshell config built on the installed Omarchy Commons and Ui modules (Qt 6.11.2, Quickshell 0.3.1), this branch and next behave the same:
    • PixelMark, Icon, DpiTrack, SensitivityPanel, ActionLibrary and DeviceCanvas instantiate with no binding warnings.
    • Indicator and Omalogi compile. They are not created because they start the helper.
    • Commons.Color resolves to the theme's palette.
  • The 54 plugin and script tests pass, and the manifest check passes.

🤖 Generated with Claude Code

Qt 6.12 adds a Color type to QtQuick that shadows the shell's Color
singleton for any file that refers to it unqualified. Omarchy moved its
own QML to an aliased qs.Commons import and asks plugins to do the
same; this changes all 110 references in the overlay.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@elberacasa
elberacasa force-pushed the fix/qualify-commons-color branch from 1350843 to 435c89b Compare October 11, 2026 00:36
@elberacasa
elberacasa merged commit 63678cf into next Oct 11, 2026
6 checks passed
@elberacasa
elberacasa deleted the fix/qualify-commons-color branch October 11, 2026 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant