* wip: update libcosmic
* fix: damge issue resolved by updating iced
* fix: high cpu usage by time applet and app-list
* refactor subscriptions to produce fewer events
* refactor network applet to use less cpu
* fix: text size
* refactor: i18n for audio applet
* refactor: power applet i18n setup
* fix (battery): always send profile update
* fix (battery): set toggler width to layout correctly
* fix (app-list): backoff for restarts of toplevel subscription
* fix (network): alignment
* feat: ask for comfirmation before applying power applet actions
* wip: integrate cosmic-config
* update zbus
* feat: update to use latest libcosmic
* update iced
* udpate deps
* update deps
* refactor: move applet helpers to this repo, outside of libcosmic.
this should help alleviate some dependency hell
* chore update deps
* update deps
* cleanup
This reduces total package size by ~25%. There are no runtime
consequences, though this does nearly double build times. But
with the cargo workspace, this repo builds pretty quick.
As well the same `lto` settings are already used in cosmic-comp.
* Power: Replace gtk applet with iced applet
No functionality yet, but the layout is nearly done. Only small
tweaks needed to font and svg backgrounds.
* Power: Add suspend+restart+shutdown functionality
* Power: Add lock + log out + settings
* Fix build.
* Fix window placement
* Reset cosmic-applet-audio
* save point with rwlock to talk to pulse
* almost making pulse work with a subscription, but awating results causes a panic
* maybe threaded
* Working pulse connection
* working async pulse audio listener
* cargo fmt
* working communication
* make worky ChannelVolumes
* more fixy
* working control for speaker volume
* fix changing volume on input
* Initial port to iced-sctk
* Fix revealer return types
* fix: build
* feat: more applet updates
Co-authored-by: Ashley Wulber <ashley@system76.com>
Requires `layer-shell` feature to support, and patched GTK from
https://github.com/pop-os/gtk4/tree/layer-shell_impish.
This is generally working, but some things could be improved. Some of
the methods implemented for `LayerShellWindow` lack logic that exists in
`GtkWindow` that may be important. (For instance, some things related to
CSS). And some things may require more private functions from GTK.
The hard part is getting the necessary work upstreamed in some form.