Skip to content

feat(bar): add interactive calendar popout with event management - #1978

Closed
Swastik36 wants to merge 3 commits into
caelestia-dots:mainfrom
Swastik36:feat/calendar-popout
Closed

Swastik36 wants to merge 3 commits into
caelestia-dots:mainfrom
Swastik36:feat/calendar-popout

Conversation

@Swastik36

@Swastik36 Swastik36 commented Sep 8, 2026 •

Copy link
Copy Markdown

Summary

Adds an interactive calendar popout to the bar clock with event management and smooth multi-day selection.

Changes

  • Calendar popout & range selection: Interactive month view with smooth Bezier wave pill connecting multi-day date ranges.
  • Dual-buffer carousel: Role-swap month navigation eliminating layout shifts and blank frames during rapid paging.
  • Event management: Inline form to add, edit, and delete events, persisted locally at ~/.config/caelestia/events.json with timezone safety.
  • Accessibility & keyboard nav: Tab focus, Enter/Space button triggers, and accessible labels.

@Swastik36
Swastik36 force-pushed the feat/calendar-popout branch 3 times, most recently from be25e17 to 84bd7ec Compare September 8, 2026 16:14
@dxnnv dxnnv added the enhancement Feature request label Sep 9, 2026
@Swastik36
Swastik36 force-pushed the feat/calendar-popout branch 4 times, most recently from 8d1b669 to e7a552f Compare September 16, 2026 15:48
…ontrols

- Add internalChecked state and toggle logic to ButtonBase
- Support activeFocusOnTab, KeyNavigation, and Keys event handling
- Add Accessible.name properties to IconButton and TextButton
…tence

- Add Events singleton service managing JSON storage at ~/.config/caelestia/events.json
- Implement event persistence, reminder notifications, and two-pass merge
- Load Events service on startup in ServiceLoader.qml
- Add interactive calendar popout component in modules/bar/popouts/Calendar.qml
- Support multi-day wave selection, parallel transitions, and event creation/editing
- Integrate with Units.twelveHourClock for 12/24-hour time formatting
- Route bar click and hover actions in Bar.qml to clock popout
- Connect dashboard calendar grid with shared Events service
@Swastik36
Swastik36 force-pushed the feat/calendar-popout branch from 9a0c8ef to 45762d1 Compare October 15, 2026 10:12
@Swastik36

Copy link
Copy Markdown
Author

Closing this pull request in favor of the Caelestia plugin system architecture (PR #1703).

This functionality has been decoupled into an independent, standalone Caelestia plugin () with full recurring event management, i18n support, and adherence to QML convention guidelines. Decoupling this keeps the core shell lean.

@Swastik36 Swastik36 closed this Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Feature request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants