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:

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:

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
Vukašin Vojinović
95756b1a57
improv(circular): prevent caps from touching
Continuous Integration / format (push) Has been cancelled
Continuous Integration / tests (--no-default-features --features "") (push) Has been cancelled
Continuous Integration / tests (--no-default-features --features "applet") (push) Has been cancelled
Continuous Integration / tests (--no-default-features --features "desktop,smol") (push) Has been cancelled
Continuous Integration / tests (--no-default-features --features "desktop,tokio") (push) Has been cancelled
Continuous Integration / tests (--no-default-features --features "wayland") (push) Has been cancelled
Pages / pages (push) Has been cancelled
Continuous Integration / tests (--no-default-features --features "winit") (push) Has been cancelled
Continuous Integration / tests (--no-default-features --features "winit_debug") (push) Has been cancelled
Continuous Integration / tests (--no-default-features --features "winit_tokio") (push) Has been cancelled
Continuous Integration / tests (--no-default-features --features "winit_wgpu") (push) Has been cancelled
Continuous Integration / tests (-p cosmic-theme) (push) Has been cancelled
Continuous Integration / examples (application) (push) Has been cancelled
Continuous Integration / examples (context-menu) (push) Has been cancelled
Continuous Integration / examples (nav-context) (push) Has been cancelled
Continuous Integration / examples (open-dialog) (push) Has been cancelled
2026-04-18 16:08:34 -04:00
Vukašin Vojinović
c423ad1bfc
improv(about): use ListButton
2026-04-17 13:52:08 +02:00
Vukašin Vojinović
8d7bcab258
fix(list_column): add back divider_padding
...
Also matches previous behavior of both paddings being applied to subsequent items, rather than globally.
2026-04-17 13:17:23 +02:00