Commit graph

110 commits

Author SHA1 Message Date
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
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
Ashley Wulber
d9121d6f0d refactor: better helpers for the progress_bar 2026-04-07 21:47:46 +02:00
Ashley Wulber
b963fbfea9
feat(widget): progress bars 2026-04-07 17:02:58 +02:00
Vukašin Vojinović
fdf3369cea chore: re-export iced row and column
This removes the custom row and column implementations and uses the iced ones directly.
2026-04-03 20:39:31 +02:00
Ashley Wulber
413e63f62a chore: update features and feature gates 2026-03-30 22:25:27 -04:00
Dryadxon
1dc9aa37ed feat(flex_row): re-export JustifyItems 2026-03-11 17:52:24 +01:00
Ashley Wulber
904133397b fix: toggler width fixes & cleanup 2026-03-04 12:04:32 -05:00
Ashley Wulber
e8d53b14ea chore: various fixes and some cleanup 2026-03-04 12:04:32 -05:00
Ashley Wulber
e10459fb37 wip rebase updates 2026-03-04 12:04:32 -05:00
Cheong Lau
bd438a8581 perf: reduce memory allocations
This also changes `widget::column::with_children` and
`widget::row::with_children` to take an `impl IntoIterator` instead
of a `Vec`, like the `iced` variants of these functions do.

This shouldn't be a breaking change since passing in a `Vec` will still
compile and function exactly as before.

(Using `iced::widget::Column::from_vec` or
`iced::widget::Row::from_vec` isn't possible, since the elements of the
`Vec` aren't checked, so the size of the resulting `Column` or `Row`
won't adapt to the size of its children. Perhaps a new function could
be added to mirror `iced`'s?)
2025-10-22 04:30:57 +02:00
Ashley Wulber
bbcd874d9c refactor: responsive headers should allow some options 2025-04-15 17:02:32 -04:00
Vukašin Vojinović
dd1b16a353 feat(scrollable): add helper for horizontal scrollables
Adds a helper function to get horizontal scrollables with COSMIC styling.
2025-04-04 18:34:55 +02:00
Vukašin Vojinović
1486569481 chore: use theme::spacing() where applicable 2025-04-02 00:33:21 +02:00
Adam Cosner
2753941aad
feat(widget): add table widget 2025-03-24 17:48:20 +01:00
Michael Aaron Murphy
0aa518984e
chore: format for 2024 edition 2025-03-21 13:33:07 +01:00
Ashley Wulber
337b80d4ca
feat: Tooltips and Better Surface Management 2025-03-14 16:56:21 +01:00
Bryan Hyland
b14fde9033 feat!(spin_button): refactor and support vertical widget variant 2024-11-20 05:03:29 +01:00
Jeremy Soller
be4c0a0848 Move about widget to new about feature 2024-11-11 11:17:02 -07:00
Eduardo Flores
d8357d0ea3
refactor: about page as a widget 2024-11-10 02:42:16 +01:00
wiiznokes
568ff097d6 feat: export markdown iced feature 2024-11-07 01:22:32 +01:00
Ashley Wulber
0491c4baaa libcosmic updates 2024-10-18 14:04:39 -04:00
Michael Aaron Murphy
f12de010ec fix!(widget): rename button function to button::custom 2024-09-16 11:36:42 -06:00
Vukašin Vojinović
1046778d01 improv: spacing/padding fixes 2024-09-04 18:00:16 +02:00
wiiznokes
66ff28a42a add reexport in widget module 2024-08-28 23:00:48 +02:00
Victoria Brekenfeld
60817451bb widget: Add custom radio widget 2024-08-28 15:40:21 +02:00
bbb651 🇮🇱
1162011ff4
improv!(toaster): use stable IDs for toasts 2024-08-22 15:41:43 +02:00
Michael Aaron Murphy
ece6edac8d
improv(toaster): API consistency improvements 2024-07-22 15:34:26 +02:00
Ashley Wulber
928b714d14 fix: toaster behind feature gate 2024-07-05 21:21:35 +02:00
wiiznokes
4449b29cc9
feat(widget): add toast widget 2024-07-02 17:55:38 +02:00
Ashley Wulber
72db8a013b feat: add id_container 2024-05-30 16:57:51 -04:00
Michael Aaron Murphy
463e07ec4b feat(widget): re-export text_editor from iced 2024-05-30 13:57:47 +02:00
Michael Aaron Murphy
b7cb1b31ff feat(widget): re-export canvas widget from iced 2024-05-30 13:57:47 +02:00
Michael Aaron Murphy
7a6421a3e2 feat(flex-row): add justify_content method 2024-05-30 13:57:47 +02:00
Michael Aaron Murphy
752662eedf
chore: ignore doc tests for widget module 2024-05-21 04:36:32 +02:00
Michael Aaron Murphy
f4936344f0
chore(doc): add documentation for a handful of widgets 2024-05-20 20:01:47 +02:00
Michael Aaron Murphy
0d4c3db162
chore(doc): inline re-exported API docs 2024-05-20 17:19:42 +02:00
Michael Aaron Murphy
9ffb87d21f feat(context_menu): add a context menu widget as menu tree alternative to the popover widget 2024-04-22 17:25:05 +02:00
Ashley Wulber
d625291266 feat: dnd for segmented buttons and nav 2024-04-09 21:21:38 +02:00
Michael Aaron Murphy
d68488de47 feat(widget): add calendar widget 2024-03-15 13:40:31 +01:00
Michael Murphy
2d41a9e65d
refactor(widget): rename cosmic_container to layer_container 2024-03-12 16:19:35 +01:00
Jeremy Soller
16aaf10b56 Add support for themed application dialog 2024-02-27 09:38:33 -07:00
Michael Aaron Murphy
ff9438c5ba refactor!(widget): rename view_switcher to tab_bar to match Figma docs 2024-02-26 19:17:49 +01:00
Michael Aaron Murphy
bfc84c4759 refactor!(widget): rename segmented_selection to segmented_control to match Figma docs 2024-02-26 19:17:49 +01:00
Michael Aaron Murphy
bd353c6b54 improv(widget): share object-select svg handle between widgets using it 2024-02-26 19:17:49 +01:00
Ashley Wulber
f4ad098647 wip: update to use latest iced 2024-02-06 11:28:27 -05:00
Michael Aaron Murphy
b09b3db81a chore(widget): remove redundant search widget
The `text_input` widget's search variant replaced this.
2024-01-23 22:08:05 +01:00
Michael Aaron Murphy
507c4c97bb chore(widget): remove cosmic-settings navigation widgets 2024-01-23 22:08:05 +01:00