Compare commits

...

7 commits

Author SHA1 Message Date
7df503977d Fix status menu build after upstream rebase
Some checks failed
Continuous Integration / formatting (push) Has been cancelled
Continuous Integration / linting (push) Has been cancelled
2026-06-13 08:39:59 +02:00
43415d98b1 yoda: use local dbus settings bindings 2026-06-13 08:39:59 +02:00
c38dba6a52 chore: align applets with local stack 2026-06-13 08:39:59 +02:00
Hojjat
090503ab2b chore: update cosmic-freedesktop-icons to fix dropbox tray icon 2026-06-13 08:39:59 +02:00
Hosted Weblate
658c38e913 i18n: translation updates from weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Isaac Subirana <isaacsubiranac@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-applet-audio/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-battery/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-bluetooth/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-network/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-notifications/hu/
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/hu/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-applet-tiling/hu/
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/uk/
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 Network Applet
Translation: Pop OS/COSMIC Notifications Applet
Translation: Pop OS/COSMIC Power Applet
Translation: Pop OS/COSMIC Tiling Applet
2026-06-13 08:39:59 +02:00
Hojjat
3f530fd31f chore: update libcosmic 2026-06-13 08:39:59 +02:00
Hojjat
9c4299429e fix: search the theme path provided by the app to find status-area icons 2026-06-13 08:39:59 +02:00
13 changed files with 76 additions and 55 deletions

52
Cargo.lock generated
View file

@ -2003,9 +2003,9 @@ dependencies = [
[[package]] [[package]]
name = "displaydoc" name = "displaydoc"
version = "0.2.5" version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -3780,7 +3780,7 @@ dependencies = [
"portable-atomic", "portable-atomic",
"portable-atomic-util", "portable-atomic-util",
"serde_core", "serde_core",
"windows-sys 0.61.2", "windows-link 0.2.1",
] ]
[[package]] [[package]]
@ -4074,14 +4074,14 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
[[package]] [[package]]
name = "libredox" name = "libredox"
version = "0.1.16" version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3"
dependencies = [ dependencies = [
"bitflags 2.11.1", "bitflags 2.11.1",
"libc", "libc",
"plain", "plain",
"redox_syscall 0.7.5", "redox_syscall 0.8.0",
] ]
[[package]] [[package]]
@ -4289,9 +4289,9 @@ dependencies = [
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.8.0" version = "2.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8"
[[package]] [[package]]
name = "memmap2" name = "memmap2"
@ -4366,9 +4366,9 @@ dependencies = [
[[package]] [[package]]
name = "mio" name = "mio"
version = "1.2.0" version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda"
dependencies = [ dependencies = [
"libc", "libc",
"log", "log",
@ -5508,6 +5508,16 @@ dependencies = [
"font-types", "font-types",
] ]
[[package]]
name = "redox_event"
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c07d0d6d291e3a951bd847b1cd4af32fc6243d64116cf7702838c02797688b7"
dependencies = [
"bitflags 2.11.1",
"libredox",
]
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.5.18" version = "0.5.18"
@ -5519,9 +5529,9 @@ dependencies = [
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.7.5" version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4666a1a60d8412eab19d94f6d13dcc9cea0a5ef4fdf6a5db306537413c661b1b" checksum = "7c7591fa2c6b601dfcfe5f043f65a1c39fcdf50efefcd7f1572e538c1f4b398d"
dependencies = [ dependencies = [
"bitflags 2.11.1", "bitflags 2.11.1",
] ]
@ -6149,9 +6159,9 @@ dependencies = [
[[package]] [[package]]
name = "socket2" name = "socket2"
version = "0.6.3" version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.61.2", "windows-sys 0.61.2",
@ -6590,9 +6600,9 @@ dependencies = [
[[package]] [[package]]
name = "toml_edit" name = "toml_edit"
version = "0.25.11+spec-1.1.0" version = "0.25.12+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" checksum = "d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7"
dependencies = [ dependencies = [
"indexmap 2.14.0", "indexmap 2.14.0",
"toml_datetime", "toml_datetime",
@ -7973,7 +7983,7 @@ dependencies = [
"libredox", "libredox",
"orbclient", "orbclient",
"raw-window-handle", "raw-window-handle",
"redox_syscall 0.7.5", "redox_event",
"smol_str", "smol_str",
"tracing", "tracing",
"winit-core", "winit-core",
@ -8442,18 +8452,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524"
[[package]] [[package]]
name = "zerocopy" name = "zerocopy"
version = "0.8.48" version = "0.8.49"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" checksum = "bce33a6288fa3f072a8c2c7d0f2fdbb90e28298f0135c1f99b96c3db2efcc60b"
dependencies = [ dependencies = [
"zerocopy-derive", "zerocopy-derive",
] ]
[[package]] [[package]]
name = "zerocopy-derive" name = "zerocopy-derive"
version = "0.8.48" version = "0.8.49"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" checksum = "8fd425244944f4ab65ccff928e7323354c5a018c75838362fdce749dfad2ee1e"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",

View file

@ -2,6 +2,6 @@ output = Kimenet
input = Bemenet input = Bemenet
show-media-controls = Médiavezérlők megjelenítése a panelen show-media-controls = Médiavezérlők megjelenítése a panelen
sound-settings = Hangbeállítások… sound-settings = Hangbeállítások…
disconnected = PulseAudio nincs csatlakozva disconnected = A PulseAudio-kapcsolat megszakadt
no-device = Nincs kiválasztott eszköz no-device = Nincs eszköz kiválasztva
unknown-artist = Ismeretlen unknown-artist = Ismeretlen

View file

@ -1,13 +1,13 @@
battery = Akkumulátor battery = Akkumulátor
battery-desc = Csökkentett energiafogyasztás és teljesítmény battery-desc = Csökkentett energiafogyasztás és teljesítmény.
balanced = Kiegyensúlyozott balanced = Kiegyensúlyozott
balanced-desc = Normál teljesítmény és akkumulátorhasználat balanced-desc = Normál teljesítmény és akkumulátorhasználat.
performance = Nagy teljesítmény performance = Nagy teljesítmény
performance-desc = Nagy teljesítmény és energiafogyasztás performance-desc = Nagy teljesítmény és energiafogyasztás.
max-charge = Az akkumulátor élettartamának növelése érdekében állítsa a maximális töltési szintet 80%-ra max-charge = Az akkumulátor élettartamának növelése érdekében állítsd a maximális töltési szintet 80%-ra
seconds = másodperc seconds = mp
minutes = perc minutes = p
hours = óra hours = ó
until-empty = a lemerülésig until-empty = a lemerülésig
power-settings = Energia- és akkumulátorbeállítások… power-settings = Energia- és akkumulátorbeállítások…
dgpu-running = A dedikált GPU aktív, ami csökkentheti az akkumulátor élettartamát dgpu-running = A dedikált GPU aktív, ami csökkentheti az akkumulátor élettartamát

View file

@ -1,7 +1,7 @@
bluetooth = Bluetooth bluetooth = Bluetooth
other-devices = Egyéb Bluetooth-eszközök other-devices = Egyéb Bluetooth-eszközök
settings = Bluetooth-beállítások… settings = Bluetooth-beállítások…
connected = Csatlakoztatva connected = Kapcsolódva
confirm-pin = Ellenőrizd, hogy a következő PIN-kód megegyezik-e a(z) { $deviceName } eszközön megjelenő PIN-kóddal confirm-pin = Ellenőrizd, hogy a következő PIN-kód megegyezik-e a(z) { $deviceName } eszközön megjelenő PIN-kóddal
confirm = Megerősítés confirm = Megerősítés
cancel = Mégse cancel = Mégse

View file

@ -1,16 +1,16 @@
network = Hálózat network = Hálózat
airplane-mode = Repülőgép-üzemmód airplane-mode = Repülőgép-üzemmód
airplane-mode-on = A repülőgép-üzemmód be van kapcsolva airplane-mode-on = A repülőgép-üzemmód be van kapcsolva
turn-off-airplane-mode = Kapcsold ki a Wi-Fi, Bluetooth és mobil szélessáv engedélyezéséhez. turn-off-airplane-mode = Kapcsold ki a Wi-Fi, Bluetooth és mobil széles sáv engedélyezéséhez.
wifi = Wi-Fi wifi = Wi-Fi
identity = Azonosító identity = Azonosító
ipv4 = IPv4-cím ipv4 = IPv4-cím
ipv6 = IPv6-cím ipv6 = IPv6-cím
mac = MAC mac = MAC
megabits-per-second = Mbps megabits-per-second = Mbps
connected = Csatlakoztatva connected = Kapcsolódva
connecting = Csatlakozás… connecting = Kapcsolódás
connect = Csatlakozás connect = Kapcsolódás
cancel = Mégse cancel = Mégse
settings = Hálózati beállítások… settings = Hálózati beállítások…
visible-wireless-networks = Látható vezeték nélküli hálózatok visible-wireless-networks = Látható vezeték nélküli hálózatok

View file

@ -1,14 +1,14 @@
hours-ago = hours-ago =
{ $duration -> { $duration ->
[0] Most [0] Épp most
[one] 1 órával ezelőtt [one] 1 órája
*[other] { $duration } órával ezelőtt *[other] { $duration } órája
} }
minutes-ago = minutes-ago =
{ $duration -> { $duration ->
[0] Most [0] Épp most
[one] 1 perccel ezelőtt [one] 1 perce
*[other] { $duration } perccel ezelőtt *[other] { $duration } perce
} }
show-less = Kevesebb megjelenítése show-less = Kevesebb megjelenítése
show-more = { $more } további megjelenítése show-more = { $more } további megjelenítése

View file

@ -1,2 +1,4 @@
cancel = Cancel·lar cancel = Cancel·lar
confirm = Confirmar confirm = Confirmar
restart = Reinicia
suspend = Suspèn

View file

@ -33,4 +33,4 @@ confirm-body =
[lock-screen] zárolni fogja a képernyőt [lock-screen] zárolni fogja a képernyőt
[log-out] kijelentkezik [log-out] kijelentkezik
*[other] alkalmazni fogja a kiválasztott műveletet *[other] alkalmazni fogja a kiválasztott műveletet
} { $countdown } másodperc múlva } { $countdown } másodperc múlva.

View file

@ -8,7 +8,7 @@ use cosmic::{
iced, iced,
widget::icon::{self, IconFallback}, widget::icon::{self, IconFallback},
}; };
use std::path::Path; use std::path::{Path, PathBuf};
use crate::subscriptions::status_notifier_item::{IconUpdate, Layout, StatusNotifierItem}; use crate::subscriptions::status_notifier_item::{IconUpdate, Layout, StatusNotifierItem};
@ -26,6 +26,7 @@ pub struct State {
expanded: Option<i32>, expanded: Option<i32>,
// TODO handle icon with multiple sizes? // TODO handle icon with multiple sizes?
icon_handle: icon::Handle, icon_handle: icon::Handle,
icon_theme_path: Option<PathBuf>,
click_event: Option<(i32, bool)>, click_event: Option<(i32, bool)>,
} }
@ -39,6 +40,7 @@ impl State {
icon_handle: icon::from_name("application-default") icon_handle: icon::from_name("application-default")
.prefer_svg(true) .prefer_svg(true)
.handle(), .handle(),
icon_theme_path: None,
click_event: None, click_event: None,
}, },
iced::Task::none(), iced::Task::none(),
@ -63,6 +65,7 @@ impl State {
} }
Msg::Icon(update) => { Msg::Icon(update) => {
let icon_name = update.name.unwrap_or_default(); let icon_name = update.name.unwrap_or_default();
self.icon_theme_path = update.theme_path;
// Use the icon pixmap if an icon was not defined by name. // Use the icon pixmap if an icon was not defined by name.
if icon_name.is_empty() { if icon_name.is_empty() {
@ -93,13 +96,18 @@ impl State {
self.icon_handle = if Path::new(&icon_name).exists() { self.icon_handle = if Path::new(&icon_name).exists() {
icon::from_path(Path::new(&icon_name).to_path_buf()).symbolic(true) icon::from_path(Path::new(&icon_name).to_path_buf()).symbolic(true)
} else { } else {
icon::from_name(icon_name) let mut builder = icon::from_name(icon_name).prefer_svg(true).fallback(Some(
.prefer_svg(true) IconFallback::Names(vec![
.fallback(Some(IconFallback::Names(vec![
"application-default".into(), "application-default".into(),
"application-x-executable".into(), "application-x-executable".into(),
]))) ]),
.handle() ));
if let Some(ref theme_path) = self.icon_theme_path {
builder = builder.with_extra_paths(vec![theme_path.clone()]);
}
builder.handle()
}; };
iced::Task::none() iced::Task::none()

View file

@ -2,6 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-only // SPDX-License-Identifier: GPL-3.0-only
use std::hash::Hash; use std::hash::Hash;
use std::path::PathBuf;
use cosmic::iced::{self, Subscription}; use cosmic::iced::{self, Subscription};
use futures::{FutureExt, StreamExt}; use futures::{FutureExt, StreamExt};
@ -27,7 +28,7 @@ pub struct Icon {
pub struct IconUpdate { pub struct IconUpdate {
pub name: Option<String>, pub name: Option<String>,
pub pixmap: Option<Vec<Icon>>, pub pixmap: Option<Vec<Icon>>,
// pub theme_path: Option<PathBuf>, pub theme_path: Option<PathBuf>,
} }
impl StatusNotifierItem { impl StatusNotifierItem {
@ -118,11 +119,11 @@ impl StatusNotifierItem {
async fn icon_events(item_proxy: StatusNotifierItemProxy<'static>) -> IconUpdate { async fn icon_events(item_proxy: StatusNotifierItemProxy<'static>) -> IconUpdate {
let icon_name = item_proxy.icon_name().await; let icon_name = item_proxy.icon_name().await;
let icon_pixmap = item_proxy.icon_pixmap().await; let icon_pixmap = item_proxy.icon_pixmap().await;
// let icon_theme_path = item_proxy.icon_theme_path().await.map(PathBuf::from); let icon_theme_path = item_proxy.icon_theme_path().await.map(PathBuf::from);
IconUpdate { IconUpdate {
name: icon_name.ok(), name: icon_name.ok(),
pixmap: icon_pixmap.ok(), pixmap: icon_pixmap.ok(),
// theme_path: icon_theme_path.ok().filter(|x| !x.as_os_str().is_empty()), theme_path: icon_theme_path.ok().filter(|x| !x.as_os_str().is_empty()),
} }
} }

View file

@ -3,11 +3,11 @@ tile-current = Jelenlegi munkaterület csempézése
shortcuts = Gyorsbillentyűk shortcuts = Gyorsbillentyűk
navigate-windows = Ablakok navigálása navigate-windows = Ablakok navigálása
move-window = Ablak mozgatása move-window = Ablak mozgatása
toggle-floating-window = Az ablakok lebegtetésének be- és kikapcsolása toggle-floating-window = Lebegő ablak be/ki
view-all-shortcuts = Az összes gyorsbillentyű megtekintése… view-all-shortcuts = Az összes gyorsbillentyű megtekintése…
active-hint = Aktív ablak kiemelése active-hint = Aktív ablak kiemelése
gaps = Hézagok gaps = Hézagok
floating-window-exceptions = Lebegő ablak kivételek… floating-window-exceptions = Lebegőablak-kivételek…
window-management-settings = Ablakkezelési beállítások… window-management-settings = Ablakkezelési beállítások…
all-workspaces = Összes munkaterület all-workspaces = Összes munkaterület
per-workspace = Munkaterületenként per-workspace = Munkaterületenként

View file

@ -40,7 +40,7 @@ cosmic-applet-power-comment = Képernyő zárolása, kijelentkezés, felfüggesz
cosmic-app-list-comment = Rögzített alkalmazások indítása és a megnyitott ablakok kezelése cosmic-app-list-comment = Rögzített alkalmazások indítása és a megnyitott ablakok kezelése
cosmic-applet-status-area-comment = Alkalmazásjelzők, melyek menüt is megjeleníthetnek a panelen cosmic-applet-status-area-comment = Alkalmazásjelzők, melyek menüt is megjeleníthetnek a panelen
cosmic-applet-status-area-keywords = COSMIC;kisalkalmazás;alkalmazás;app;jelző;értesítések;tálca;állapot; cosmic-applet-status-area-keywords = COSMIC;kisalkalmazás;alkalmazás;app;jelző;értesítések;tálca;állapot;
cosmic-applet-tiling-comment = Az aktív ablak kiemelésének, valamint az aktuális és munkaterületenkénti automatikus csempézés kezelése cosmic-applet-tiling-comment = Az aktív ablakkiemelés, valamint a jelenlegi és munkaterületenkénti automatikus csempézés kezelése
cosmic-applet-tiling-keywords = COSMIC;kisalkalmazás;csempézés;kiemelés;munkaterületek; cosmic-applet-tiling-keywords = COSMIC;kisalkalmazás;csempézés;kiemelés;munkaterületek;
cosmic-applet-time-comment = Az aktuális idő megjelenítése a panelen, felugró naptárral cosmic-applet-time-comment = Az aktuális idő megjelenítése a panelen, felugró naptárral
cosmic-applet-time-keywords = COSMIC;kisalkalmazás;dátum;idő;naptár; cosmic-applet-time-keywords = COSMIC;kisalkalmazás;dátum;idő;naptár;

View file

@ -32,7 +32,7 @@ cosmic-applet-minimize-comment = Керування згорнутими вік
cosmic-applet-minimize-keywords = COSMIC;КОСМІК;КОСМОС;КОСМІЧНЕ;Віджет;Віджети;Згорнути;Згорнуті;Вікна;Вікно; cosmic-applet-minimize-keywords = COSMIC;КОСМІК;КОСМОС;КОСМІЧНЕ;Віджет;Віджети;Згорнути;Згорнуті;Вікна;Вікно;
cosmic-applet-network-comment = Керування мережевими з’єднаннями cosmic-applet-network-comment = Керування мережевими з’єднаннями
cosmic-applet-network-keywords = COSMIC;КОСМІК;КОСМОС;КОСМІЧНЕ;Віджет;Віджети;Мережа;Інтернет; cosmic-applet-network-keywords = COSMIC;КОСМІК;КОСМОС;КОСМІЧНЕ;Віджет;Віджети;Мережа;Інтернет;
cosmic-applet-notifications-comment = Керування сповіщеннями та режимом «Не турбувати» cosmic-applet-notifications-comment = Керування сповіщеннями та режимом Не турбувати
cosmic-applet-notifications-keywords = COSMIC;КОСМІК;КОСМОС;КОСМІЧНЕ;Віджет;Віджети;Сповіщення; cosmic-applet-notifications-keywords = COSMIC;КОСМІК;КОСМОС;КОСМІЧНЕ;Віджет;Віджети;Сповіщення;
cosmic-applet-power-comment = Блокування екрана, вихід із сеансу, призупинення, перезапуск і вимкнення cosmic-applet-power-comment = Блокування екрана, вихід із сеансу, призупинення, перезапуск і вимкнення
cosmic-applet-power-keywords = COSMIC;КОСМІК;КОСМОС;КОСМІЧНЕ;Віджет;Віджети;Сеанс;Користувач;Блокування;Вихід;Перезапуск;Вимкнення;Призупинення;Сон; cosmic-applet-power-keywords = COSMIC;КОСМІК;КОСМОС;КОСМІЧНЕ;Віджет;Віджети;Сеанс;Користувач;Блокування;Вихід;Перезапуск;Вимкнення;Призупинення;Сон;