| Date | Message | Author |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | style-audit: declare this surface's opt-out from the standard root plate | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-24 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-22 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Pin workspace dependencies to GitHub, the crates' origin | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-21 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Repin workspace dependencies to their published revs | Lucas Galante |
| 2026-09-20 | Plates, bevels and drops are emitted with a Material (cce-ui RFC material, step 2b) | Lucas Galante |
| 2026-09-19 | Depend on cce-ui through git.lucas.co, so this crate builds alone | Lucas Galante |
| 2026-09-19 | test: fail when CLAUDE.md's test-count claims drift from the source | Lucas Galante |
| 2026-09-19 | docs: `make install` delegates to ccebuild, it does not copy the binary | Lucas Galante |
| 2026-09-19 | feat(stats): the backlight and the sink update on the change, not the tick | Lucas Galante |
| 2026-09-19 | fix(icons): the glyph cache belongs to the renderer, not the process | Lucas Galante |
| 2026-09-17 | readout glyphs default to the tray's 16px | Lucas Galante |
| 2026-09-16 | docs: adjust-mode clicks and expanded segments are not segment drags | Lucas Galante |
| 2026-09-16 | feat(stats): numbers beside the glyphs, all readouts in one segment | Lucas Galante |
| 2026-09-16 | feat(memory): the memory module is an icon readout, in percent | Lucas Galante |
| 2026-09-16 | feat(battery): the charging state swaps in the battery-charging glyph | Lucas Galante |
| 2026-09-16 | feat(readout): bold digits in a dark pocket cut into the glyph | Lucas Galante |
| 2026-09-16 | feat: percentage modules read out as a cce-icons glyph with the bare number on it | Lucas Galante |
| 2026-09-05 | fix: the tray bubble gets the pool every other bubble gets | Lucas Galante |
| 2026-09-02 | feat(menu): window-mode dropdown in the window module's menu | Lucas Galante |
| 2026-08-30 | docs: Escape closes menus, compositor-side like click-away | Lucas Galante |
| 2026-08-29 | style: the expanded menu is a flat glass sheet, its hover a pill | Lucas Galante |
| 2026-08-29 | fix: make_text_buffer follows cce-ui's shaping rule | Lucas Galante |
| 2026-08-29 | fix: the no-focus chip wears the standard bubble, not its own box | Lucas Galante |
| 2026-08-29 | fix: tray icons ride the text_raise lift like every text run | Lucas Galante |
| 2026-08-29 | feat: bubbles hug their live content, centered in the stable slot | Lucas Galante |
| 2026-08-28 | fix: the expanded menu's drop keeps the curvature it had collapsed | Lucas Galante |
| 2026-08-28 | style: the muted volume run drops its strikethrough | Lucas Galante |
| 2026-08-28 | docs: name the shared config keys by the pointer they resolve through | Lucas Galante |
| 2026-08-28 | docs: correct the notes the last few features left behind | Lucas Galante |
| 2026-08-28 | docs: the droplet spec's refr, ghost and shadow knobs | Lucas Galante |
| 2026-08-28 | refactor: delete text_halo and text_relief | Lucas Galante |
| 2026-08-28 | feat: the droplet bubble's vignette is the droplet's own shape | Lucas Galante |
| 2026-08-28 | feat: the pool fills the bubble rather than hugging the run | Lucas Galante |
| 2026-08-28 | feat: the scrim hugs each text run, and its color follows that run | Lucas Galante |
| 2026-08-28 | feat: module { text_scrim } — a dark feathered pool instead of an outline | Lucas Galante |
| 2026-08-28 | fix: draw the halo in whatever color the text reads against | Lucas Galante |
| 2026-08-27 | docs: the backdrop feed measures window content, not just the desktop | Lucas Galante |
| 2026-08-27 | fix: back off reconnects to a status topic the compositor does not know | Lucas Galante |
| 2026-08-27 | feat: module { text_contrast } — contrast that answers to the backdrop | Lucas Galante |
| 2026-08-25 | feat: reserve the droplet contact-shadow gap below the drop box | Lucas Galante |
| 2026-08-24 | refactor: droplet spec parsing delegates to cce-ui's shared parser | Lucas Galante |
| 2026-08-24 | feat: text_halo — full white outline around module text | Lucas Galante |
| 2026-08-24 | feat: whole-number cpu and memory readouts | Lucas Galante |
| 2026-08-24 | feat: text_relief letterpress underlay + droplet core knob | Lucas Galante |
| 2026-08-24 | feat: module { text_raise } — lift module text above vertical center | Lucas Galante |
| 2026-08-24 | feat: droplet curve knob | Lucas Galante |
| 2026-08-24 | feat: droplet bow knob | Lucas Galante |
| 2026-08-24 | feat: droplet attach knob | Lucas Galante |
| 2026-08-24 | docs: the module { droplet } config key | Lucas Galante |
| 2026-08-24 | feat: droplet module style — module { droplet } spec string | Lucas Galante |
| 2026-08-22 | fix: drop the fontconfig rung from the status font chain | Lucas Galante |
| 2026-08-22 | build: ship the systemd unit from the crate | Lucas Galante |
| 2026-08-19 | docs: close the proposal — phase 6 resolved, nothing actionable remains | Lucas Galante |
| 2026-08-18 | refactor: delete json_find_key — config lookup is explicit pointers only | Lucas Galante |
| 2026-08-18 | fix: retry the StatusNotifierWatcher name across a restart race | Lucas Galante |
| 2026-08-18 | docs: refresh CLAUDE.md for the pointer-first config layer, mark PROPOSAL done | Lucas Galante |
| 2026-08-18 | refactor: canonical pointers for light_source_position and module sides | Lucas Galante |
| 2026-08-18 | refactor: remove the dead whole-bar background chain | Lucas Galante |
| 2026-08-16 | tray: resolve theme icons through cce_ui::icon::lookup_in | Lucas Galante |
| 2026-08-14 | chore: refresh Cargo.lock against the current dependency graph | Lucas Galante |
| 2026-08-13 | deps: drop glyphon, use cce-ui's cosmic-text re-export | Lucas Galante |
| 2026-08-13 | build: drop the unused raw-window-handle declaration | Lucas Galante |
| 2026-08-13 | build: drop the wgpu and bytemuck declarations this crate never used | Lucas Galante |
| 2026-08-13 | docs: point at the relocated workspace guide | Lucas Galante |
| 2026-08-13 | build: install via ccebuild instead of hand-listing binaries | Lucas Galante |
| 2026-08-10 | feat: window mode moves from the strip readout into the module menu | Lucas Galante |
| 2026-08-10 | refactor: remove the layout-mode menu and viewport plumbing | Lucas Galante |
| 2026-08-10 | refactor: remove the viewport tabs | Lucas Galante |
| 2026-08-10 | feat: read the viewport payload's explicit active field | Lucas Galante |
| 2026-08-10 | fix: dedup viewport pushes on parsed content, not the raw payload | Lucas Galante |
| 2026-08-08 | feat: dim 'no focus' chip in the window module | Lucas Galante |
| 2026-08-06 | refactor: drop the shared status_box_corner_radius fallback | Lucas Galante |
| 2026-08-06 | feat: light module circle wears the module-box fill (sphere-lit when raised) | Lucas Galante |
| 2026-08-06 | feat: light module is an empty circle; radians value moves to its menu | Lucas Galante |
| 2026-08-06 | feat: close in-surface menu on click-away (compositor dismiss push) | Lucas Galante |
| 2026-08-05 | feat: animate in-surface menu expansion/contraction | Lucas Galante |
| 2026-08-05 | fix: expanded menu is the module box grown, not a detached plate | Lucas Galante |
| 2026-08-05 | docs: strip-band click routing fixed (cce-fx@74a0f75), drop the wart note | Lucas Galante |
| 2026-08-05 | feat: window picker and layout menu in-surface — cce-cloud fully retired here | Lucas Galante |
| 2026-08-05 | feat: tray icon DBusMenus render in-surface too | Lucas Galante |
| 2026-08-05 | fix: collapse the surface height when the in-surface menu closes | Lucas Galante |
| 2026-08-05 | feat: module right-click menus render in-surface, replacing cce-cloud popups | Lucas Galante |
| 2026-08-05 | refactor: remove the dead separator machinery | Lucas Galante |
| 2026-08-05 | feat: module { text_color } app-config key | Lucas Galante |
| 2026-08-05 | feat: module { background_color } app-config key | Lucas Galante |
| 2026-08-05 | feat: module { font } app-config key | Lucas Galante |
| 2026-08-05 | feat: module { font_size } app-config key | Lucas Galante |
| 2026-08-05 | feat: module { padding } app-config key | Lucas Galante |
| 2026-08-05 | feat: module { height } app-config key | Lucas Galante |
| 2026-08-05 | docs: module { spacing } in the config section | Lucas Galante |
| 2026-08-05 | feat: module { spacing } app-config key | Lucas Galante |
| 2026-08-05 | docs: per-app config file in the config section | Lucas Galante |
| 2026-08-05 | feat: per-app config file, starting with module { corner_radius } | Lucas Galante |
| 2026-08-04 | fix: quantize the window module's title-mode width to 24px steps | Lucas Galante |
| 2026-08-04 | fix: stat modules size to a widest-plausible template, not the live text | Lucas Galante |
| 2026-08-04 | feat: configurable bevel effect on the module boxes | Lucas Galante |
| 2026-07-17 | perf: only redraw a status module when its displayed value changes | Lucas Galante |
| 2026-07-14 | chore: refresh stale crate-local Cargo.lock | Lucas Galante |
| 2026-07-14 | fix: center module text vertically in the bar | Lucas Galante |
| 2026-07-13 | refactor: remove monolithic mode and app-side super+drag reordering | Lucas Galante |
| 2026-07-13 | feat: exponential restart backoff in the launcher daemon (proposal phase 6) | Lucas Galante |
| 2026-07-13 | refactor: port popups to cce_ui::process::CloudPopup{,Tracker} (proposal phase 4) | Lucas Galante |
| 2026-07-13 | refactor: structured ccectl consumption — JSON windows, direct SIGTERM, adjust-mode query (proposal phase 3) | Lucas Galante |
| 2026-07-13 | refactor: unify logging on log:: macros (proposal phase 5) | Lucas Galante |
| 2026-07-13 | refactor: config keys to explicit JSON pointers, gamma via cce-ui (proposal phase 2) | Lucas Galante |
| 2026-07-13 | refactor: split main.rs into tray/cloud/stats/config/listeners modules (proposal phase 1) | Lucas Galante |
| 2026-07-13 | test: characterization tests for parsing, config lookup, and module sides (proposal phase 0) | Lucas Galante |
| 2026-07-13 | docs: add CLAUDE.md and the cleanup proposal | Lucas Galante |
| 2026-07-12 | refactor: Element -> WidgetHost (cce-ui 6bd flip) | Lucas Galante |
| 2026-07-10 | feat: whole frame via display_list (Phase 6ak) — off the legacy view*/text_items path; LAST app across | Lucas Galante |
| 2026-07-09 | chore: StatusBar/PreviewState -> Adapted<W> (cce-ui Phase 5t migration) | Lucas Galante |
| 2026-07-08 | refactor: adapt Separator usage to the cce-ui Phase 5 migration | Lucas Galante |
| 2026-07-07 | refactor(switcher): delegate keyboard switcher to the compositor | Lucas Galante |
| 2026-07-07 | refactor: use cce_ui::color hex parser instead of a local copy | Lucas Galante |
| 2026-07-07 | refactor: use cce_ui::config::cached_config instead of local CONFIG_CACHE | Lucas Galante |
| 2026-07-07 | chore: remove one-off debug/inspection bins from src/bin | Lucas Galante |
| 2026-07-07 | refactor: route config/fontconfig paths through cce_ui XDG helpers | Lucas Galante |
| 2026-07-06 | Optimize light source position getter by using cached config JSON in modules.rs | Lucas Galante |
| 2026-07-06 | Optimize config file reading by implementing global config caching and accessor reuse | Lucas Galante |
| 2026-07-05 | Merge ViewportModule and WindowModule for viewport tab rendering and click interaction | Lucas Galante |
| 2026-07-03 | Support loading status bar module snap positions from KDL layout configuration | Lucas Galante |
| 2026-07-03 | Robustify is_vertical by checking window height/width against status bar thickness | Lucas Galante |
| 2026-07-03 | Stabilize orientation detection using previous state fallback for small/empty status modules | Lucas Galante |
| 2026-07-03 | Synchronize adjust mode state using /tmp/cce-status-adjust-mode lockfile | Lucas Galante |
| 2026-07-03 | Support adjust-position-mode, context menu update, vertical rendering, and click/movement coordinate swapping | Lucas Galante |
| 2026-07-03 | Add Hide Modules toggle to context menu and trigger status hide mode | Lucas Galante |
| 2026-07-03 | Pass parent app ID to cce-cloud context menu | Lucas Galante |
| 2026-07-02 | Refactor ScrollingList to List and fix window decoration blur and styling | Lucas Galante |
| 2026-06-29 | Rename desktop_background to desktop_background_color | Lucas Galante |
| 2026-06-29 | Update Makefile to install binary to both cce-status and cce-status-interface | Lucas Galante |
| 2026-06-29 | Extract font size from status_font config key if present to support custom status bar font size | Lucas Galante |
| 2026-06-29 | Remove temporary test_kdl_syntax test | Lucas Galante |
| 2026-06-29 | Support automatic hot-reloading of config.kdl changes in cce-status | Lucas Galante |
| 2026-06-29 | Support recursive layout lookup of status background_color and background_blur, and parse linear alpha from HEX color string | Lucas Galante |
| 2026-06-29 | Transition from JSON to KDL format configuration | Lucas Galante |
| 2026-06-28 | Rename project to cce-status and update code references | Lucas Galante |
| 2026-06-27 | Fix status box backplate backdrop blur effect | Lucas Galante |
| 2026-06-26 | refactor: remove status underline drawing logic | Lucas Galante |
| 2026-06-26 | status-interface: parse and use unique window IDs in switcher and focus restoration | Lucas Galante |
| 2026-06-26 | Apply background opacity and blur dynamically to module backgrounds | Lucas Galante |
| 2026-06-25 | Always use app_id instead of title in window switcher and focus restoration | Lucas Galante |
| 2026-06-25 | Prioritize unique app_id over dynamic title in window switching and focus restore | Lucas Galante |
| 2026-06-25 | Implement system tray submenus using multipage json clear-cloud and focus restoration | Lucas Galante |
| 2026-06-25 | Restore window focus to previously active window when layout or context menus close | Lucas Galante |
| 2026-06-25 | Implement right-click module context menus using clear-cloud | Lucas Galante |
| 2026-06-25 | Combine window title and window layout modules into a single window module | Lucas Galante |
| 2026-06-25 | Keep stable window order and use -s to pre-select target window in switcher | Lucas Galante |
| 2026-06-24 | Rename tags to viewport and refactor parser to extract text from JSON | Lucas Galante |
| 2026-06-24 | refactor: modernize and systematize workspace logging | Lucas Galante |
| 2026-06-24 | main: parse focused window and sort it to the front of the switcher list | Lucas Galante |
| 2026-06-24 | feat: trigger select-and-close via stdin command on super release modifier update | Lucas Galante |
| 2026-06-24 | fix: inherit stderr for spawned clear-cloud processes to capture logs in cce.log | Lucas Galante |
| 2026-06-24 | feat: implement Unix socket trigger, title click and channel-based stdin switcher integration | Lucas Galante |
| 2026-06-24 | Enforce single-instance constraint for cce-cloud dialogs and menus | Lucas Galante |
| 2026-06-24 | Add debugging coordinate prints for system tray clicks | Lucas Galante |
| 2026-06-24 | Revert coordinate scaling for popup menus | Lucas Galante |
| 2026-06-24 | Scale popup coordinates by display scale factor for HiDPI positioning | Lucas Galante |
| 2026-06-24 | feat: read and apply status_module_spacing configuration | Lucas Galante |
| 2026-06-24 | Draw tray icons in overlay_rects to render on top of the rounded background container | Lucas Galante |
| 2026-06-24 | Allow TrayModule to display standard box background container | Lucas Galante |
| 2026-06-24 | Implement dynamic module sizing and rendering using status_padding | Lucas Galante |
| 2026-06-24 | Refactor status bar modules into component-based structure using StatusModule trait | Lucas Galante |
| 2026-06-23 | Switch status box background color from spinbox preset index to custom hex string | Lucas Galante |
| 2026-06-23 | refactor: remove legacy cce-tags fallback, compute active tag quadrant from camera position | Lucas Galante |
| 2026-06-20 | feat(status): parse desktop_background key for background color | Lucas Galante |
| 2026-06-19 | Clean up compiler warnings | Lucas Galante |
| 2026-06-18 | Migrate configuration from TOML to JSON | Lucas Galante |
| 2026-06-17 | refactor: rename socket files and update logging paths to remove 'client' and 'clear-' | Lucas Galante |
| 2026-06-15 | Draw window title using configured status font family and size | Lucas Galante |
| 2026-06-15 | Disable fullscreen and update install target to use workspace target directory | Lucas Galante |
| 2026-06-13 | Refactor status interface and UI rendering logic | Lucas Galante |
| 2026-06-09 | Refactor and adapt widgets to use UiContext and scale factor | Lucas Galante |
| 2026-06-06 | Update clear-status-interface to adapt to Element trait refactoring (modified: src/main.rs) | Lucas Galante |
| 2026-06-05 | feat: support configured opacity and generic font families in text buffer | Lucas Galante |
| 2026-06-03 | Update and align interface features | Lucas Galante |
| 2026-06-02 | Update system configuration and interface modules | Lucas Galante |
| 2026-06-01 | Refactor status-interface to use clear-ui's strongly-typed LogicalPosition and LogicalSize | Lucas Galante |
| 2026-06-01 | Implement status separators, padding, brightness stat, change config path to ccec, and prevent crash during drop | Lucas Galante |
| 2026-05-28 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-26 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-26 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-26 | Read desktop background color from config.toml dynamically | Lucas Galante |
| 2026-05-26 | style: replace volume speaker emoji with Vol prefix and track mute flag explicitly | Lucas Galante |
| 2026-05-26 | refactor: use shared TextItem and StyledLabel from clear-ui library | Lucas Galante |
| 2026-05-26 | style: draw strikethrough over whole volume module text (including emoji) when muted | Lucas Galante |
| 2026-05-26 | feat: draw strikethrough line over volume module when muted | Lucas Galante |
| 2026-05-25 | Update system configuration and interface modules | Lucas Galante |
| 2026-05-25 | Migrate from winit to smithay-client-toolkit and calloop | Lucas Galante |
| 2026-05-24 | Implement interactive tag clicking, refactor status elements with Label helper, and optimize CPU by removing infinite redraw loop | Lucas Galante |
| 2026-05-24 | Update components and system settings | Lucas Galante |
| 2026-05-23 | Refactor status interface and main loop | Lucas Galante |
| 2026-05-23 | feat: add D-Bus status tray (system tray) support | Lucas Galante |
| 2026-05-23 | Configure window to be borderless fullscreen and position widgets in top bar | Lucas Galante |
| 2026-05-23 | Initial commit: clear-status-interface skeleton | Lucas Galante |