APIs like inotify can provide notification for some events that don't
change the contents of a file. It makes sense to ignore those here, even
if the expected way to write is through the config API.
This reduces the number of events on the directory received by a single
`:w` in vim from 12 to 8. And reduces a `touch` from 2 events to 1.
Atomic writes through the config API only result in 1 event per-setting,
before and after this change.
* 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.
This is more general, and necessary if the custom theming is dynamically
generated.
Iced's builtin theme also uses `Box`ed `Fn`, or `Rc` where clone is
required, so this seems reasonable.
Only `Text` is left using `fn`, since it needs to be `Copy`. Hopefully
that can be changed in Iced at some point.
`::custom` methods are added to make these variants a little more
convenient to construct. This replaces a couple `From` implementations,
which are potentially problematic with a generic.