Commit graph

1644 commits

Author SHA1 Message Date
673547dc52 Merge remote-tracking branch 'upstream/master' into yoda-dock-magnification
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	cosmic-app-list/src/app.rs
#	cosmic-applet-audio/src/lib.rs
#	cosmic-applet-input-sources/Cargo.toml
#	cosmic-applet-input-sources/src/lib.rs
#	cosmic-applet-status-area/src/components/app.rs
#	cosmic-panel-button/src/lib.rs
2026-08-19 22:04:42 +02:00
Michael Aaron Murphy
73d727814c fix(audio): debounce volume updates by 128ms 2026-08-18 17:23:33 +02:00
Michael Murphy
a1d4be5d10
i18n: translation update from Hosted Weblate (#1511) 2026-08-18 14:06:42 +02:00
Hosted Weblate
4285090a44
i18n: translation updates from weblate
Co-authored-by: Andi Chandler <andi@gowling.com>
Co-authored-by: CodeBeats <nicholai67@hotmail.com>
Co-authored-by: David Carvalho <david.snt.carvalho@gmail.com>
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: Feike Donia <feikedonia@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hugo Carvalho <hugokarvalho@hotmail.com>
Co-authored-by: Jens Peter Nielsen <mail@jp-nielsen.dk>
Co-authored-by: Martin Meizoso <martinmeizoso@gmail.com>
Co-authored-by: Michael Millet <mikevlet@protonmail.com>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com>
Co-authored-by: Quentin PAGÈS <quentinantonin@free.fr>
Co-authored-by: Steen Rabol <steen@rabol.dev>
Co-authored-by: Walter William Beckerleg Bruckman <spayk.99@protonmail.com>
Co-authored-by: Wilbur Lindqvist <william@willmantrade.com>
Co-authored-by: lucamosca1 <luca.moscato@gmail.com>
Co-authored-by: sicKat <giuseppecatillo2003@gmail.com>
Co-authored-by: the-forest-watches <lucastronks@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/da/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/oc/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/sat/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/da/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-audio/da/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-audio/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-audio/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/da/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/it/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/da/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/da/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-notifications/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-power/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-tiling/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-tiling/nl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-time/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/da/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/it/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/nl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/oc/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/pt/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/sat/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-input-sources-applet/da/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-input-sources-applet/gl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-workspaces-applet/gl/
Translation: Pop OS/COSMIC Accessibility Applet
Translation: Pop OS/COSMIC App List Applet
Translation: Pop OS/COSMIC Applets Desktop Entries
Translation: Pop OS/COSMIC Audio Applet
Translation: Pop OS/COSMIC Battery Applet
Translation: Pop OS/COSMIC Bluetooth Applet
Translation: Pop OS/COSMIC Input Sources Applet
Translation: Pop OS/COSMIC Network Applet
Translation: Pop OS/COSMIC Notifications Applet
Translation: Pop OS/COSMIC Power Applet
Translation: Pop OS/COSMIC Tiling Applet
Translation: Pop OS/COSMIC Time Applet
Translation: Pop OS/COSMIC Workspaces Applet
2026-08-18 07:51:49 +02:00
Rafael Kraut
63292ab74d fix(status-area): constrain menu icon-data to icon size
Menu items expose their icon as a themed `icon-name` or raw PNG `icon-data`. The named-icon branch renders at a fixed `.size(14)`, but the icon-data branch wrapped the pixmap in a bare `Image` with no size constraint, so it rendered at the PNG's native dimensions. Apps may send full-resolution pixmaps, which then render oversized in the menu.

Constrain icon-data to the same 14px box with ContentFit::Contain, matching how KDE (Qt small-icon size) and GNOME (St.Icon popup-menu-icon) render menu item icons.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-10 21:28:12 +02:00
fb33b39cec fix(network): align applet with cosmic-settings 1.3 nmrs backend
Some checks failed
Continuous Integration / formatting (push) Has been cancelled
Continuous Integration / linting (push) Has been cancelled
cosmic-settings 1.3 replaced its custom NetworkManager backend with nmrs
and removed subscriptions/network-manager, which cosmic-applet-network
still referenced by path. That broke manifest resolution for the whole
workspace, so no applet package could be built at all.

Take upstream's post-migration cosmic-applet-network wholesale (upstream
e318f0d4 "migrate NetworkManager flow to nmrs 3.4" plus the nine network
fixes that followed it). None of our local commits touched this crate's
sources, only its manifest, so the only local adjustments to reapply are
the libcosmic -> cosmic workspace alias and the 1.3.0 version.

This also drops the cosmic-dbus-networkmanager dependency, and with it
the last user of the now-dead cosmic-settings-network-manager and
cosmic-settings-sound patch entries, which are removed from the
workspace manifest.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 09:47:24 +02:00
5b838a6795 fix(audio): initialize volume ceilings at startup
max_sink_volume and max_source_volume were only computed in the
TogglePopup handler, so they kept their Default value of 0 until the
popup had been opened once. The scroll-to-adjust handler clamps against
max_sink_volume, which meant every wheel event resolved to
SetSinkVolume(0) until the user had clicked the applet icon: scrolling
up did nothing and scrolling down muted the sink.

Extract refresh_volume_limits() and call it from init() as well as from
TogglePopup, so the popup still picks up amplification config changes
made during the session.

This is the actual cause of "scroll does not adjust volume until the
applet is clicked once" — the wheel events were reaching the widget all
along, which is why a single click made scrolling work on plain hover
from then on.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 09:33:16 +02:00
a9f15d67a2 fix: handle wheel events before cursor bounds check in MouseArea
Some checks failed
Continuous Integration / formatting (push) Has been cancelled
Continuous Integration / linting (push) Has been cancelled
Move the on_mouse_wheel handler before the cursor.is_over(bounds)
guard. The panel's nested compositor only routes axis events to the
applet surface when the pointer is over it, making the bounds check
redundant for scroll events. This fixes scroll-to-adjust-volume not
working on the audio applet after a fresh login, when the cursor
coordinates sent by the panel may not match the applet's surface-local
coordinate space.
2026-07-29 11:59:32 +02:00
Michael Murphy
ec8ffdc85d
i18n: translation update from Hosted Weblate (#1446)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pop OS/COSMIC Audio
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-applet-audio/).


It also includes following components:

* [Pop OS/COSMIC Accessibility
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/)

* [Pop OS/COSMIC Power
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-applet-power/)

* [Pop OS/COSMIC Time
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-applet-time/)

* [Pop OS/COSMIC Network
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/)

* [Pop OS/COSMIC Input Sources
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-input-sources-applet/)

* [Pop OS/COSMIC Applets Desktop
Entries](https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/)

* [Pop OS/COSMIC App List
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-app-list/)

* [Pop OS/COSMIC Battery
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/)

* [Pop OS/COSMIC Bluetooth
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/)

* [Pop OS/COSMIC Workspaces
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-workspaces-applet/)

* [Pop OS/COSMIC Tiling
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-applet-tiling/)

* [Pop OS/COSMIC Notifications
Applet](https://hosted.weblate.org/projects/pop-os/cosmic-applet-notifications/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pop-os/cosmic-applet-audio/horizontal-auto.svg)
2026-07-28 16:44:41 +02:00
Hosted Weblate
7ef0084a24
i18n: translation updates from weblate
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Co-authored-by: Ahrakiel <christopherbatrier@gmail.com>
Co-authored-by: Aman Alam <aalam@users.noreply.hosted.weblate.org>
Co-authored-by: Aman Shaw <shaw4m4n@netc.fr>
Co-authored-by: Andi Chandler <andi@gowling.com>
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: AriyA66Y <ariya66y@protonmail.com>
Co-authored-by: CYAXXX <85353920+CYAXXX@users.noreply.github.com>
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: Fedorov Alexei <aleksejfedorov963@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Isaac Subirana <isaacsubiranac@gmail.com>
Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com>
Co-authored-by: Kartik Nayak <65574961+kodebarista@users.noreply.github.com>
Co-authored-by: Nara Díaz Viñolas <nara.diaz.vinolas@gmail.com>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com>
Co-authored-by: Saeed <s.zare.org.82@gmail.com>
Co-authored-by: Sproston <ojspr2007@gmail.com>
Co-authored-by: Tadas Misiūnas <tadujo@gmail.com>
Co-authored-by: VandaL <vandalhj@gmail.com>
Co-authored-by: Vilius Paliokas <viliuspaliokas@gmail.com>
Co-authored-by: Wilbur Lindqvist <william@willmantrade.com>
Co-authored-by: jonnysemon <jonnysemon@users.noreply.hosted.weblate.org>
Co-authored-by: lorduskordus <lorduskordus@gmail.com>
Co-authored-by: sicKat <giuseppecatillo2003@gmail.com>
Co-authored-by: taijuin Lee <taijuin@gmail.com>
Co-authored-by: therealmate <hellogaming91@gmail.com>
Co-authored-by: Димко <Dymkovych@proton.me>
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/ar/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/cs/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/el/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/fa/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/hi/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/it/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/lt/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/pa/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/pl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/ru/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/uk/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-app-list/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/ca/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/fa/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/hi/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/it/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-a11y/sat/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-audio/ca/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-audio/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-audio/it/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-audio/lt/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-audio/sat/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/kmr/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/fa/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/hi/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/it/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/sat/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/fr/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/sat/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-notifications/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-power/ca/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-power/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-tiling/ca/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-tiling/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-time/ca/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-time/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/ca/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/cs/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/en_GB/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/fa/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/hi/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/it/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applets-desktop-entries/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-input-sources-applet/ca/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-input-sources-applet/de/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-workspaces-applet/ca/
Translation: Pop OS/COSMIC Accessibility Applet
Translation: Pop OS/COSMIC App List Applet
Translation: Pop OS/COSMIC Applets Desktop Entries
Translation: Pop OS/COSMIC Audio Applet
Translation: Pop OS/COSMIC Battery Applet
Translation: Pop OS/COSMIC Bluetooth Applet
Translation: Pop OS/COSMIC Input Sources Applet
Translation: Pop OS/COSMIC Network Applet
Translation: Pop OS/COSMIC Notifications Applet
Translation: Pop OS/COSMIC Power Applet
Translation: Pop OS/COSMIC Tiling Applet
Translation: Pop OS/COSMIC Time Applet
Translation: Pop OS/COSMIC Workspaces Applet
2026-07-28 08:03:20 +00:00
2d78a0abff chore: bump version to 1.3.0
Some checks failed
Continuous Integration / linting (push) Has been cancelled
Continuous Integration / formatting (push) Has been cancelled
2026-07-22 15:57:00 +02:00
Akrm Al-Hakimi
48c3633151 fix(network): re-register secret agent after NetworkManager restart 2026-07-17 16:59:55 +02:00
Hojjat
e544cb54c2 chore: update libcosmic to fix minimize applet crash 2026-07-13 17:17:24 -06:00
Ian Douglas Scott
d86c5631ed input-sources: Do not store full CosmicCompConfig
`update_xkb()` was previously never called before the subscription first
returns a config value, so not getting an initial value of `comp_config`
at start before the subscription does not change behavior.
2026-07-13 13:18:56 -07:00
Ian Douglas Scott
9acfd8d8c1 input-sources: Use cosmic-keyboard-layout-unstable-v1
https://github.com/pop-os/cosmic-protocols/pull/28

Continues to use `xkg_config` to get list of layouts, but the group is
now changed by modifying the group while leaving the config unchanged.
And changes to the group are now reflected in the applet.
2026-07-13 13:18:56 -07:00
Akrm Al-Hakimi
ba490e76af fix: normalize connections that match saved VPN profiles 2026-07-10 16:59:47 -06:00
Akrm Al-Hakimi
67415262d5 fix: show pending VPN state in applet
Track VPN activation and deactivation locally while nmrs operations are
running. This lets the applet show a spinner immediately, refresh state
while NetworkManager settles, and clear pending state on completion or
error.

Also use VPN-specific icons for VPN rows and prefer active or pending VPN
state for the panel icon.
2026-07-10 16:59:47 -06:00
Akrm Al-Hakimi
9025430cf2 fix: keep inactive known Wi-Fi rows visible
Only mark an nmrs Wi-Fi group as activated when the group itself is
active. Access points inherit device state, so inactive known networks on
a connected Wi-Fi device can otherwise appear activated and get skipped
from the known networks section while also being filtered out of visible
networks.
2026-07-10 16:59:47 -06:00
Akrm Al-Hakimi
829d66c44a fix: filter ssids by raw bytes to remove hidden network entries 2026-07-10 16:59:47 -06:00
akrm al-hakimi
74e2908987 chore: remove dead arm in DeviceState match 2026-07-10 16:59:47 -06:00
akrm al-hakimi
6fd8309cf7 chore: remove dead utils file 2026-07-10 16:59:47 -06:00
akrm al-hakimi
f69e943d91 fix(network): restore IPv4 display and wifi list ordering
- Strip the CIDR suffix (/24) from the shown IPv4 address
- Sort visible wireless networks by signal strength again
- Filter out empty-SSID "hidden network" entries from the list
2026-07-10 16:59:47 -06:00
Akrm Al-Hakimi
a3be51560f fix: dupe connection names; incorrect ipv6 labeling
Fixes a bug where we showed `Activated` networks after the current active
one.

Also ipv4/6 addresses were merged so this seperates them and only shows ipv4
for now until we decide the best way to show both, UI/UX wise.
2026-07-10 16:59:47 -06:00
Akrm Al-Hakimi
e318f0d412 cosmic-applet-network: migrate NetworkManager flow to nmrs 3.4 2026-07-10 16:59:47 -06:00
Hojjat
b282484463 chore: update libcosmic to fix minimize applet crash 2026-07-10 00:18:30 -06:00
Ashley Wulber
9621be48b3 chore: update libcosmic 2026-07-09 17:48:08 -06:00
Ashley Wulber
3f4d0f43a0
fix: update iced (#1468)
popup blur & corner cleanup
2026-07-09 09:42:22 -06:00
Jeremy Soller
0543dd7441
Theme v2 (#1455) 2026-07-06 07:12:26 -06:00
ebecfa6b7d chore: refresh lockfile post-upstream rebase
Some checks failed
Continuous Integration / formatting (push) Has been cancelled
Continuous Integration / linting (push) Has been cancelled
Leyoda 2026 – GPLv3
2026-07-04 11:20:22 +02:00
adc97dc8f1 fix: adapt to cosmic-theme background(transparent) accessor
Leyoda 2026 – GPLv3
2026-07-04 11:19:28 +02:00
ced6eb267e Fix status menu build after upstream rebase 2026-07-04 11:19:28 +02:00
04acc50e4d feat: add themed launcher icon catalog 2026-07-04 11:19:28 +02:00
8d56d0b500 fix: open launcher editor in existing popup 2026-07-04 11:19:28 +02:00
d58fe9d74c feat: add editable dock launchers 2026-07-04 11:19:28 +02:00
9677159db6 chore: fix applets redeploy path 2026-07-04 11:19:28 +02:00
3c360142ae chore: use local COSMIC support crates 2026-07-04 11:19:28 +02:00
ebfaa4eb7b chore: use local cosmic-text checkout 2026-07-04 11:19:28 +02:00
0023a462ba yoda: use local dbus settings bindings 2026-07-04 11:19:28 +02:00
b4fbfe168a chore: align applets with local stack 2026-07-04 11:02:35 +02:00
Votre Nom
c117f172cb fix(audio): accumuler les rafales scroll Pixels au lieu de signum()
Avec Wayland axis_v120 (scroll haute-résolution sur souris HID modernes),
un cran physique génère 5–8 events ScrollDelta::Pixels (~15–20px chacun).
L'ancien code passait chaque sub-event par .signum() puis -1/+1 à sink_volume,
donc un seul cran physique faisait varier le volume de 5 à 40% — résultat :
scroll up sur l'icône audio panel / dock coupait le son si le volume était
déjà bas.

Fix : thread_local accumulator des deltas Pixels, émission seulement
au passage du seuil de 15px par cran logique. Lines (souris classique
sans axis_v120) reste proportionnel y * WHEEL_STEP. round() au lieu de
truncation finale pour ne pas perdre les fractions de pourcent.

Leyoda 2026 - GPLv3
2026-07-04 10:55:18 +02:00
Votre Nom
66392fc42a chore: add redeploy.sh for /usr/local/bin install
Builds workspace release, backs up existing binaries, installs
cosmic-applets/cosmic-app-list/cosmic-panel-button to /usr/local/bin
(precedence over pacman package via $PATH).

Leyoda 2026 – GPLv3
2026-07-04 10:55:18 +02:00
Votre Nom
c15a879c31 fix(wayland): graceful exit on compositor disconnect
Replace 3 panicking unwrap() in cosmic-app-list/wayland_handler.rs
(event loop dispatch + 2 conn.flush in screencopy) with logged
errors that break/return None instead.

Wrap cosmic-applets/main.rs entry point in panic::catch_unwind to
catch panics propagating from libcosmic/iced/winit (which we cannot
patch locally without forking) when the COSMIC compositor closes
the Wayland connection at logout. This eliminates the cascade of
~12 SIGABRT coredumps observed at session shutdown.

Panic strategy is unwind (default), catch_unwind is sound here.

Leyoda 2026 – GPLv3
2026-07-04 10:55:18 +02:00
d5c2a19e95 yoda: smooth animated fisheye for dock hover (phase B v3, closes b)
Inter-icon hover changes were snapping because icon_scale_for read the
hovered icon's real rectangle directly. This adds a small animation
layer so the bell center lerps toward the target and the whole effect
fades in/out at the dock's edges.

CosmicAppList gains three fields:
- anim_hover_center: Option<(f32, f32)> — virtual cursor position,
  chases the hovered icon's center across ticks.
- anim_hover_intensity: f32 (0..1) — global fade-in/out of the
  fisheye. Target 1.0 while a dock icon is hovered, 0.0 otherwise.
- anim_last_tick: Option<Instant> — for dt-based exponential smoothing
  (time-constant tau = 60ms, ~99% of target reached in ~120ms).

A new Message::AnimTick(Instant) is emitted at ~60 fps by a
conditional iced::time::every subscription — only active when the
pointer is over a dock icon OR intensity hasn't faded back to ~0 yet,
so the panel stays idle when no one is hovering the dock.

icon_scale_for now reads anim_hover_center instead of rectangles[hovered]
and multiplies the bell's peak by anim_hover_intensity. Behaviour:
- Pointer slides A → B: bell glides continuously, both icons animate.
- Pointer enters dock: icons inflate smoothly over ~120 ms.
- Pointer leaves dock: icons deflate smoothly over ~120 ms.

Fallback paths (first frame, missing rectangles) still respond
instantly so the feature never looks 'stuck' before the animation
kicks in.
2026-07-04 10:55:18 +02:00
6f88c6fea4 yoda: fisheye magnification for dock hover (phase B v2 / c)
Replaces the binary 1.3× hover with a true gaussian bell curve — the
hovered icon still peaks at ~1.35×, but the ±1 neighbours also bulge
noticeably, ±2 a bit, and ±3+ relax to 1.0×. Footprint ~5 icons wide,
matching the macOS Dock fisheye feel.

Implementation in fn icon_scale_for(id):
- Reads the hovered icon's and the current icon's bounds from
  self.rectangles (already populated by the existing RectangleTracker
  subscription — no new plumbing).
- Distance = |this_center - hovered_center| along the panel's long axis
  (horizontal for Top/Bottom anchors, vertical for Left/Right).
- sigma = hovered_extent * 1.4 so the bell's half-width matches one
  icon width (neighbors clearly pulled, far icons untouched).
- scale = 1.0 + PEAK * exp(-(d/sigma)²) with PEAK = 0.35.
- Falls back to binary 1.35×/1.0× when rectangle data isn't populated
  yet (first render / resize) — visibly responsive even before the
  tracker catches up.

No widget signature changes vs v1, just a smarter formula. All five
as_icon call sites already pass the result of icon_scale_for so this
update propagates everywhere.

Still on the TODO list: smooth animation (b). Right now icon→icon
transitions snap instantly; a smoothed_hover_center + tick subscription
would lerp it. Deferred to a follow-up commit.
2026-07-04 10:55:18 +02:00
1ce1d39ea3 yoda: dock icon hover magnification (macOS Tahoe-style, phase B v1)
First pass at the signature macOS Dock effect — the icon under the
pointer grows, adjacent icons stay at base size. Full fisheye (smooth
bell-curve scaling on neighbors) can be a later iteration.

Changes in cosmic-app-list/src/app.rs:
- CosmicAppList gains a hovered_dock_item: Option<DockItemId>
  auto-initialized to None via #[derive(Default)].
- New Message::DockItemHover(Option<DockItemId>) handled in update()
  by just writing the field; view() then reads it to decide scale.
- DockItem::as_icon gains an icon_scale: f32 parameter. Inside it the
  cosmic_icon width/height = (base_icon_size * icon_scale) clamped
  to u16; indicator dot and other surrounding layout stay at base
  size so only the icon visually bulges.
- New App::icon_scale_for(id) helper: 1.3 if Some(id) == hovered,
  1.0 otherwise. Single place to tune the magnification factor.
- The two main dock rows (favorites + filtered_active_list) wrap
  their rendered applet_tooltip in widget::mouse_area with
  on_enter(DockItemHover(Some(id))) / on_exit(DockItemHover(None))
  and call icon_scale_for before rendering.
- The three remaining as_icon call sites (DnD preview, favorites
  overflow popup, active overflow popup) pass icon_scale = 1.0 —
  hover magnification on those surfaces would look jittery and isn't
  needed anyway.

Build: cargo build --release -p cosmic-app-list (≈ 7s). Binary
installed at /usr/local/bin/cosmic-app-list, backup kept as
.pre-magnification.
2026-07-04 10:55:18 +02:00
Ilia Malanin
d726dd890e fix(bluetooth): do not filter out already found devices 2026-07-02 12:46:20 -06:00
William Fish
fddf3d569b
fix(status-area): forward SNI scroll events (#1431)
StatusNotifierItems can expose a Scroll(int delta, string orientation) method for tray hosts to call when the user wheels over an item. The status-area applet handled activation and context menus, but did not forward wheel events to that method.

Track the hovered tray item only while the pointer is over an icon, ignore wheel events already captured by widgets, accumulate fine-grained wheel deltas into discrete scroll steps, and call Scroll on the item proxy. Add unit coverage for the delta/orientation mapping and pixel accumulation.

Signed-off-by: William Fish <william.michael.fish@gmail.com>
2026-07-02 18:02:40 +02:00
Ashley Wulber
69d358ec34 chore: cleanup and update deps 2026-07-01 23:26:15 -04:00
Ashley Wulber
1472f82061 chore: fix popup corners and doubled opacity 2026-06-30 13:17:39 -04:00
Ashley Wulber
7f4b1ab7be chore: update deps 2026-06-30 13:17:39 -04:00