Skip to content

bar: add custom entries#1453

Open
ratataque wants to merge 1 commit into
caelestia-dots:mainfrom
ratataque:bar-custom-entries
Open

bar: add custom entries#1453
ratataque wants to merge 1 commit into
caelestia-dots:mainfrom
ratataque:bar-custom-entries

Conversation

@ratataque
Copy link
Copy Markdown

Summary

  • Add support for custom bar entries loaded from bar.entries[].source.
  • Preserve custom entry source values when saving taskbar settings from the control center.

Usage

Users can add a custom bar item in ~/.config/caelestia/shell.json:

{
  "id": "custom",
  "enabled": true,
  "source": "file:///home/user/.config/caelestia/components/MyWidget.qml"
}

Verification

  • Ran python3 scripts/qml-lint-conventions.py modules/bar/Bar.qml modules/controlcenter/taskbar/TaskbarPane.qml
  • Ran git diff --check
  • Ran cmake --build build
  • Runtime-tested with a config-side custom ZMK battery widget.

Load custom bar entries from bar.entries source URLs and preserve those sources when saving taskbar settings.
Copilot AI review requested due to automatic review settings May 5, 2026 14:55
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the bar/taskbar configuration so a bar entry can load a user-provided QML component via a bar.entries[].source URL, and ensures the control center doesn’t drop that source field when re-saving taskbar settings.

Changes:

  • Add a "custom" bar entry delegate that loads its UI via Loader.source resolved from bar.entries[].source.
  • Update the control center taskbar pane model and save logic to round-trip an entry’s source value.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
modules/controlcenter/taskbar/TaskbarPane.qml Persist entries[].source through the control center’s entries model and save path.
modules/bar/Bar.qml Add helper functions and a DelegateChoice for "custom" entries to load external QML via source.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread modules/controlcenter/taskbar/TaskbarPane.qml
Comment thread modules/controlcenter/taskbar/TaskbarPane.qml
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.

2 participants