Compare commits

...

16 commits

Author SHA1 Message Date
0df32b8143 fix: adapt to cosmic-theme background(transparent) accessor
Leyoda 2026 – GPLv3
2026-07-03 18:21:18 +02:00
5fcd257eae Refresh Cargo lockfile after upstream rebase 2026-07-03 18:21:18 +02:00
69c1151099 chore: resolve local graphics dependencies 2026-07-03 18:21:18 +02:00
d2379253de chore: use local glyphon lockfile 2026-07-03 18:21:18 +02:00
6ca9abf3d7 chore: refresh lockfile for libcosmic-yoda rebase
Bump cosmic-freedesktop-icons SHA (and other transitive deps) to satisfy
APIs introduced by upstream commits absorbed in libcosmic-yoda squash
rebase on 2026-05-25.

Leyoda 2026 – GPLv3
2026-07-03 18:21:18 +02:00
8ae7eae129 chore: use local cosmic-text checkout 2026-07-03 18:21:18 +02:00
9bb40d6ac7 yoda: use local dbus settings bindings 2026-07-03 18:21:18 +02:00
1fa52f6f27 yoda: use local COSMIC stack 2026-07-03 18:21:18 +02:00
Fred
953478f801
feat: use spinner widget from libcosmic for authentication 2026-06-24 19:12:46 +02:00
Daniel Fox Franke
b877ea6573
fix(justfile): bash syntax error if SOURCE_GIT_HASH was set 2026-06-24 17:03:08 +02:00
Michael Murphy
a57265f480
i18n: translation update from Hosted Weblate (#462)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pop OS/COSMIC
Greeter](https://hosted.weblate.org/projects/pop-os/cosmic-greeter/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pop-os/cosmic-greeter/horizontal-auto.svg)
2026-06-23 17:12:31 +02:00
Hosted Weblate
4b2b044582
i18n: translation updates from weblate
Co-authored-by: CYAXXX <85353920+CYAXXX@users.noreply.github.com>
Co-authored-by: Fedorov Alexei <aleksejfedorov963@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-greeter/kmr/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-greeter/ru/
Translation: Pop OS/COSMIC Greeter
2026-06-23 09:01:23 +02:00
Jeremy Soller
7a0c083f01
Autofill SOURCE_DATE_EPOCH and SOURCE_GIT_HASH during vendoring (#464)
- [X] I have disclosed use of any AI generated code in my commit
messages.
- If you are using an LLM, and do not fully understand the changes it is
making to the code base, do not create a PR.
- In our experience, AI generated code often results in overly complex
code that lacks enough context for a proper fix or feature inclusion.
This results in considerably longer code reviews. Due to this, AI
authored or partially authored PRs may be closed without comment.
- [X] I understand these changes in full and will be able to respond to
review comments.
- [X] My change is accurately described in the commit message.
- [X] My contribution is tested and working as described.
- [X] I have read the [Developer Certificate of
Origin](https://developercertificate.org/) and certify my contribution
under its conditions.

This is a small fix to autofill correct defaults for SOURCE_DATE_EPOCH
and SOURCE_GIT_HASH when running `just vendor`. See
https://github.com/pop-os/cosmic-epoch/issues/3571 for further context.
2026-06-09 07:59:08 -06:00
Daniel Fox Franke
4d72264b89 Autofill SOURCE_DATE_EPOCH and SOURCE_GIT_HASH during vendoring 2026-06-01 15:12:07 -04:00
Jeremy Soller
178d5222ee
i18n: translation update from Hosted Weblate (#458)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pop OS/COSMIC
Greeter](https://hosted.weblate.org/projects/pop-os/cosmic-greeter/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pop-os/cosmic-greeter/horizontal-auto.svg)
2026-05-26 08:32:42 -06:00
Hosted Weblate
2a2ba9f68f
i18n: translation updates from weblate
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Isaac Subirana <isaacsubiranac@gmail.com>
Co-authored-by: Nara Díaz Viñolas <nara.diaz.vinolas@gmail.com>
Co-authored-by: therealmate <hellogaming91@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-greeter/ca/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-greeter/hu/
Translation: Pop OS/COSMIC Greeter
2026-05-25 13:12:33 +02:00
9 changed files with 194 additions and 385 deletions

278
Cargo.lock generated
View file

@ -267,12 +267,6 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
[[package]]
name = "as-raw-xcb-connection"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
[[package]]
name = "as-slice"
version = "0.2.1"
@ -914,7 +908,6 @@ dependencies = [
[[package]]
name = "clipboard_macos"
version = "0.1.0"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c"
dependencies = [
"objc",
"objc-foundation",
@ -924,22 +917,12 @@ dependencies = [
[[package]]
name = "clipboard_wayland"
version = "0.2.2"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c"
dependencies = [
"dnd",
"mime 0.1.0",
"smithay-clipboard",
]
[[package]]
name = "clipboard_x11"
version = "0.4.2"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c"
dependencies = [
"thiserror 1.0.69",
"x11rb",
]
[[package]]
name = "cocoa"
version = "0.25.0"
@ -1112,7 +1095,6 @@ dependencies = [
[[package]]
name = "cosmic-applets-config"
version = "1.0.2"
source = "git+https://github.com/pop-os/cosmic-applets#c003924f0816efff1cf5bbfcdf1d7e1f1f36cae5"
dependencies = [
"cosmic-config",
"serde",
@ -1121,7 +1103,6 @@ dependencies = [
[[package]]
name = "cosmic-bg-config"
version = "1.0.3"
source = "git+https://github.com/pop-os/cosmic-bg#b1ca4c180ab29dd185472b777ab0abdb1f96ccaf"
dependencies = [
"cosmic-config",
"derive_setters",
@ -1133,7 +1114,6 @@ dependencies = [
[[package]]
name = "cosmic-client-toolkit"
version = "0.2.0"
source = "git+https://github.com/pop-os/cosmic-protocols//#8a566624225989629171e732a29e643097a6bea2"
dependencies = [
"bitflags 2.11.1",
"cosmic-protocols",
@ -1146,7 +1126,6 @@ dependencies = [
[[package]]
name = "cosmic-comp-config"
version = "1.0.0"
source = "git+https://github.com/pop-os/cosmic-comp#b5a1a6d3179810627fa0bffac7bd5d78c7df4fa0"
dependencies = [
"cosmic-config",
"cosmic-randr-shell",
@ -1159,7 +1138,6 @@ dependencies = [
[[package]]
name = "cosmic-config"
version = "1.0.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"atomicwrites",
"calloop",
@ -1181,7 +1159,6 @@ dependencies = [
[[package]]
name = "cosmic-config-derive"
version = "1.0.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"quote",
"syn 2.0.117",
@ -1190,7 +1167,6 @@ dependencies = [
[[package]]
name = "cosmic-dbus-a11y"
version = "0.1.0"
source = "git+https://github.com/pop-os/dbus-settings-bindings#507e342c21d3ce6ae41b1d4f3fa2f0ad5ee23e75"
dependencies = [
"zbus",
]
@ -1198,7 +1174,6 @@ dependencies = [
[[package]]
name = "cosmic-dbus-networkmanager"
version = "0.1.0"
source = "git+https://github.com/pop-os/dbus-settings-bindings#507e342c21d3ce6ae41b1d4f3fa2f0ad5ee23e75"
dependencies = [
"bitflags 2.11.1",
"derive_builder",
@ -1211,7 +1186,6 @@ dependencies = [
[[package]]
name = "cosmic-freedesktop-icons"
version = "0.4.0"
source = "git+https://github.com/pop-os/freedesktop-icons#9c562fe3ecf03241a46a60c0078cd6ea10bd75ce"
dependencies = [
"bstr",
"btoi",
@ -1253,7 +1227,7 @@ dependencies = [
"jiff",
"jiff-icu",
"kdl",
"libcosmic",
"libcosmic-yoda",
"logind-zbus",
"pam-client",
"pwd",
@ -1311,7 +1285,6 @@ dependencies = [
[[package]]
name = "cosmic-protocols"
version = "0.2.0"
source = "git+https://github.com/pop-os/cosmic-protocols//#8a566624225989629171e732a29e643097a6bea2"
dependencies = [
"bitflags 2.11.1",
"wayland-backend",
@ -1325,7 +1298,6 @@ dependencies = [
[[package]]
name = "cosmic-randr-shell"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-randr#6e8e795970fa06d434af22775e415b517f7552d3"
dependencies = [
"kdl",
"slotmap",
@ -1335,7 +1307,6 @@ dependencies = [
[[package]]
name = "cosmic-settings-a11y-manager-subscription"
version = "1.0.7"
source = "git+https://github.com/pop-os/cosmic-settings#cb58af2be4e96dae60dfeb4fb7c11f64d0832de5"
dependencies = [
"cosmic-protocols",
"iced_futures",
@ -1349,7 +1320,6 @@ dependencies = [
[[package]]
name = "cosmic-settings-accessibility-subscription"
version = "1.0.7"
source = "git+https://github.com/pop-os/cosmic-settings#cb58af2be4e96dae60dfeb4fb7c11f64d0832de5"
dependencies = [
"cosmic-dbus-a11y",
"futures",
@ -1362,7 +1332,6 @@ dependencies = [
[[package]]
name = "cosmic-settings-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-settings-daemon#716da6d6af0b252e2f78aba2ad72ee19ae0241e0"
dependencies = [
"cosmic-config",
"ron 0.11.0",
@ -1374,8 +1343,7 @@ dependencies = [
[[package]]
name = "cosmic-settings-daemon"
version = "0.1.0"
source = "git+https://github.com/pop-os/dbus-settings-bindings#507e342c21d3ce6ae41b1d4f3fa2f0ad5ee23e75"
version = "0.1.1-yoda.1"
dependencies = [
"zbus",
]
@ -1383,7 +1351,6 @@ dependencies = [
[[package]]
name = "cosmic-settings-daemon-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-settings-daemon#716da6d6af0b252e2f78aba2ad72ee19ae0241e0"
dependencies = [
"cosmic-config",
"cosmic-theme",
@ -1393,8 +1360,6 @@ dependencies = [
[[package]]
name = "cosmic-text"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be17b688510d934ce13f48a2beba700e11583e281e0fda99c22bb256a14eda73"
dependencies = [
"bitflags 2.11.1",
"fontdb",
@ -1412,18 +1377,19 @@ dependencies = [
"unicode-linebreak",
"unicode-script",
"unicode-segmentation",
"unicode-width 0.2.2",
]
[[package]]
name = "cosmic-theme"
version = "1.0.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"almost",
"configparser",
"cosmic-config",
"csscolorparser",
"dirs",
"hex_color",
"palette",
"ron 0.12.1",
"serde",
@ -1483,7 +1449,6 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
[[package]]
name = "cryoglyph"
version = "0.1.0"
source = "git+https://github.com/iced-rs/cryoglyph.git?rev=e429a025df36ab8145708acb309080ae3deec17a#e429a025df36ab8145708acb309080ae3deec17a"
dependencies = [
"cosmic-text",
"etagere",
@ -1520,15 +1485,6 @@ dependencies = [
"uncased",
]
[[package]]
name = "ctor"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83cf0d42651b16c6dfe68685716d18480d18a9c39c62d76e8cf3eb6ed5d8bcbf"
dependencies = [
"dtor",
]
[[package]]
name = "cursor-icon"
version = "1.2.0"
@ -1775,7 +1731,6 @@ dependencies = [
[[package]]
name = "dnd"
version = "0.1.0"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c"
dependencies = [
"bitflags 2.11.1",
"mime 0.1.0",
@ -1802,52 +1757,6 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
[[package]]
name = "dpi"
version = "0.1.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
[[package]]
name = "drm"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde"
dependencies = [
"bitflags 2.11.1",
"bytemuck",
"drm-ffi",
"drm-fourcc",
"rustix 0.38.44",
]
[[package]]
name = "drm-ffi"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
dependencies = [
"drm-sys",
"rustix 0.38.44",
]
[[package]]
name = "drm-fourcc"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
[[package]]
name = "drm-sys"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176"
dependencies = [
"libc",
"linux-raw-sys 0.6.5",
]
[[package]]
name = "dtor"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edf234dd1594d6dd434a8fb8cada51ddbbc593e40e4a01556a0b31c62da2775b"
[[package]]
name = "dyn-clone"
@ -2350,16 +2259,6 @@ dependencies = [
"version_check",
]
[[package]]
name = "gethostname"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8"
dependencies = [
"rustix 1.1.4",
"windows-link 0.2.1",
]
[[package]]
name = "getrandom"
version = "0.2.17"
@ -2487,7 +2386,7 @@ dependencies = [
"log",
"presser",
"thiserror 2.0.18",
"windows 0.62.2",
"windows 0.61.3",
]
[[package]]
@ -2626,6 +2525,17 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hex_color"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d37f101bf4c633f7ca2e4b5e136050314503dd198e78e325ea602c327c484ef0"
dependencies = [
"arrayvec",
"rand 0.8.6",
"serde",
]
[[package]]
name = "hexf-parse"
version = "0.2.1"
@ -2726,7 +2636,6 @@ dependencies = [
[[package]]
name = "iced"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"dnd",
"iced_accessibility",
@ -2747,7 +2656,6 @@ dependencies = [
[[package]]
name = "iced_accessibility"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"accesskit",
"accesskit_winit",
@ -2756,7 +2664,6 @@ dependencies = [
[[package]]
name = "iced_core"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"bitflags 2.11.1",
"bytes",
@ -2773,6 +2680,7 @@ dependencies = [
"serde",
"smol_str",
"thiserror 2.0.18",
"unicode-segmentation",
"web-time",
"window_clipboard",
]
@ -2780,7 +2688,6 @@ dependencies = [
[[package]]
name = "iced_debug"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"iced_core",
"iced_futures",
@ -2790,7 +2697,6 @@ dependencies = [
[[package]]
name = "iced_futures"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"futures",
"iced_core",
@ -2804,7 +2710,6 @@ dependencies = [
[[package]]
name = "iced_graphics"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"bitflags 2.11.1",
"bytemuck",
@ -2825,7 +2730,6 @@ dependencies = [
[[package]]
name = "iced_program"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"iced_graphics",
"iced_runtime",
@ -2834,7 +2738,6 @@ dependencies = [
[[package]]
name = "iced_renderer"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"iced_graphics",
"iced_tiny_skia",
@ -2846,7 +2749,6 @@ dependencies = [
[[package]]
name = "iced_runtime"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"bytes",
"cosmic-client-toolkit",
@ -2861,7 +2763,6 @@ dependencies = [
[[package]]
name = "iced_tiny_skia"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"bytemuck",
"cosmic-text",
@ -2878,9 +2779,7 @@ dependencies = [
[[package]]
name = "iced_wgpu"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"as-raw-xcb-connection",
"bitflags 2.11.1",
"bytemuck",
"cosmic-client-toolkit",
@ -2897,19 +2796,16 @@ dependencies = [
"rustc-hash 2.1.2",
"rustix 0.38.44",
"thiserror 2.0.18",
"tiny-xlib",
"wayland-backend",
"wayland-client",
"wayland-protocols",
"wayland-sys",
"wgpu",
"x11rb",
]
[[package]]
name = "iced_widget"
version = "0.14.2"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"cosmic-client-toolkit",
"dnd",
@ -2927,7 +2823,6 @@ dependencies = [
[[package]]
name = "iced_winit"
version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
dependencies = [
"cosmic-client-toolkit",
"cursor-icon",
@ -3837,9 +3732,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
[[package]]
name = "libcosmic"
version = "1.0.0"
source = "git+https://github.com/pop-os/libcosmic#528513725d3856e5094cfbff5f0dc1a79d6c4018"
name = "libcosmic-yoda"
version = "0.1.0-yoda.2"
dependencies = [
"apply",
"ashpd 0.12.3",
@ -3852,6 +3746,7 @@ dependencies = [
"cosmic-theme",
"css-color",
"derive_setters",
"enumflags2",
"float-cmp 0.10.0",
"freedesktop-desktop-entry",
"futures",
@ -3958,12 +3853,6 @@ version = "0.4.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
[[package]]
name = "linux-raw-sys"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a385b1be4e5c3e362ad2ffa73c392e53f031eaa5b7d648e64cd87f27f6063d7"
[[package]]
name = "linux-raw-sys"
version = "0.12.1"
@ -4176,7 +4065,6 @@ dependencies = [
[[package]]
name = "mime"
version = "0.1.0"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c"
dependencies = [
"smithay-clipboard",
]
@ -5293,6 +5181,8 @@ version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a"
dependencies = [
"libc",
"rand_chacha 0.3.1",
"rand_core 0.6.4",
]
@ -5302,10 +5192,20 @@ version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea"
dependencies = [
"rand_chacha",
"rand_chacha 0.9.0",
"rand_core 0.9.5",
]
[[package]]
name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
"rand_core 0.6.4",
]
[[package]]
name = "rand_chacha"
version = "0.9.0"
@ -5321,6 +5221,9 @@ name = "rand_core"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
"getrandom 0.2.17",
]
[[package]]
name = "rand_core"
@ -5371,7 +5274,7 @@ dependencies = [
"paste",
"profiling",
"rand 0.9.4",
"rand_chacha",
"rand_chacha 0.9.0",
"simd_helpers",
"thiserror 2.0.18",
"v_frame",
@ -5430,6 +5333,16 @@ dependencies = [
"font-types",
]
[[package]]
name = "redox_event"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ea3e412d205440c7b0218af26247226f979ed1201674cda7a33cc70609084b5"
dependencies = [
"bitflags 2.11.1",
"libredox",
]
[[package]]
name = "redox_syscall"
version = "0.5.18"
@ -6034,7 +5947,6 @@ dependencies = [
[[package]]
name = "smithay-clipboard"
version = "0.8.0"
source = "git+https://github.com/pop-os/smithay-clipboard?tag=sctk-0.20#859b02c88f45c554049a67c6ddeec1692ce0e20b"
dependencies = [
"libc",
"raw-window-handle",
@ -6065,14 +5977,11 @@ dependencies = [
[[package]]
name = "softbuffer"
version = "0.4.1"
source = "git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0#c2b2c19ddb38ff17495643699f97cb1f2064a1be"
dependencies = [
"as-raw-xcb-connection",
"bytemuck",
"cfg_aliases",
"cocoa",
"core-graphics",
"drm",
"fastrand",
"foreign-types",
"js-sys",
@ -6082,14 +5991,12 @@ dependencies = [
"raw-window-handle",
"redox_syscall 0.5.18",
"rustix 0.38.44",
"tiny-xlib",
"wasm-bindgen",
"wayland-backend",
"wayland-client",
"wayland-sys",
"web-sys",
"windows-sys 0.52.0",
"x11rb",
]
[[package]]
@ -6322,7 +6229,6 @@ dependencies = [
[[package]]
name = "timedate-zbus"
version = "0.1.0"
source = "git+https://github.com/pop-os/dbus-settings-bindings#507e342c21d3ce6ae41b1d4f3fa2f0ad5ee23e75"
dependencies = [
"zbus",
]
@ -6353,19 +6259,6 @@ dependencies = [
"strict-num",
]
[[package]]
name = "tiny-xlib"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a90a0ca3ee6a69f2ad28fd11621a4c3f03b371f366be500b64df260c4ffbafb4"
dependencies = [
"as-raw-xcb-connection",
"ctor",
"libloading",
"pkg-config",
"tracing",
]
[[package]]
name = "tinystr"
version = "0.8.3"
@ -6716,7 +6609,6 @@ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
[[package]]
name = "upower_dbus"
version = "0.3.2"
source = "git+https://github.com/pop-os/dbus-settings-bindings#507e342c21d3ce6ae41b1d4f3fa2f0ad5ee23e75"
dependencies = [
"serde",
"serde_repr",
@ -7330,12 +7222,10 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "window_clipboard"
version = "0.4.1"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=sctk-0.20#f68595ee0e62fbd6589f4709b5aaa5c3c7ea5f6c"
dependencies = [
"clipboard-win",
"clipboard_macos",
"clipboard_wayland",
"clipboard_x11",
"dnd",
"mime 0.1.0",
"raw-window-handle",
@ -7775,7 +7665,6 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
[[package]]
name = "winit"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"bitflags 2.11.1",
"cfg_aliases",
@ -7795,13 +7684,11 @@ dependencies = [
"winit-wayland",
"winit-web",
"winit-win32",
"winit-x11",
]
[[package]]
name = "winit-android"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"android-activity",
"bitflags 2.11.1",
@ -7816,7 +7703,6 @@ dependencies = [
[[package]]
name = "winit-appkit"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"bitflags 2.11.1",
"block2 0.6.2",
@ -7838,7 +7724,6 @@ dependencies = [
[[package]]
name = "winit-common"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"memmap2 0.9.10",
"objc2 0.6.4",
@ -7846,14 +7731,12 @@ dependencies = [
"smol_str",
"tracing",
"winit-core",
"x11-dl",
"xkbcommon-dl",
]
[[package]]
name = "winit-core"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"bitflags 2.11.1",
"cursor-icon",
@ -7867,14 +7750,13 @@ dependencies = [
[[package]]
name = "winit-orbital"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"bitflags 2.11.1",
"dpi",
"libredox",
"orbclient",
"raw-window-handle",
"redox_syscall 0.7.5",
"redox_event",
"smol_str",
"tracing",
"winit-core",
@ -7883,7 +7765,6 @@ dependencies = [
[[package]]
name = "winit-uikit"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"bitflags 2.11.1",
"block2 0.6.2",
@ -7903,7 +7784,6 @@ dependencies = [
[[package]]
name = "winit-wayland"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"ahash",
"bitflags 2.11.1",
@ -7929,7 +7809,6 @@ dependencies = [
[[package]]
name = "winit-web"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"atomic-waker",
"bitflags 2.11.1",
@ -7951,7 +7830,6 @@ dependencies = [
[[package]]
name = "winit-win32"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"bitflags 2.11.1",
"cursor-icon",
@ -7964,29 +7842,6 @@ dependencies = [
"winit-core",
]
[[package]]
name = "winit-x11"
version = "0.31.0-beta.2"
source = "git+https://github.com/pop-os/winit.git?tag=cosmic-0.14#261cda54017f98a12dc55569c864430fe6770366"
dependencies = [
"bitflags 2.11.1",
"bytemuck",
"calloop",
"cursor-icon",
"dpi",
"libc",
"percent-encoding",
"raw-window-handle",
"rustix 1.1.4",
"smol_str",
"tracing",
"winit-common",
"winit-core",
"x11-dl",
"x11rb",
"xkbcommon-dl",
]
[[package]]
name = "winnow"
version = "0.6.24"
@ -8114,39 +7969,6 @@ dependencies = [
"either",
]
[[package]]
name = "x11-dl"
version = "2.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
dependencies = [
"libc",
"once_cell",
"pkg-config",
]
[[package]]
name = "x11rb"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414"
dependencies = [
"as-raw-xcb-connection",
"gethostname",
"libc",
"libloading",
"once_cell",
"rustix 1.1.4",
"x11rb-protocol",
"xcursor",
]
[[package]]
name = "x11rb-protocol"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd"
[[package]]
name = "xcursor"
version = "0.3.10"
@ -8542,3 +8364,7 @@ dependencies = [
"syn 2.0.117",
"winnow 1.0.2",
]
[[patch.unused]]
name = "winit-x11"
version = "0.31.0-beta.2"

View file

@ -19,7 +19,8 @@ cosmic-config = { workspace = true, features = ["calloop", "macro"] }
cosmic-greeter-config.workspace = true
cosmic-greeter-daemon = { path = "daemon" }
dirs = "6"
libcosmic = { workspace = true, features = [
cosmic = { package = "libcosmic-yoda", path = "../libcosmic", default-features = false, features = [
"advanced-shaping",
"autosize",
"winit",
"multi-window",
@ -45,23 +46,23 @@ wayland-client = "0.31.14"
# "cosmic_a11y_manager",
# ] }
cosmic-settings-accessibility-subscription = { git = "https://github.com/pop-os/cosmic-settings", default-features = false }
cosmic-settings-a11y-manager-subscription = { git = "https://github.com/pop-os/cosmic-settings", default-features = false }
cosmic-settings-daemon-config = { git = "https://github.com/pop-os/cosmic-settings-daemon", default-features = false, features = [
cosmic-settings-accessibility-subscription = { path = "../cosmic-settings/subscriptions/accessibility", default-features = false }
cosmic-settings-a11y-manager-subscription = { path = "../cosmic-settings/subscriptions/a11y-manager", default-features = false }
cosmic-settings-daemon-config = { path = "../cosmic-settings-daemon/cosmic-settings-daemon-config", default-features = false, features = [
"greeter",
] }
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit" }
cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols", default-features = false, features = [
cctk = { path = "../cosmic-protocols/client-toolkit", package = "cosmic-client-toolkit" }
cosmic-protocols = { path = "../cosmic-protocols", default-features = false, features = [
"client",
] }
# For network status using networkmanager feature
cosmic-dbus-networkmanager = { git = "https://github.com/pop-os/dbus-settings-bindings", optional = true }
cosmic-dbus-networkmanager = { path = "../dbus-settings-bindings/networkmanager", optional = true }
# For logind integration using logind feature
logind-zbus = { version = "5", optional = true }
# For power status with upower feature
upower_dbus = { git = "https://github.com/pop-os/dbus-settings-bindings", optional = true }
upower_dbus = { path = "../dbus-settings-bindings/upower", optional = true }
# Required for some features
zbus = { workspace = true }
# CLI arguments
@ -74,7 +75,7 @@ i18n-embed = { version = "0.16", features = [
i18n-embed-fl = "0.10"
rust-embed = "8"
futures-util = "0.3.32"
timedate-zbus = { git = "https://github.com/pop-os/dbus-settings-bindings" }
timedate-zbus = { path = "../dbus-settings-bindings/timedate" }
cosmic-randr-shell = { workspace = true }
kdl.workspace = true
color-eyre.workspace = true
@ -124,18 +125,18 @@ serde = "1"
tokio = "1.52.1"
zbus = "5"
kdl = "6"
cosmic-randr-shell = { git = "https://github.com/pop-os/cosmic-randr", default-features = false }
cosmic-randr-shell = { path = "../cosmic-randr/shell", default-features = false }
[workspace.dependencies.cosmic-applets-config]
git = "https://github.com/pop-os/cosmic-applets"
path = "../cosmic-applets/cosmic-applets-config"
default-features = false
[workspace.dependencies.cosmic-bg-config]
git = "https://github.com/pop-os/cosmic-bg"
path = "../cosmic-bg/config"
default-features = false
[workspace.dependencies.cosmic-comp-config]
git = "https://github.com/pop-os/cosmic-comp"
path = "../cosmic-comp/cosmic-comp-config"
default-features = false
features = ["output", "randr"]
@ -143,25 +144,43 @@ features = ["output", "randr"]
path = "cosmic-greeter-config"
[workspace.dependencies.cosmic-config]
git = "https://github.com/pop-os/libcosmic"
path = "../libcosmic/cosmic-config"
default-features = false
[workspace.dependencies.cosmic-theme]
git = "https://github.com/pop-os/libcosmic"
path = "../libcosmic/cosmic-theme"
default-features = false
[workspace.dependencies.libcosmic]
git = "https://github.com/pop-os/libcosmic"
default-features = false
features = ["advanced-shaping"]
[patch."https://github.com/pop-os/libcosmic"]
cosmic-config = { path = "../libcosmic/cosmic-config" }
cosmic-config-derive = { path = "../libcosmic/cosmic-config-derive" }
cosmic-theme = { path = "../libcosmic/cosmic-theme" }
iced = { path = "../libcosmic/iced" }
iced_accessibility = { path = "../libcosmic/iced/accessibility" }
iced_core = { path = "../libcosmic/iced/core" }
iced_futures = { path = "../libcosmic/iced/futures" }
iced_graphics = { path = "../libcosmic/iced/graphics" }
iced_renderer = { path = "../libcosmic/iced/renderer" }
iced_runtime = { path = "../libcosmic/iced/runtime" }
iced_tiny_skia = { path = "../libcosmic/iced/tiny_skia" }
iced_wgpu = { path = "../libcosmic/iced/wgpu" }
iced_widget = { path = "../libcosmic/iced/widget" }
iced_winit = { path = "../libcosmic/iced/winit" }
[patch."https://github.com/pop-os/cosmic-protocols"]
cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols//" }
cctk = { git = "https://github.com/pop-os/cosmic-protocols//", package = "cosmic-client-toolkit" }
cosmic-protocols = { path = "../cosmic-protocols" }
cosmic-client-toolkit = { path = "../cosmic-protocols/client-toolkit" }
# [patch."https://github.com/pop-os/libcosmic"]
# iced_core = { git = "https://github.com/pop-os/libcosmic//" }
# iced_futures = { git = "https://github.com/pop-os/libcosmic//" }
# libcosmic = { git = "https://github.com/pop-os/libcosmic//" }
# cosmic-config = { git = "https://github.com/pop-os/libcosmic//" }
# cosmic-theme = { git = "https://github.com/pop-os/libcosmic//" }
[patch."https://github.com/pop-os/cosmic-settings-daemon"]
cosmic-settings-config = { path = "../cosmic-settings-daemon/config" }
cosmic-settings-daemon-config = { path = "../cosmic-settings-daemon/cosmic-settings-daemon-config" }
[patch."https://github.com/pop-os/cosmic-text.git"]
cosmic-text = { path = "../cosmic-text" }
[patch."https://forge.aditua.com/leyoda/window_clipboard.git"]
window_clipboard = { path = "../window_clipboard" }
dnd = { path = "../window_clipboard/dnd" }
mime = { path = "../window_clipboard/mime" }
clipboard_wayland = { path = "../window_clipboard/wayland" }
clipboard_macos = { path = "../window_clipboard/macos" }

View file

@ -1 +1,37 @@
cancel = Cancel·lar
accessibility = Accessibilitat
.screen-reader = Lector de Pantalla
.magnifier = Lupa
.high-contrast = Mode de Contrast Alt
.invert-colors = Inverteix els Colors
authenticating = Autenticant...
restart = Reinicia
restart-now = Reiniciar ara?
restart-timeout =
El sistema es reiniciarà automàticament
{ $seconds ->
[0] ara.
[1] d'aquí a 1 segon.
*[other] d'aquí a { $seconds } segons.
}
shutdown = Apaga
shutdown-now = Apagar ara?
shutdown-timeout =
El sistema s'apagarà automàticament
{ $seconds ->
[0] ara.
[1] d'aquí a 1 segon.
*[other] d'aquí a { $seconds } segons.
}
suspend = Suspèn
auth-error-default = L'autenticació ha fallat. Si us plau, torneu a intentarho.
auth-error-credentials = Contrasenya incorrecta. Si us plau, comproveu la vostra disposició de teclat i torneu a intentarho.
auth-error-denied = Accés denegat.
auth-error-maxtries = Massa intents fallits d'autenticació.
auth-error-account = El compte no està disponible o està deshabilitat.
caps-lock = Bloq Maj activat.
enter-user = Introduir el nom manualment...
type-username = Usuari:
keyboard-layout = Disposició de teclat
session = Sessió
user = Usuari

View file

@ -4,7 +4,7 @@ accessibility = Akadálymentesség
.high-contrast = Magas kontraszt
.invert-colors = Színek invertálása
cancel = Mégse
caps-lock = A Caps Lock be van kapcsolva
caps-lock = A Caps Lock be van kapcsolva.
enter-user = Név megadása kézzel…
type-username = Felhasználónév:
keyboard-layout = Billentyűzetkiosztás
@ -13,9 +13,9 @@ restart-now = Újraindítás most?
restart-timeout =
A rendszer automatikusan újraindul
{ $seconds ->
[0] most
[1] 1 másodperc múlva
*[other] { $seconds } másodperc múlva
[0] most.
[1] 1 másodperc múlva.
*[other] { $seconds } másodperc múlva.
}
session = Munkamenet
shutdown = Leállítás
@ -30,8 +30,8 @@ shutdown-timeout =
suspend = Felfüggesztés
user = Felhasználó
authenticating = Hitelesítés…
auth-error-default = Hitelesítés sikertelen, próbáld újra.
auth-error-default = Hitelesítés sikertelen. Próbáld újra.
auth-error-credentials = Hibás jelszó. Ellenőrizd a billentyűzetkiosztást és próbáld újra.
auth-error-denied = Hozzáférés megtagadva
auth-error-denied = Hozzáférés megtagadva.
auth-error-account = A fiók nem érhető el vagy le van tiltva.
auth-error-maxtries = Túl sok sikertelen bejelentkezési kísérlet
auth-error-maxtries = Túl sok sikertelen bejelentkezési kísérlet.

View file

@ -0,0 +1,37 @@
cancel = Têk bibe
accessibility = Gihîştin
.screen-reader = Xwînera dîmenderê
.magnifier = Mezinker
.high-contrast = Dijberiya bilind
.invert-colors = Rengên berevajîkirî
authenticating = Tê rastandin...
type-username = Navê bikarhêner:
restart = Ji nû ve bide destpêkirin
user = Bikarhêner
caps-lock = Caps Lock çalak e.
enter-user = Navê bi destan têxîne...
keyboard-layout = Awayê kilîtdankê
restart-now = Niha ji nû ve bide destpêkirin?
restart-timeout =
Pergal wê xweber were jinûvedestpêkirin
{ $seconds ->
[0] niha
[1] di 1 çirke de
*[other] di { $seconds } çirke de.
}
session = Danaşîn
shutdown = Vemrîne
shutdown-now = Niha vemrîne?
shutdown-timeout =
Pergal wê xweber were vemirandin
{ $seconds ->
[0] niha.
[1] di 1 çirke de.
*[other] di { $seconds } çirke de.
}
suspend = Rawestîne
auth-error-default = Rastandinê têk çû. Tika ye dîsa hewl bide.
auth-error-credentials = Borînpeyv şaş e. Tika ye awayê kilîtdankê xwe kontrol bike û dîsa hewl bide.
auth-error-denied = Gihîştin hate astengkirin.
auth-error-maxtries = Gelek hewldanên rastandinê yên şaş.
auth-error-account = Jimarê bikarhêner tune ye yan jî neçalak e.

View file

@ -27,7 +27,7 @@ accessibility = Специальные возможности
.high-contrast = Высокая контрастность
.invert-colors = Инверсия цветов
caps-lock = Включён Caps Lock.
enter-user = Введите имя вручную...
enter-user = Ввести имя вручную...
type-username = Имя пользователя:
authenticating = Аутентификация…
auth-error-default = Сбой аутентификации. Повторите попытку.

View file

@ -92,15 +92,15 @@ vendor:
echo 'directory = "vendor"' >> .cargo/config.toml
echo >> .cargo/config.toml
echo '[env]' >> .cargo/config.toml
if [ -n "${SOURCE_DATE_EPOCH}" ]
then
source_date="$(date -d "@${SOURCE_DATE_EPOCH}" "+%Y-%m-%d")"
echo "VERGEN_GIT_COMMIT_DATE = \"${source_date}\"" >> .cargo/config.toml
if [ -z "${SOURCE_DATE_EPOCH}" ]; then
SOURCE_DATE_EPOCH=$(git log -1 --format='%ct')
fi
if [ -n "${SOURCE_GIT_HASH}" ]
then
echo "VERGEN_GIT_SHA = \"${SOURCE_GIT_HASH}\"" >> .cargo/config.toml
if [ -z "${SOURCE_GIT_HASH}" ]; then
SOURCE_GIT_HASH=$(git rev-parse HEAD)
fi
source_date="$(date -d "@${SOURCE_DATE_EPOCH}" "+%Y-%m-%d")"
echo "VERGEN_GIT_COMMIT_DATE = \"${source_date}\"" >> .cargo/config.toml
echo "VERGEN_GIT_SHA = \"${SOURCE_GIT_HASH}\"" >> .cargo/config.toml
tar pcf vendor.tar .cargo vendor
rm -rf .cargo vendor

View file

@ -390,7 +390,6 @@ pub enum Message {
HighContrast(bool),
InvertColors(bool),
WaylandUpdate(WaylandUpdate),
SpinnerTick,
}
impl From<common::Message> for Message {
@ -420,8 +419,6 @@ pub struct App {
accessibility: Accessibility,
authenticating: bool,
spinner_rotation: f32,
spinner_handle: Option<cosmic::iced::task::Handle>,
}
#[derive(Default)]
@ -555,7 +552,7 @@ impl App {
//TODO: move style to libcosmic
.class(theme::Container::custom(|theme| {
let cosmic = theme.cosmic();
let component = &cosmic.background.component;
let component = &cosmic.background(false).component;
widget::container::Style {
icon_color: Some(component.on.into()),
text_color: Some(component.on.into()),
@ -902,14 +899,7 @@ impl App {
widget::row::with_capacity(2)
.spacing(8.0)
.align_y(Alignment::Center)
.push(
widget::icon::from_name("process-working-symbolic")
.size(16)
.icon()
.rotation(iced::Rotation::Floating(iced::Radians(
self.spinner_rotation.to_radians(),
))),
)
.push(widget::indeterminate_circular().size(16.0).bar_height(2.0))
.push(widget::text(fl!("authenticating"))),
)
.width(Length::Fill)
@ -1173,8 +1163,6 @@ impl cosmic::Application for App {
randr_list: None,
surface_id_pairs: Vec::new(),
authenticating: false,
spinner_rotation: 0.0,
spinner_handle: None,
};
(app, Task::batch(tasks))
}
@ -1482,39 +1470,12 @@ impl cosmic::Application for App {
self.common.error_opt = None;
self.authenticating = true;
self.send_request(Request::PostAuthMessageResponse { response });
// Start spinner animation if not already running
if self.spinner_handle.is_none() {
let (spinner_task, handle) =
cosmic::task::stream(cosmic::iced::stream::channel(
1,
|mut msg_tx: iced::futures::channel::mpsc::Sender<_>| async move {
let mut interval = time::interval(Duration::from_millis(16)); // ~60fps
loop {
msg_tx
.send(cosmic::Action::App(Message::SpinnerTick))
.await
.unwrap();
interval.tick().await;
}
},
))
.abortable();
self.spinner_handle = Some(handle);
return spinner_task;
}
}
Message::Login => {
self.common.prompt_opt = None;
self.common.error_opt = None;
self.authenticating = false;
// Stop spinner animation
if let Some(handle) = self.spinner_handle.take() {
handle.abort();
}
self.spinner_rotation = 0.0;
match self.flags.sessions.get(&self.selected_session).cloned() {
Some((cmd, env)) => {
self.send_request(Request::StartSession { cmd, env });
@ -1527,12 +1488,6 @@ impl cosmic::Application for App {
self.common.error_opt = Some(error);
self.authenticating = false;
// Stop spinner animation
if let Some(handle) = self.spinner_handle.take() {
handle.abort();
}
self.spinner_rotation = 0.0;
self.send_request(Request::CancelSession);
}
Message::Reconnect => {
@ -1863,10 +1818,6 @@ impl cosmic::Application for App {
};
return reposition_subsurface(*subsurface_id, loc.x as i32, loc.y as i32);
}
Message::SpinnerTick => {
// Update spinner rotation angle (360 degrees per second = 6 degrees per frame at 60fps)
self.spinner_rotation = (self.spinner_rotation + 6.0) % 360.0;
}
}
Task::none()
}

View file

@ -274,7 +274,6 @@ pub enum Message {
Error(String),
Lock,
Unlock,
SpinnerTick,
}
impl From<common::Message> for Message {
@ -312,8 +311,6 @@ pub struct App {
inhibit_opt: Option<Arc<OwnedFd>>,
value_tx_opt: Option<mpsc::Sender<String>>,
authenticating: bool,
spinner_rotation: f32,
spinner_handle: Option<cosmic::iced::task::Handle>,
}
impl App {
@ -390,7 +387,7 @@ impl App {
//TODO: move style to libcosmic
.class(theme::Container::custom(|theme| {
let cosmic = theme.cosmic();
let component = &cosmic.background.component;
let component = &cosmic.background(false).component;
widget::container::Style {
icon_color: Some(component.on.into()),
text_color: Some(component.on.into()),
@ -566,14 +563,7 @@ impl App {
widget::row::with_capacity(2)
.spacing(8.0)
.align_y(Alignment::Center)
.push(
widget::icon::from_name("process-working-symbolic")
.size(16)
.icon()
.rotation(iced::Rotation::Floating(iced::Radians(
self.spinner_rotation.to_radians(),
))),
)
.push(widget::indeterminate_circular().size(16.0).bar_height(2.0))
.push(widget::text(fl!("authenticating"))),
)
.width(Length::Fill)
@ -675,8 +665,6 @@ impl cosmic::Application for App {
inhibit_opt: None,
value_tx_opt: None,
authenticating: false,
spinner_rotation: 0.0,
spinner_handle: None,
};
let task = if cfg!(feature = "logind") {
@ -1047,39 +1035,10 @@ impl cosmic::Application for App {
self.authenticating = true;
match self.value_tx_opt.take() {
Some(value_tx) => {
// Start spinner animation if not already running
if self.spinner_handle.is_none() {
let (spinner_task, handle) =
cosmic::task::stream(cosmic::iced::stream::channel(
1,
|mut msg_tx: futures::channel::mpsc::Sender<_>| async move {
let mut interval =
tokio::time::interval(Duration::from_millis(16)); // ~60fps
loop {
msg_tx
.send(cosmic::Action::App(Message::SpinnerTick))
.await
.unwrap();
interval.tick().await;
}
},
))
.abortable();
self.spinner_handle = Some(handle);
return Task::batch([
spinner_task,
cosmic::task::future(async move {
value_tx.send(value).await.unwrap();
Message::Channel(value_tx)
}),
]);
} else {
return cosmic::task::future(async move {
value_tx.send(value).await.unwrap();
Message::Channel(value_tx)
});
}
return cosmic::task::future(async move {
value_tx.send(value).await.unwrap();
Message::Channel(value_tx)
});
}
None => tracing::warn!("tried to submit when value_tx_opt not set"),
}
@ -1098,16 +1057,6 @@ impl cosmic::Application for App {
Message::Error(error) => {
self.common.error_opt = Some(error);
self.authenticating = false;
// Stop spinner animation
if let Some(handle) = self.spinner_handle.take() {
handle.abort();
}
self.spinner_rotation = 0.0;
}
Message::SpinnerTick => {
// Update spinner rotation angle (360 degrees per second = 6 degrees per frame at 60fps)
self.spinner_rotation = (self.spinner_rotation + 6.0) % 360.0;
}
Message::Lock => match self.state {
State::Unlocked => {
@ -1119,10 +1068,6 @@ impl cosmic::Application for App {
self.value_tx_opt = None;
// Reset authenticating state
self.authenticating = false;
if let Some(handle) = self.spinner_handle.take() {
handle.abort();
}
self.spinner_rotation = 0.0;
// Try to create lockfile when locking
if let Some(ref lockfile) = self.flags.lockfile_opt
&& let Err(err) = fs::File::create(lockfile)
@ -1151,11 +1096,6 @@ impl cosmic::Application for App {
// Stop authenticating
self.authenticating = false;
// Stop spinner animation
if let Some(handle) = self.spinner_handle.take() {
handle.abort();
}
self.spinner_rotation = 0.0;
// Try to delete lockfile when unlocking
if let Some(ref lockfile) = self.flags.lockfile_opt
&& let Err(err) = fs::remove_file(lockfile)