Merge branch 'master' into bulgarian

This commit is contained in:
Jeremy Soller 2026-01-27 10:38:05 -07:00 • committed by GitHub
commit 055befb30a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
272 changed files with 4273 additions and 4972 deletions

View file

@ -1,15 +1,11 @@
[package]
name = "cosmic-applet-battery"
version = "0.1.0"
version = "1.0.2"
edition = "2024"
license = "GPL-3.0-only"
[dependencies]
anyhow.workspace = true
cosmic-settings-subscriptions = { workspace = true, features = [
"upower",
"settings_daemon",
] }
cosmic-time.workspace = true
drm = "0.14.1"
futures.workspace = true
@ -24,3 +20,9 @@ tracing-subscriber.workspace = true
tracing.workspace = true
udev = "0.9"
zbus.workspace = true
[dependencies.cosmic-settings-upower-subscription]
git = "https://github.com/pop-os/cosmic-settings"
[dependencies.cosmic-settings-daemon-subscription]
git = "https://github.com/pop-os/cosmic-settings"

View file

@ -12,6 +12,7 @@ Name[nl]=Energie en batterij
Name[de]=Energie und Akku
Name[sk]=Napájanie a batéria
Name[sv]=Ström & batteri
Name[it]=Alimentazione e batteria
Type=Application
Exec=cosmic-applet-battery
Terminal=false
@ -22,5 +23,6 @@ Icon=com.system76.CosmicAppletBattery-symbolic
StartupNotify=true
NoDisplay=true
X-CosmicApplet=true
X-CosmicShrinkable=true
X-CosmicHoverPopup=Start
X-OverflowPriority=10

View file

@ -1,9 +1,9 @@
battery = المُدَّخرة
battery-desc = الأداء وخفض استهلاك الطاقة.
battery-desc = أداء واستهلاك طاقة مخفض.
balanced = متوازن
balanced-desc = مُعايرة الأداء واستهلاك المُدَّخرة.
performance = أداء عالٍ
performance-desc = أداء واستهلاك طاقة مرتفعان.
balanced-desc = أداء واستهلاك المُدَّخرة قياسي.
performance = أداء عالي
performance-desc = أداء واستهلاك طاقة عالٍ.
max-charge = زِد من مدة صلاحية مُدَّخرتك بوضع حد أقصى للشحن على 80٪
seconds = ث
minutes = د
@ -11,4 +11,4 @@ hours = س
until-empty = حتى النفاد
power-settings = إعدادات الطاقة والمُدَّخرة...
dgpu-running = وحدة معالجة رسوميات مُنفردة نشطة قد تقلل من عمر المُدَّخرة
dgpu-applications = التطبيقات التي تستخدم وحدة { $gpu_name } المنفصلة
dgpu-applications = التطبيقات التي تستخدم معالج الرسوميات { $gpu_name } المُنفردة

View file

@ -1,8 +1,8 @@
battery = Батерия
battery-desc = Намалено потребление на енергия и тиха работа.
balanced = Баланс
balanced-desc = Тиха работа и умерено потребление на енергия.
performance = Бързина
battery-desc = Намалена производителност и ниско потребление на енергия.
balanced = Балансиран
balanced-desc = Умерена производителност и стандартно потребление на енергия.
performance = Висока Производителност
performance-desc = Максимална производителност и потребление на енергия.
max-charge = Увеличете живота на батерията, като зададете максимална стойност на зареждане от 80%
seconds = с

View file

@ -1,14 +1,14 @@
battery = Batterie
battery-desc = Performance et consommation réduites.
battery-desc = Consommation et performances réduites.
balanced = Équilibré
balanced-desc = Performance et usage de la batterie standard.
balanced-desc = Performances et usage de la batterie standard.
performance = Hautes performances
performance-desc = Performances et consommation élevées.
max-charge = Augmente la durée de vie de votre batterie en mettant la charge maximale à 80%
max-charge = Prolongez la durée de vie de votre batterie en arrêtant la charge à 80%
seconds = s
minutes = m
hours = h
until-empty = avant la décharge totale
until-empty = avant décharge complète
power-settings = Paramètres d'alimentation...
dgpu-running = Le GPU dédié est actif et peu réduire l'autonomie de la batterie
dgpu-applications = Applications utilisant le GPU dédié {$gpu_name}
dgpu-running = Le GPU dédié est actif et peut réduire la durée de vie de la batterie
dgpu-applications = Applications utilisant le GPU dédié { $gpu_name }

View file

@ -2,13 +2,13 @@ battery = Ceallraí
battery-desc = Ídiú cumhachta agus feidhmíocht laghdaithe.
balanced = Cothromaithe
balanced-desc = Feidhmíocht chaighdeánach agus úsáid ceallraí.
performance = Ard-Fheidhmíocht
performance-desc = Ard-fheidhmíocht agus ard-úsáid cumhachta.
max-charge = Méadaigh saolré do cheallraí trí uasmhuirear 80% a shocrú
performance = Ard fheidhmíocht
performance-desc = Ard fheidhmíocht agus úsáid cumhachta.
max-charge = Méadaigh saolré do cheallraí trí uasluach muirir 80% a shocrú
seconds = s
minutes = nóim
minutes = n
hours = u
until-empty = go dtí go mbeidh sé folamh
power-settings = Socruithe Cumhachta & Ceallraí...
power-settings = Socruithe cumhachta & ceallraí...
dgpu-running = Tá an GPU ar leith gníomhach agus féadfaidh sé saol ceallraí a laghdú
dgpu-applications = Aipeanna ag úsáid {$gpu_name} GPU ar leith
dgpu-applications = Aipeanna ag úsáid { $gpu_name } GPU ar leith

View file

@ -1,14 +1,14 @@
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-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-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
seconds = másodperc
minutes = perc
hours = óra
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-applications = A {$gpu_name} dedikált GPU-t használó alkalmazások
dgpu-applications = A(z) { $gpu_name } dedikált GPU-t használó alkalmazások

View file

@ -0,0 +1,14 @@
battery = Батарея
battery-desc = Азайтылған қуат тұтынуы және өнімділігі.
balanced = Теңгерілген
balanced-desc = Стандартты өнімділік және батареяны тұтыну.
performance = Жоғары өнімділік
performance-desc = Жоғары өнімділік және қуатты тұтыну.
max-charge = Максималды заряд мәнін 80% етіп орнату арқылы батареяңыздың қызмет ету мерзімін ұзартыңыз
seconds = с
minutes = м
hours = сағ
until-empty = таусылғанша
power-settings = Қуат және батарея баптаулары...
dgpu-running = Дискретті GPU белсенді және батареяның жұмыс уақытын азайтуы мүмкін
dgpu-applications = { $gpu_name } дискретті видеокартасын пайдаланатын қолданбалар

View file

@ -0,0 +1,14 @@
power-settings = 전원 & 배터리 설정...
hours = 시간
until-empty = 남음
battery-desc = 감소된 성능과 전력 사용량.
max-charge = 배터리 최대 충전값을 80%로 설정하여 배터리 수명을 연장합니다
balanced = 균형
battery = 배터리
seconds = 초
dgpu-running = 외장 GPU가 활성화되어 배터리 사용 시간이 단축될 수 있습니다
performance = 고성능
performance-desc = 높은 성능과 전력 사용량.
minutes = 분
balanced-desc = 표준적인 성능과 배터리 사용량.
dgpu-applications = { $gpu_name } 외장 GPU를 사용하는 앱

View file

@ -0,0 +1,14 @@
power-settings = Energijos ir Baterijos nustatymai...
hours = val
until-empty = kol bus iškrauta
battery-desc = Sumažintas energijos vartojimas ir našumas.
max-charge = Padidinti baterijo gyvavimo trukmę nustatydami 80% pakrovimo ribą
balanced = Subalansuotas
battery = Baterija
seconds = sek
dgpu-running = Dedikuotas GPU yra aktyvus ir gali sumažinti baterijos gyvavimo trukmę
performance = Didelis Našumas
performance-desc = Didelis našumas ir energijos vartojimas.
minutes = min
balanced-desc = Įprastas našumas ir baterijos naudojimas.
dgpu-applications = Aplikacijos naudojančios { $gpu_name } dedikuotą GPU

View file

@ -1,5 +1,5 @@
battery = Batterijbesparing
battery-desc = Batterijbesparing met verlaagde prestaties.
battery = Batterij
battery-desc = Verminderd energieverbruik en prestaties.
balanced = Gebalanceerd
balanced-desc = Normale prestaties en batterijverbruik.
performance = Verhoogde prestaties
@ -9,6 +9,6 @@ seconds = s
minutes = m
hours = u
until-empty = tot leeg
power-settings = Energie- en batterijbeheer...
power-settings = Energie- en batterijbeheer…
dgpu-running = De discrete GPU is actief en kan de batterijduur verkorten
dgpu-applications = Toepassingen die de {$gpu_name} discrete GPU gebruiken
dgpu-applications = Toepassingen die de { $gpu_name } discrete GPU gebruiken

View file

@ -1,14 +1,14 @@
battery = Bateria
battery-desc = Uso reduzido de energia e desempenho.
balanced = Equilibrado
balanced-desc = Desempenho padrão e uso de bateria.
battery-desc = Uso reduzido de energia e desempenho limitado.
balanced = Balanceado
balanced-desc = Desempenho padrão e uso de bateria moderado.
performance = Alto Desempenho
performance-desc = Alto desempenho e uso de energia.
performance-desc = Máximo desempenho e alto uso de energia.
max-charge = Aumente a vida útil da sua bateria definindo um valor máximo de carga de 80%
seconds = s
minutes = m
hours = h
until-empty = até vazio
power-settings = Configurações de Energia e Bateria...
until-empty = até esvaziar
power-settings = Configurações de energia e bateria...
dgpu-running = GPU discreta está ativa e pode reduzir a vida útil da bateria
dgpu-applications = Aplicativos usando GPU discreta {$gpu_name}
dgpu-applications = Aplicativos usando GPU discreta { $gpu_name }

View file

@ -3,12 +3,12 @@ battery-desc = Зменшене енергоспоживання та проду
balanced = Збалансований
balanced-desc = Стандартна продуктивність та енергоспоживання.
performance = Висока продуктивність
performance-desc = Висока продуктивність та енергоспоживання.
max-charge = Подовжити термін служби акумулятора, обмеживши максимальний заряд до 80%
seconds = сек
performance-desc = Висока продуктивність і енергоспоживання.
max-charge = Подовжте термін служби акумулятора, обмеживши максимальне наснаження до 80%
seconds = с
minutes = хв
hours = год
until-empty = доки не розрядиться
until-empty = доки не виснажиться
power-settings = Налаштування живлення та акумулятора...
dgpu-running = Активна дискретна відеокарта, це може скоротити час роботи акумулятора
dgpu-running = Дискретна відеокарта активна, що може скоротити час роботи від акумулятора
dgpu-applications = Застосунки використовують дискретну відеокарту { $gpu_name }

View file

@ -1,13 +1,13 @@
battery = 省电
battery = 电池
battery-desc = 降低功耗和性能。
balanced = 平衡
balanced-desc = 标准性能和电池使用。
performance = 高性能
performance-desc = 高性能和功耗。
max-charge = 最多充电到 80% 以增加电池寿命
seconds = s
minutes = m
hours = h
seconds = 秒
minutes = 分钟
hours = 小时
until-empty = 直到电池耗尽
power-settings = 电源和电池设置...
dgpu-running = 独立显卡正在运行,可能会降低电池寿命

View file

@ -29,15 +29,12 @@ use cosmic::{
surface, theme,
widget::{divider, horizontal_space, icon, scrollable, slider, text, vertical_space},
};
use cosmic_settings_subscriptions::{
settings_daemon,
upower::{
device::{DeviceDbusEvent, device_subscription},
kbdbacklight::{
KeyboardBacklightRequest, KeyboardBacklightUpdate, kbd_backlight_subscription,
},
},
use cosmic_settings_daemon_subscription as settings_daemon;
use cosmic_settings_upower_subscription::{
device::{DeviceDbusEvent, device_subscription},
kbdbacklight::{KeyboardBacklightRequest, KeyboardBacklightUpdate, kbd_backlight_subscription},
};
use cosmic_time::{Instant, Timeline, anim, chain, id};
use rustc_hash::FxHashMap;
@ -136,10 +133,16 @@ impl CosmicBatteryApplet {
}
fn screen_brightness_percent(&self) -> Option<f64> {
Some(
(self.screen_brightness? as f64 / self.max_screen_brightness?.max(1) as f64)
.clamp(0.01, 1.0),
)
let raw = self.screen_brightness? as i64;
let max = self.max_screen_brightness?.max(1) as i64;
if max <= 20 {
// Coarse panels (<=20 brightness levels)
let rung = (raw.saturating_add(1)).min(20);
Some((5 * rung) as f64 / 100.0)
} else {
let p = ((raw * 100 + max / 2) / max).clamp(1, 100) as f64;
Some(p / 100.0)
}
}
fn update_display(&mut self) {
@ -242,8 +245,21 @@ impl cosmic::Application for CosmicBatteryApplet {
return cosmic::task::message(Message::SetKbdBrightnessDebounced);
}
}
// Matching brightness calculation logic from cosmic-osd and cosmic-settings-daemon
Message::SetScreenBrightness(brightness) => {
self.screen_brightness = Some(brightness);
let snapped = if let Some(max) = self.max_screen_brightness {
if max > 0 && max <= 20 {
// Coarse: map raw→k by round, then back to raw setpoint round(k*max/20)
let k = ((brightness as i64 * 20 + (max as i64) / 2) / (max as i64))
.clamp(0, 20);
(((k * (max as i64)) + 10) / 20) as i32
} else {
brightness
}
} else {
brightness
};
self.screen_brightness = Some(snapped);
if !self.dragging_screen_brightness {
self.dragging_screen_brightness = true;
self.update_display();
@ -484,7 +500,7 @@ impl cosmic::Application for CosmicBatteryApplet {
}
fn view(&self) -> Element<'_, Message> {
let btn = self
let btn: Element<'_, Message> = self
.core
.applet
.icon_button(&self.icon_name)
@ -508,17 +524,24 @@ impl cosmic::Application for CosmicBatteryApplet {
shadow: Shadow::default(),
icon_color: Some(Color::TRANSPARENT),
}
})))
.into();
})));
let (dot_align_x, dot_align_y) = match self.core.applet.anchor {
PanelAnchor::Left => (Alignment::Start, Alignment::Center),
PanelAnchor::Right => (Alignment::End, Alignment::Center),
PanelAnchor::Top => (Alignment::Center, Alignment::Start),
PanelAnchor::Bottom => (Alignment::Center, Alignment::End),
};
match self.core.applet.anchor {
PanelAnchor::Left | PanelAnchor::Right => Column::with_children([btn, dot])
.align_x(Alignment::Center)
.into(),
PanelAnchor::Top | PanelAnchor::Bottom => Row::with_children([btn, dot])
.align_y(Alignment::Center)
.into(),
}
cosmic::iced::widget::stack![
btn,
container(dot)
.width(Length::Fill)
.height(Length::Fill)
.align_y(dot_align_y)
.align_x(dot_align_x)
.padding(2.0)
]
.into()
};
self.core.applet.autosize_window(content).into()
@ -656,7 +679,7 @@ impl cosmic::Application for CosmicBatteryApplet {
.size(24)
.symbolic(true),
slider(
1..=max_screen_brightness,
0..=max_screen_brightness,
screen_brightness,
Message::SetScreenBrightness
)
@ -790,7 +813,7 @@ impl cosmic::Application for CosmicBatteryApplet {
if gpu.toggled
&& !self.core.applet.suggested_bounds.as_ref().is_some_and(|c| {
let suggested_size = self.core.applet.suggested_size(true);
let padding = self.core.applet.suggested_padding(true);
let padding = self.core.applet.suggested_padding(true).1;
let w = suggested_size.0 + 2 * padding;
let h = suggested_size.1 + 2 * padding;
// if we have a configure for width and height, we're in a overflow popup