Auto-applied clippy lint suggestions across 23 files: collapse
`else { if … }` ladders, drop unneeded `return` statements, remove
needless borrows that were immediately auto-dereffed, swap `iter().next()`
for `first()`, drop redundant `.into()` to the same type, and similar
mechanical cleanups. Behavior is unchanged; the diff is -67 lines net.
The 33 remaining warnings are architectural and need manual attention
(very-complex-type aliases, too-many-arguments on internal helpers,
redundant must_use, needs-is_empty, etc.).
Leyoda 2026 – GPLv3
Real bug fixes:
- spin_button::vertical(): was constructing the SpinButton with
Orientation::Horizontal — vertical() rendered horizontally. Fixed
to use Orientation::Vertical, which also resolves the
'Vertical never constructed' warning.
- text_input/input.rs: rewrite the iterator-skip logic for trailing
icon layout. The previous `let mut icon_layout = ...; if has_start
... = ...; ... = ...;` triggered two value-never-read warnings and
obscured the intent. Now it reads as 'skip text, optionally skip
start-icon, then take the trailing-icon layout'.
Dead code removed:
- core::Core::portal_is_high_contrast — assigned at construction,
never read anywhere
- widget::menu::menu_bar::bar_pressed field and the
pub fn get_mut_or_default helper — no callers
- widget::popover::State — declared, never constructed
- widget::segmented_button::widget::Focus.now — sibling of updated_at,
never read
- widget::wayland::tooltip::widget::Variant — orphan enum (and the
cargo fix follow-up dropped a now-unused Element import)
- widget::button::widget::Button::is_hovered method — trivial getter
with no callers; the underlying `is_hovered` field is still used
Visibility / nits:
- segmented_button::widget::TabDragSource: gain pub(super) so the
pub(super) field tab_drag stops exposing a more private type
- widget::menu::flex::resolve: #[allow(dead_code)] (170-line public
helper, kept for future use)
- app/cosmic.rs: drop one unreachable arm in the surface-message match
- widget::dropdown::multi: drop unused Paragraph import
Leyoda 2026 – GPLv3
Auto-applied suggestions on libcosmic-yoda lib only: unused imports,
unused-by-name params (prefixed with _), redundant mutability. From 113
warnings down to 14 (the 14 remaining are real signals: never-read
fields, unreachable patterns, etc., to be reviewed manually).
Leyoda 2026 – GPLv3
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?)
* wip: update to use cosmic-advanced-text
* use cosmic-advanced-text branch of iced
* fix: line height and spacing for segmented button and update to get svg fix
* fix: spin button styling & spacing
* update iced to fix segmented button border radius
* feat: example improvements
* feat: helper for loading fonts
* feat: add focus style to button
* fix: slider height and iced fixed
* feat: hash icon width and height
* cleanup
* update ci
* refactor: always use lazy feature of iced
* update iced
* update iced
* cleanup & update iced
* update iced: new slider & tiny-skia quad updates
* update iced: fixes for tiny-skia quad rendering with edge case border radius
* re-export iced_runtime & iced_widget
* merge master
* udpate iced
* update iced
* update iced
* update iced
* fix: make rectangle_tracker subscription only return update if there is some
* feat: derive macro for loading a cosmic-config
* feat (cosmic-config): iced subscription
* fix (example): update to rectangle tracker subscription
* fix (cosmic-config)
* refactor(cosmic-config-derive): add support for types with generic parameters
* fix (cosmic-config): feature gate updates for subscription helpers
* feat: support for custom & system themes + move cosmic-theme to libcosmic
* feat: sorta hacky way of creating header bars for libcosmic + update iced to get support for resizable windows in iced-sctk
* update iced
* update and reexport sctk
* fix: applet border radius
* feat (cosmic-theme): add id and name methods
* fix(cosmic-theme): reexport palette from cosmic-theme
* fix(cosmic-config-derive): allow use with reexported cosmic-config
* feat: update iced with fix and refactor applet env vars
* update iced
This serves a similar purpose to `GtkPopover`. It takes two widgets, one
to show normally and one to show in an overlay.
This should basically work, though more options could be added here.