Commit graph

1858 commits

Author SHA1 Message Date
f7bdd84ae4 chore: use local graphics dependencies 2026-05-25 19:36:38 +02:00
4a00191ac9 chore: point iced at local glyphon 2026-05-25 18:28:10 +02:00
d4d421511a chore: use local COSMIC support crates 2026-05-25 18:09:50 +02:00
f3db54342c 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-05-25 13:13:30 +02:00
6722f1e581 yoda: use local dbus settings bindings 2026-05-25 13:10:12 +02:00
5f50d74477 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-05-25 13:08:39 +02:00
7a191cf086 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-05-25 13:07:48 +02:00
38acba82b4 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-05-25 13:07:13 +02:00
ef8f69134f 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-05-25 13:05:50 +02:00
597aba3e9f 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-05-25 13:05:22 +02:00
e3dcdf1fce 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-05-25 13:05:05 +02:00
10422b8f4a 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-05-25 13:04:22 +02:00
87510782ae 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-05-25 13:03:13 +02:00
ea17ada931 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-05-25 13:03:13 +02:00
Hojjat
8fa6a01d04 feat: add ability to provide extra paths to search for icons 2026-05-22 01:26:34 +02:00
Michael Aaron Murphy
113e0ae1f9
chore(applet): gracefully exit with log when panel exits
This was causing confusion for users that thought this symptom may be the cause of a problem.
2026-05-22 01:21:03 +02:00
Michael Aaron Murphy
2f022280f2
docs: fix cargo doc generation 2026-05-20 17:04:07 +02:00
Michael Aaron Murphy
e2b172e0bc
feat(iced): X11 resize fix, f16 shader compat, & selectable text feature 2026-05-20 16:06:07 +02:00
Hojjat
b279d82240 fix: circular progressbar crashes on very small windows 2026-05-20 07:25:00 -04:00
Hojjat
147306d581 chore: update iced 2026-05-20 07:25:00 -04:00
Vukašin Vojinović
466e25d9f8 feat(progress_bar): linear progress markers 2026-05-19 20:00:14 +02:00
Michael Aaron Murphy
6f863f1905 chore: cargo +nightly fmt 2026-05-18 09:25:23 -04:00
Andrei Ivanou
5782cb927e fix(process): safely exit forked child after spawn
Co-Authored-By: Michael Murphy <michael@mmurphy.dev>
2026-05-18 09:25:23 -04:00
DanielKaleby
631c81b170
feat(cosmic-config): add new_data method. 2026-05-14 16:19:43 +02:00
Ilia Malanin
cab9d5aff2
feat!(menu): support physical key matches for non-Latin keyboard layouts 2026-05-14 16:10:59 +02:00
Michael Aaron Murphy
2aa9133f9d
docs(readme): add Made for COSMIC Flatpak section 2026-05-13 16:14:34 +02:00
Michael Murphy
4fab6c777d
i18n: translation update from Hosted Weblate (#1269)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pop
OS/libcosmic](https://hosted.weblate.org/projects/pop-os/libcosmic/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pop-os/libcosmic/horizontal-auto.svg)
2026-05-12 17:12:40 +02:00
KENZ
b105e9a108
feat(iced): IME support improvements 2026-05-08 17:25:49 +02:00
Ashley Wulber
528513725d chore: update iced 2026-05-07 18:46:53 +02:00
Hojjat
0e0960f3c7 feat: reorderable flex row 2026-05-04 21:26:58 +02:00
Vukašin Vojinović
9c2a86a8f4 chore: add rustfmt config 2026-05-04 11:55:17 -04:00
Vukašin Vojinović
9abc4d483b chore: update dependencies 2026-05-04 11:55:17 -04:00
Vukašin Vojinović
34326b3925 chore(cosmic-theme): move Roundness to libcosmic 2026-05-04 11:55:17 -04:00
Hosted Weblate
15a8a535dd
i18n: translation updates from weblate
Co-authored-by: BoneNI <bounkirdni@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Марко М. Костић <marko.m.kostic@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/pop-os/libcosmic/sr/
Translation: Pop OS/libcosmic
2026-05-03 01:52:48 +02:00
Vukašin Vojinović
564ef834ce improv(theme): list_button style
This adds a new `list_button` field to theme, which makes ListItem buttons stay transparent when pressed. It's essentially a mix of `text_button` and `background.component`, without hover highlights (as per designs).
2026-04-28 13:59:25 +02:00
Michael Murphy
99c038a66a
i18n: translation update from Hosted Weblate (#1263)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pop
OS/libcosmic](https://hosted.weblate.org/projects/pop-os/libcosmic/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pop-os/libcosmic/horizontal-auto.svg)
2026-04-27 16:24:57 +02:00
Hosted Weblate
cae05f3ffb
i18n: translation updates from weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/pop-os/libcosmic/el/
Translation: Pop OS/libcosmic
2026-04-27 16:10:11 +02:00
Vukašin Vojinović
8768bce2e2 fix(menu_bar): menu border radius 2026-04-27 15:28:03 +02:00
Michael Aaron Murphy
49846d9f28
fix: wgpu validation error on float16 shader with older GPUs 2026-04-27 15:05:05 +02:00
Rakshat
51be7dc42d
fix(menu_bar): use corner radius from theme for menu border 2026-04-27 15:00:52 +02:00
Will Sheehan
5825afb0da fix(segmented_button): reset menu state when reopening context menu
When a context menu is open and the user right-clicks a different item,
the overlay's close handler resets the menu state but no longer captures
the event (since e10459f). The right-click propagates to the widget,
which reopens the menu with stale `MenuBounds` from the previous context
menu. If the new menu has a different number of items, this causes an
assertion failure in `MenuState::layout`.

Call `data.reset()` before setting `data.open = true` in the right-click
handler to ensure stale `MenuBounds` are cleared before the next layout
pass rebuilds them.
2026-04-27 14:58:46 +02:00
Michael Aaron Murphy
f3fc763b5f
ci(pages): update Rust toolchain to latest nightly 2026-04-27 14:43:39 +02:00
Michael Aaron Murphy
21977ef617
feat(iced): update to wgpu 28 & cosmic-text 0.19 2026-04-27 14:39:52 +02:00
Michael Aaron Murphy
58b7532849
chore: update MSRV to Rust 1.93 2026-04-27 14:37:22 +02:00
Vukašin Vojinović
17291536a1 fix(header_bar): prevent double coloring 2026-04-23 11:15:32 -04:00
Vukašin Vojinović
dad5f1e273 fix(progress_bar): sync determinate animation clock on target change
This prevents the time delta from becoming very large when the widget hasn't animated for a bit, leading to snapping instead of a smooth animation.
Also prevents animating on widget creation, since it doesn't feel good in `cosmic-osd`.
2026-04-22 15:03:14 +02:00
Vukašin Vojinović
8b4c8adec8 feat(progress_bar): animate determinate progress 2026-04-21 13:39:43 -04:00
Vukašin Vojinović
4d39cf3d7b improv(progress_bar): unify indeterminate animations 2026-04-21 13:39:43 -04:00
KENZ
dc84488cd8
fix(iced): double IME commit on GNOME desktop 2026-04-19 17:03:20 +02:00
KENZ
6dba6a2561
fix(iced): make IME event forwarding to sctk optional
pulls in the change to make IME events forwarding to sctk optionally
2026-04-19 17:02:26 +02:00