Commit graph

1940 commits

Author SHA1 Message Date
ce5e3b6eca fix: drop iced_winit/single-instance feature ref
Upstream dc84488c "fix(iced): double IME commit on GNOME desktop" wires
the libcosmic single-instance feature through iced_winit/single-instance,
but our pinned iced fork (yoda-wayland-only @ 81639935) does not carry
that feature yet. Drop the ref so libcosmic-yoda compiles after rebase;
the GNOME IME fix needs to be ported separately into the iced submodule
before this can be reinstated.

Leyoda 2026 – GPLv3
2026-07-02 18:35:50 +02:00
2c91d818c9 yoda: use local dbus settings bindings 2026-07-02 18:35:50 +02:00
9512f77a58 feat(flex_row): reorderable rows with shadow constant gated (squashed)
Squash of 2 yoda commits:
- 7dd0ee83 feat: reorderable flex row
- b1b8203a fix: gate reorderable flex row shadow constant
2026-07-02 18:35:50 +02:00
4e1080108c yoda: warning cleanup sweep (dead code + clippy --fix) (squashed)
Squash of 4 yoda commits:
- 84437e21 yoda: libcosmic-yoda dead-code purge (14->0 warnings)
- 999db0a4 yoda: cosmic-theme cleanup (4->0 warnings) — workspace at 0 warnings total
- 4743bb8e yoda: cargo clippy --fix on libcosmic-yoda (115->33 warnings)
- 675f3b59 chore: reduce local stack warnings
2026-07-02 18:35:50 +02:00
c85efc6180 yoda: bump iced submodule + cargo auto-fix sweeps (squashed)
Squash of 6 yoda commits:
- 282813c8 yoda: bump iced -> window_clipboard via public Forgejo fork
- cdf34938 yoda: cargo fix --lib (libcosmic-yoda) — drop 99 trivial warnings
- 38a988cb yoda: cargo fix on cosmic-config + bump iced auto-fix commit
- 301bbf6e yoda: bump iced submodule -> iced_winit warning cleanup (0 left)
- b94c03d9 yoda: bump iced submodule -> iced_widget cleanup (0 left)
- a9492d76 yoda: bump iced submodule -> all iced crates at 0 warnings
2026-07-02 18:35:21 +02:00
7c0b3ff1b7 feat(cosmic-theme): add apply_gtk_decoration_layout helper
Writes the gtk-decoration-layout key to ~/.config/gtk-{3,4}.0/settings.ini
and best-effort updates GNOME's button-layout GSettings key for apps that
still consult it. Factors out write_gtk_settings_key for reuse.

Leyoda 2026 – GPLv3
2026-07-02 18:35:00 +02:00
695c602ba1 yoda: bump iced submodule (Wayland-only + softbuffer cuts) (squashed)
Squash of 3 yoda commits:
- c118f5a2 yoda: bump iced submodule ref -> yoda-wayland-only HEAD 8f6be798
- 388e0655 yoda: bump iced submodule -> softbuffer + window_clipboard cuts
- 9b2a3643 Update iced warning fixes
2026-07-02 18:35:00 +02:00
45eaaf1605 yoda: fork pivot — Wayland-only + ungate winit + soft-fork libcosmic-yoda (squashed)
Squash of 7 yoda commits forming the fork pivot:
- 255cf7cc rename: libcosmic -> libcosmic-yoda (fork 0.1.0-yoda)
- 8701aa31 feat(yoda): Wayland-only cut — drop winit and x11 features
- 6736a596 yoda: soft-fork pivot — keep Cargo name 'libcosmic' for dep unification
- 3e23d087 yoda: re-apply hard rename — libcosmic -> libcosmic-yoda (0.1.0-yoda)
- aec3eb61 yoda: ungate remaining winit+wayland combined cfgs
- 8ab7b158 yoda-v2: color_picker Theme ref + context_menu/menu ungate winit
- 8d1d8739 yoda: drop x11 defaults on iced_winit + iced_tiny_skia
2026-07-02 18:34:50 +02:00
261a211647 header_bar: add WindowControlsPosition (macOS-style left controls)
Adds a new public enum `WindowControlsPosition { Start, End }` and a
matching field on `HeaderBar`, allowing window controls (close / minimize
/ maximize) to be packed on the start side of the headerbar (macOS
style, icon order close → minimize → maximize) instead of the default
end side (Linux / GNOME style, minimize → maximize → close).

Wiring:
- `crate::widget::WindowControlsPosition` re-exported alongside
  `HeaderBar`.
- `HeaderBar::controls_position(Option<WindowControlsPosition>)` setter;
  when left unset, falls back to `crate::config::window_controls_position()`
  (reads `CosmicTk.window_controls_position`), mirroring how `density`
  falls back to `header_size()`.
- New `CosmicTk.window_controls_position` field with default `End` for
  backwards compatibility; serde-friendly enum so existing configs keep
  working via `#[serde(default)]` semantics.

Tested with cosmic-yoterm, cosmic-settings, cosmic-edit, cosmic-files
rebuilt against this libcosmic via a local `[patch]` override. Config
changes picked up live through the existing cosmic-config subscription.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-07-02 18:28:43 +02:00
b7c81907ba feat(segmented_button): on_double_click + internal tab reorder (squashed)
Squash of 2 yoda commits:
- 108441ef segmented_button: add on_double_click callback
- a322516f segmented_button: fix internal tab reorder end-to-end
2026-07-02 18:28:43 +02:00
6219084eb6 perf: throttle malloc_trim + avoid VecDeque clones (squashed)
Squash of 2 yoda commits:
- 77262dd0 perf(malloc): throttle malloc_trim to 1 Hz in hot paths
- 1d98eee6 perf(widget): avoid VecDeque clone in segmented_button/table Model::clear
2026-07-02 18:28:43 +02:00
Ashley Wulber
20dfd7c236 cleanup: corner radius menu path logic 2026-07-01 15:10:28 -04:00
Ashley Wulber
be499d01af fix: test 2026-07-01 15:10:28 -04:00
Ashley Wulber
bb0145c566 chore: add the rounded rectangle strip helper 2026-07-01 15:10:28 -04:00
Ashley Wulber
a365d45091 fix: menu folder corners 2026-07-01 15:10:28 -04:00
Ashley Wulber
cad4be9401 fix: live settings override auto blur 2026-07-01 15:10:28 -04:00
Ashley Wulber
822d3b2a0f chore: update cosmic-protocols 2026-07-01 15:10:28 -04:00
Ashley Wulber
46b25d4218 refactor: allow for transparent header 2026-07-01 15:10:28 -04:00
Ashley Wulber
9855d8b6fd fix(theme-gen): typo, use overlay colors 2026-07-01 15:10:28 -04:00
Ashley Wulber
5ea8a86959 fix: card style 2026-07-01 15:10:28 -04:00
Ashley Wulber
e3a4e739e3 cleanup(segmented button): popup destruction on press 2026-07-01 15:10:28 -04:00
Ashley Wulber
46c717fd57 fix: corner radius setting match style 2026-07-01 15:10:28 -04:00
Ashley Wulber
94d2c18a23 chore: dialog default to overlay 2026-07-01 15:10:28 -04:00
Ashley Wulber
cde1989e78 refactor: popups for nav bar / segmented buttons 2026-07-01 15:10:28 -04:00
Ashley Wulber
f5fc392ba4 fix: opaque menu for overlay 2026-07-01 15:10:28 -04:00
Ashley Wulber
f04437cee5 chore: surface action for LiveSettings update 2026-07-01 15:10:28 -04:00
Ashley Wulber
e939d334f6 fix: on init, set blur value if theme is already marked transparent
useful for things like the files dialog
2026-07-01 15:10:28 -04:00
Ashley Wulber
217b4abe99 fix: guess offset 2026-07-01 15:10:28 -04:00
Ashley Wulber
0c336d77e4 chore(theme): helpers for alpha map 2026-07-01 15:10:28 -04:00
Ashley Wulber
00067dc5b8 fix: set corners and blur before surface creation
these are then saved and applied on creation
2026-07-01 15:10:28 -04:00
Ashley Wulber
19f4a289e5 fix: config 2026-07-01 15:10:28 -04:00
Ashley Wulber
43de9e3e77 cleanup and update iced 2026-07-01 15:10:28 -04:00
Ashley Wulber
033dfe6c57 cleanup 2026-07-01 15:10:28 -04:00
Ashley Wulber
76954a6524 fix: tooltip corner radius 2026-07-01 15:10:28 -04:00
Ashley Wulber
4a7ed015f6 feat: padding setting on surface creation 2026-07-01 15:10:28 -04:00
Ashley Wulber
991a8f2c78 feat: configurable blur alpha 2026-07-01 15:10:28 -04:00
Ashley Wulber
8d2dbb3f23 fix feature gate 2026-07-01 15:10:28 -04:00
Ashley Wulber
ac4a1ab259 improv: allow overrides for corner radius or blur that apply on creation as well 2026-07-01 15:10:28 -04:00
Ashley Wulber
f268bb86cf fix: allow loading v1 themes
fallback to default value for missing attributes
2026-07-01 15:10:28 -04:00
Ashley Wulber
58980231b9 refactor: allow opting out of auto corner radii tracking 2026-07-01 15:10:28 -04:00
Ashley Wulber
bd56f82ca0 fix(theme): color serialization 2026-07-01 15:10:28 -04:00
Ashley Wulber
90ac265ee0 chore: remove unnecessary bound 2026-07-01 15:10:28 -04:00
Ashley Wulber
40792f21de Revert "remove header container"
This reverts commit 8035ef9535fa87deb05d88594a6b6a412324c039.
2026-07-01 15:10:28 -04:00
Ashley Wulber
7d62b193f4 feat: improve handling of list items using data in theme 2026-07-01 15:10:28 -04:00
Ashley Wulber
408d37169a fix: feature gate 2026-07-01 15:10:28 -04:00
Ashley Wulber
5fca59df70 update blur alpha 2026-07-01 15:10:28 -04:00
Ashley Wulber
5938776c26 chore: surface task helper 2026-07-01 15:10:28 -04:00
Ashley Wulber
0ee5131670 fix: increase text contrast constraints for transparent surfaces 2026-07-01 15:10:28 -04:00
Ashley Wulber
fb4628e460 fix: winit feature gate 2026-07-01 15:10:28 -04:00
Ashley Wulber
1fafd57578 remove header container
i'm not sure what gaps it is referring to
2026-07-01 15:10:28 -04:00