Compare commits

..

No commits in common. "29ed971e6497c84c11c479f31bb7e011df87604a" and "fc630ae7954f2212b1eb2753f34308f8e8565ffd" have entirely different histories.

38 changed files with 650 additions and 988 deletions

1255
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,25 +1,20 @@
cargo-target-dir := env('CARGO_TARGET_DIR', 'target')
# Compile with debug profile
[no-cd]
build-debug *args:
cargo build {{args}}
cargo build {{ args }}
# Compile with release profile
[no-cd]
build-release *args: (build-debug '--release' args)
# Compile with a vendored tarball
[no-cd]
build-vendored *args: vendor-extract (build-release '--frozen --offline' args)
# Check for errors and linter warnings
[no-cd]
check *args:
cargo clippy --all-features {{args}} -- -W clippy::pedantic
cargo clippy --all-features {{ args }} -- -W clippy::pedantic
# Runs a check with JSON message format for IDE integration
[no-cd]
check-json: (check '--message-format=json')
# Remove Cargo build artifacts
@ -33,38 +28,25 @@ clean-dist: clean
rm -rf .cargo vendor vendor.tar target
# Run the application for testing purposes
[no-cd]
run *args:
cargo run {{args}}
env RUST_LOG=debug RUST_BACKTRACE=full cargo run {{ args }} --release
# Run `cargo test`
[no-cd]
test *args:
cargo test {{args}}
cargo test {{ args }}
# Vendor Cargo dependencies locally
[no-cd]
vendor:
#!/usr/bin/env bash
mkdir -p .cargo
cargo vendor --locked | head -n -1 > .cargo/config.toml
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
fi
if [ -n "${SOURCE_GIT_HASH}" ]
then
echo "VERGEN_GIT_SHA = \"${SOURCE_GIT_HASH}\"" >> .cargo/config.toml
fi
tar pcf vendor.tar .cargo vendor
rm -rf .cargo vendor
tar pcf vendor.tar vendor
rm -rf vendor
# Extracts vendored dependencies
[no-cd]
[private]
vendor-extract:
rm -rf vendor
tar pxf vendor.tar

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings"
version = "1.7.0"
version = "1.5.0"
edition = "2024"
license = "GPL-3.0-only"
publish = false

View file

@ -4,7 +4,6 @@ use cosmic::iced::stream;
use cosmic::theme::CosmicTheme;
use cosmic::widget::{dropdown, settings, text};
use cosmic::{Apply, Element, Task, surface};
use cosmic_comp_config::CosmicCompConfig;
pub use cosmic_comp_config::ZoomMovement;
use cosmic_config::CosmicConfigEntry;
use cosmic_settings_a11y_manager_subscription as cosmic_a11y_manager;
@ -37,21 +36,11 @@ pub struct Page {
daemon_helper: cosmic_config::Config,
dbus_sender: Option<UnboundedSender<a11y_bus::Request>>,
reader_enabled: bool,
comp_config: CosmicCompConfig,
comp_helper: cosmic_config::Config,
}
impl Default for Page {
fn default() -> Self {
let daemon_helper = CosmicSettingsDaemonConfig::config().unwrap();
let comp_helper = cosmic_config::Config::new("com.system76.CosmicComp", 1).unwrap();
let comp_config =
CosmicCompConfig::get_entry(&comp_helper).unwrap_or_else(|(errs, config)| {
for err in errs {
tracing::warn!(?err, "error while reading cosmic-comp config");
}
config
});
Page {
dbus_sender: None,
entity: page::Entity::default(),
@ -76,8 +65,6 @@ impl Default for Page {
.unwrap_or_default(),
daemon_helper,
reader_enabled: false,
comp_config,
comp_helper,
}
}
}
@ -90,7 +77,6 @@ pub enum Message {
ProtocolUnavailable,
Return,
ScreenReaderEnabled(bool),
SetCursorShakeToFind(bool),
SetScreenFilterActive(bool),
SetScreenFilterSelection(ColorFilter),
SetScreenInverted(bool),
@ -201,8 +187,6 @@ pub fn vision() -> section::Section<crate::pages::Message> {
invert_colors = fl!("accessibility", "invert-colors");
color_filters = fl!("accessibility", "color-filters");
color_filter_type = fl!("color-filter");
shake_cursor = fl!("accessibility", "shake-cursor");
shake_cursor_desc = fl!("accessibility", "shake-cursor-desc");
});
Section::default()
@ -292,13 +276,6 @@ pub fn vision() -> section::Section<crate::pages::Message> {
settings::item::builder(&descriptions[color_filter_type]).control(dropdown)
})
.add(
settings::item::builder(&descriptions[shake_cursor])
.description(&descriptions[shake_cursor_desc])
.toggler(page.comp_config.cursor_shake_to_find, |enabled| {
Message::SetCursorShakeToFind(enabled).into()
}),
)
.into()
})
}
@ -439,14 +416,6 @@ impl Page {
Message::Surface(a) => {
return cosmic::task::message(crate::app::Message::Surface(a));
}
Message::SetCursorShakeToFind(enabled) => {
if let Err(err) = self
.comp_config
.set_cursor_shake_to_find(&self.comp_helper, enabled)
{
tracing::error!(?err, "failed to set cursor_shake_to_find");
}
}
Message::SetSoundMono(active) => {
if let Err(err) = self
.daemon_config

View file

@ -12,7 +12,7 @@ use futures::channel::oneshot;
use futures::{SinkExt, StreamExt};
use slotmap::SlotMap;
use std::collections::{HashMap, HashSet};
use std::sync::{Arc, LazyLock};
use std::sync::Arc;
use std::time::Duration;
use zbus::zvariant::OwnedObjectPath;
@ -20,8 +20,6 @@ use zbus::zvariant::OwnedObjectPath;
use crate::service_manager::MockServiceManager;
use crate::service_manager::ServiceManagerHandle;
static BLUETOOTH_PAGE_LABEL: LazyLock<String> = LazyLock::new(|| fl!("bluetooth"));
enum Dialog {
RequestConfirmation {
device: String,
@ -175,19 +173,6 @@ impl page::Page<crate::pages::Message> for Page {
.description(fl!("xdg-entry-bluetooth-comment"))
}
fn header(&self) -> Option<Element<'_, crate::pages::Message>> {
if self.model.adapters.len() > 1 {
let (_, adapter) = self.model.get_selected_adapter()?;
return Some(crate::widget::sub_page_header(
&adapter.alias,
BLUETOOTH_PAGE_LABEL.as_str(),
Message::SelectAdapter(None).into(),
));
}
None
}
fn content(
&self,
sections: &mut SlotMap<section::Entity, Section<crate::pages::Message>>,
@ -407,30 +392,6 @@ impl From<Event> for Message {
}
impl Page {
fn update_heading(&mut self) {
self.heading = if let Some((_, adapter)) = self.model.get_selected_adapter() {
fl!(
"bluetooth",
"status",
aliases = format!("“{}”", adapter.alias)
)
} else {
fl!(
"bluetooth",
"status",
aliases = self
.model
.adapters
.values()
.map(|adapter| format!("“{}”", adapter.alias))
.collect::<HashSet<String>>()
.into_iter()
.collect::<Vec<String>>()
.join(", ")
)
};
}
pub fn update(&mut self, message: Message) -> cosmic::Task<crate::Message> {
let span = tracing::span!(tracing::Level::INFO, "bluetooth::update");
let _span = span.enter();
@ -476,7 +437,28 @@ impl Page {
Event::SetAdapters(adapters) => {
let select_adapter = self.model.set_adapters(adapters);
self.update_heading();
if let Some((_, adapter)) = self.model.get_selected_adapter() {
self.heading = fl!(
"bluetooth",
"status",
aliases = format!("“{}”", adapter.alias)
);
} else {
self.heading = fl!(
"bluetooth",
"status",
aliases = self
.model
.adapters
.values()
.map(|adapter| format!("“{}”", adapter.alias))
.collect::<HashSet<String>>()
.into_iter()
.collect::<Vec<String>>()
.join(", ")
);
}
if let Some(adapter) = select_adapter {
return cosmic::task::message(Message::SelectAdapter(Some(adapter)));
@ -759,7 +741,6 @@ impl Page {
Message::SelectAdapter(adapter_maybe) => {
tracing::debug!("Adapter selected: {adapter_maybe:?}");
self.model.selected_adapter = adapter_maybe;
self.update_heading();
self.model.update_status();
let Some(connection) = self.connection.as_ref() else {
tracing::error!("No DBus connection ready");
@ -1177,51 +1158,6 @@ impl Page {
#[cfg(test)]
mod tests {
use super::*;
use cosmic_settings_page::Page as _;
fn adapter(path: &str, alias: &str) -> (OwnedObjectPath, Adapter) {
(
OwnedObjectPath::try_from(path).unwrap(),
Adapter {
alias: alias.to_owned(),
..Adapter::default()
},
)
}
fn page_with_two_adapters() -> Page {
let mut page = Page::default();
let adapters = [
adapter("/org/bluez/hci0", "Adapter 0"),
adapter("/org/bluez/hci1", "Adapter 1"),
]
.into_iter()
.collect();
let _task = page.update(Message::BluetoothEvent(Event::SetAdapters(adapters)));
page
}
#[test]
fn bluetooth_header_is_absent_at_adapter_chooser() {
let page = page_with_two_adapters();
assert!(page.header().is_none());
}
#[test]
fn bluetooth_header_tracks_adapter_selection_and_clearing() {
let mut page = page_with_two_adapters();
let selected = OwnedObjectPath::try_from("/org/bluez/hci1").unwrap();
let _task = page.update(Message::SelectAdapter(Some(selected)));
assert!(page.header().is_some());
assert!(page.heading.contains("Adapter 1"));
let _task = page.update(Message::SelectAdapter(None));
assert!(page.header().is_none());
assert!(page.heading.contains("Adapter 0"));
assert!(page.heading.contains("Adapter 1"));
}
#[test]
fn test_dbus_service_unknown_with_installed_service_queries_manager() {

View file

@ -1103,12 +1103,6 @@ impl Page {
.arg(itoa::Buffer::new().format(x))
.arg("--pos-y")
.arg(itoa::Buffer::new().format(y))
.arg("--refresh")
.arg(format!(
"{}.{:03}",
current.refresh_rate / 1000,
current.refresh_rate % 1000
))
.arg(name)
.arg(itoa::Buffer::new().format(current.size.0))
.arg(itoa::Buffer::new().format(current.size.1));

View file

@ -118,8 +118,8 @@ pub enum SourceContext {
MoveDown(DefaultKey),
MoveUp(DefaultKey),
Remove(DefaultKey),
// Settings(DefaultKey),
// ViewLayout(DefaultKey),
Settings(DefaultKey),
ViewLayout(DefaultKey),
}
pub type Locale = String;
@ -211,7 +211,6 @@ fn popover_menu_row(
id: DefaultKey,
label: String,
message: impl Fn(DefaultKey) -> SourceContext + 'static,
disabled: bool,
) -> cosmic::Element<'static, Message> {
let spacing = theme::spacing();
widget::text::body(label)
@ -220,54 +219,37 @@ fn popover_menu_row(
.padding([spacing.space_xxxs, spacing.space_xs])
.width(Length::Fill)
.class(theme::Button::MenuItem)
.on_press_maybe(if disabled {
None
} else {
Some(Message::SourceContext(message(id)))
})
.on_press(Message::SourceContext(message(id)))
.apply(Element::from)
}
fn popover_menu(
id: DefaultKey,
is_first: bool,
is_last: bool,
) -> cosmic::Element<'static, Message> {
fn popover_menu(id: DefaultKey) -> cosmic::Element<'static, Message> {
widget::column::with_children([
popover_menu_row(
id,
fl!("keyboard-sources", "move-up"),
SourceContext::MoveUp,
is_first,
),
popover_menu_row(
id,
fl!("keyboard-sources", "move-down"),
SourceContext::MoveDown,
is_last,
),
widget::divider::horizontal::default()
.apply(widget::container)
.padding(8)
.into(),
// popover_menu_row(
// id,
// fl!("keyboard-sources", "settings"),
// SourceContext::Settings,
// false,
// ),
// popover_menu_row(
// id,
// fl!("keyboard-sources", "view-layout"),
// SourceContext::ViewLayout,
// false,
// ),
popover_menu_row(
id,
fl!("keyboard-sources", "remove"),
SourceContext::Remove,
false,
fl!("keyboard-sources", "settings"),
SourceContext::Settings,
),
popover_menu_row(
id,
fl!("keyboard-sources", "view-layout"),
SourceContext::ViewLayout,
),
popover_menu_row(id, fl!("keyboard-sources", "remove"), SourceContext::Remove),
])
.width(Length::Fixed(200.0))
.apply(widget::container)
@ -276,12 +258,7 @@ fn popover_menu(
.into()
}
fn popover_button(
id: DefaultKey,
expanded: bool,
is_first: bool,
is_last: bool,
) -> cosmic::Element<'static, Message> {
fn popover_button(id: DefaultKey, expanded: bool) -> cosmic::Element<'static, Message> {
let on_press = Message::ExpandInputSourcePopover(if expanded { None } else { Some(id) });
let button = button::icon(icon::from_name("view-more-symbolic"))
@ -291,7 +268,7 @@ fn popover_button(
if expanded {
widget::popover(button)
.position(widget::popover::Position::Bottom)
.popup(popover_menu(id, is_first, is_last))
.popup(popover_menu(id))
.on_close(Message::ExpandInputSourcePopover(None))
.into()
} else {
@ -303,12 +280,10 @@ fn input_source(
id: DefaultKey,
description: &str,
expanded_source_popover: Option<DefaultKey>,
is_first: bool,
is_last: bool,
) -> cosmic::Element<'_, Message> {
let expanded = expanded_source_popover.is_some_and(|expanded_id| expanded_id == id);
settings::item(description, popover_button(id, expanded, is_first, is_last)).into()
settings::item(description, popover_button(id, expanded)).into()
}
fn special_char_radio_row<'a>(
@ -546,13 +521,15 @@ impl Page {
let _removed = self.active_layouts.remove(pos);
self.update_xkb_config();
}
} // SourceContext::Settings(_id) => {
// eprintln!("settings not implemented");
// }
}
// SourceContext::ViewLayout(_id) => {
// eprintln!("view layout not implemented");
// }
SourceContext::Settings(_id) => {
eprintln!("settings not implemented");
}
SourceContext::ViewLayout(_id) => {
eprintln!("view layout not implemented");
}
}
}
@ -770,17 +747,12 @@ fn input_sources() -> Section<crate::pages::Message> {
// TODO Need something more custom, with drag and drop
let mut section = settings::section().title(&section.title);
for (position, id) in page.active_layouts.iter().enumerate() {
for id in &page.active_layouts {
if let Some((_locale, _variant, description, _source)) =
page.keyboard_layouts.get(*id)
{
section = section.add(input_source(
*id,
description,
page.expanded_source_popover,
position == 0,
position + 1 == page.active_layouts.len(),
));
section =
section.add(input_source(*id, description, page.expanded_source_popover));
}
}

6
debian/changelog vendored
View file

@ -1,9 +1,3 @@
cosmic-settings (1.7.0) noble; urgency=medium
* Epoch 1.7.0 version update
-- Michael Murphy <michael@mmurphy.dev> Fri, 21 Aug 2026 20:44:57 +0200
cosmic-settings (1.0.12) noble; urgency=medium
* release: 1.0.12

View file

@ -1,6 +1,4 @@
tar-ignore=.github
tar-ignore=target/.rustc_info.json
tar-ignore=target/CACHEDIR.TAG
tar-ignore=target/debug
tar-ignore=target/release
tar-ignore=.vscode
tar-ignore=vendor
tar-ignore=target

View file

@ -86,10 +86,10 @@ dock = Dok
## Desktop: Panel
panel = Panel
panel-behavior-and-position = Chování a umístění
panel-behavior-and-position = Chování a pozice
.autohide = Automaticky skrýt panel
.dock-autohide = Automaticky skrýt dok
.position = Umístění na obrazovce
.position = Pozice na obrazovce
.display = Zobrazit na obrazovce
panel-top = Nahoře
panel-bottom = Dole
@ -215,8 +215,7 @@ sound-alerts = Upozornění
.volume = Hlasitost upozornění
.sound = Zvuk pro upozornění
sound-applications = Aplikace
.desc = Hlasitosti a nastavení aplikací
.none = Žádné aplikace nepoužívají zvuk
.desc = Hlasitosti aplikací a nastavení
## System
@ -370,10 +369,8 @@ accessibility = Přístupnost
.unavailable = Nedostupné
.screen-reader = Čtečka obrazovky
.high-contrast = Vysoký kontrast
.invert-colors = Inverze barev
.invert-colors = Převrátit barvy
.color-filters = Barevné filtry
.shake-cursor = Nalezení ukazatele zatřesením
.shake-cursor-desc = Rychlým zatřesením myší se ukazatel dočasně zvětší
hearing = Sluch
.mono = Přehrávat stereo zvuk jako mono
default = Výchozí
@ -465,13 +462,13 @@ container-background = Pozadí kontejneru
control-tint = Odstín ovládacích prvků
.desc = Používá se pro pozadí standardních tlačítek, vyhledávacích polí, textových vstupů a podobných komponent
frosted = Efekt ledového skla na systémovém rozhraní
.desc = Použít rozmazané pozadí pro panel, dok, applety, spouštěč a knihovnu aplikací
.desc = Použije rozmazané pozadí pro panel, dok, applety, spouštěč a knihovnu aplikací
enable-export = Použít aktuální motiv v aplikacích GNOME
.desc = Ne všechny toolkity podporují automatické přepínání. Aplikace, které nejsou postaveny na COSMIC toolkitu mohou vyžadovat restart po změně motivu.
password-mismatch = Heslo a jeho potvrzení se musí shodovat
invalid-username = Neplatné uživatelské jméno
icon-theme = Motiv ikon
.desc = Použít jinou sadu ikon pro aplikace
.desc = Použije jinou sadu ikon pro aplikace
monospace-font = Písmo s pevnou šířkou
window-management = Správa oken
window-tiling = Dlaždicový režim oken
@ -524,7 +521,7 @@ magnifier = Lupa
.show_overlay = Zobrazit překrytí lupy
.increment = Krok přiblížení
.signin = Spustit lupu při přihlášení
.applet = Lupu lze přepnout (zap/vyp) v nabídce zobrazené po kliknutí na applet přímo v panelu
.applet = Lupu lze přepnout v appletu na panelu
.movement = Pohyb přiblíženého zobrazení
.continuous = Neustále s ukazatelem
.onedge = Když ukazatel dosáhne okraje
@ -532,9 +529,9 @@ magnifier = Lupa
color-filter = Typ barevného filtru
.unknown = Neznámý filtr aktivní
.greyscale = Stupně šedi
.deuteranopia = Zelená/červená (oslabené vnímání zelené, deuteranopie)
.protanopia = Červená/zelená (oslabené vnímání červené, protanopie)
.tritanopia = Modrá/žlutá (oslabené vnímání modré, tritanopie)
.deuteranopia = Zeleno/Červená (oslabení zelené, Deuteranopie)
.protanopia = Červeno/Zelená (oslabení červené, Protanopie)
.tritanopia = Modro/Žlutá (oslabení modré, Tritanopie)
text-tint = Odstín textu rozhraní
.desc = Používá se k odvození barev textu rozhraní, které mají dostatečný kontrast na různých površích
experimental-settings = Experimentální nastavení
@ -555,13 +552,13 @@ style = Styl
.square = Hranatý
.frosted-glass = Efekt ledového skla
.frosted-system-interface = Rozhraní systému
.frosted-system-interface-desc = Použít efekt ledového skla pro spouštěč, knihovnu aplikací, přehled pracovních ploch a ovládací prvky na obrazovce
.frosted-system-interface-desc = Použije efekt ledového skla na spouštěč, knihovnu aplikací, přehled pracovních ploch a ovládací prvky na obrazovce
.frosted-windows = Okna
.frosted-windows-desc = Použít efekt ledového skla pro okna a dialogy
.frosted-windows-desc = Použije efekt ledového skla na okna a dialogy
.frosted-panels = Panely
.frosted-panels-desc = Použít efekt ledového skla pro dok a panel
.frosted-panels-desc = Použije efekt ledového skla na dok a panel
.frosted-applets = Applety
.frosted-applets-desc = Použít efekt ledového skla pro nabídky appletů na panelu a doku
.frosted-applets-desc = Použije efekt ledového skla na nabídky appletů v doku a na panelu
.frosted-thickness = Tloušťka ledu
.less = menší
.more = větší

View file

@ -514,7 +514,7 @@ show-extended-input-sources = Vis udvidede inputkilder
keyboard-shortcuts = Tastaturgenveje
.desc = Se og tilpas genveje
cancel = Afbryd
cancel = Annuller
command = Kommando
custom = Brugerdefineret
debug = Debug

View file

@ -124,8 +124,6 @@ accessibility = Barrierefreiheit
.high-contrast = Modus für hohen Kontrast
.invert-colors = Farben invertieren
.color-filters = Farbfilter
.shake-cursor = Mauszeiger schütteln, um ihn zu finden
.shake-cursor-desc = Schüttle die Maus kurz, um den Mauszeiger vorübergehend zu vergrößern
hearing = Hören
.mono = Stereo-Audio als Mono abspielen
default = Standard
@ -433,7 +431,6 @@ sound-alerts = Alarmsignale
.sound = Alarmsignalklang
sound-applications = Anwendungen
.desc = Lautstärken und Einstellungen von Anwendungen
.none = Keine Anwendungen verwenden einen Klang
## Energie

View file

@ -603,7 +603,6 @@ connected-devices = Συνδεδεμένες συσκευές
icons-and-toolkit = Εικονίδια και θέματα συνόλου εργαλείων
sound-applications = Εφαρμογές
.desc = Ένταση και ρυθμίσεις ήχου εφαρμογών
.none = Καμία εφαρμογή δεν χρησιμοποιεί ήχο
time-zone = Ζώνη ώρας
.auto = Αυτόματη ζώνη ώρας
.auto-info = Απαιτεί τη χρήση υπηρεσιών τοποθεσίας και πρόσβαση στο διαδίκτυο

View file

@ -275,8 +275,6 @@ accessibility = Accessibility
.high-contrast = High contrast mode
.invert-colors = Invert colors
.color-filters = Color filters
.shake-cursor = Shake pointer to find it
.shake-cursor-desc = Quickly shake the mouse to temporarily enlarge the pointer
hearing = Hearing
.mono = Play stereo audio as mono

View file

@ -791,8 +791,6 @@ accessibility = Esteettömyys
.high-contrast = Suurikontrastinen tila
.invert-colors = Käänteiset värit
.color-filters = Värisuodattimet
.shake-cursor = Ravista osoitinta paikantaaksesi sen
.shake-cursor-desc = Ravista nopeasti hiirtä suurentaaksesi osoittimen väliaikaisesti
debug = Vianjäljitys
system-shortcut = Järjestelmä
.app-library = Avaa sovelluskirjasto

View file

@ -441,7 +441,6 @@ sound-alerts = Alertes
.sound = Alertes sonores
sound-applications = Applications
.desc = Volumes et paramètres d'application
.none = Aucune application n'utilise le son
## Printers
@ -896,8 +895,6 @@ accessibility = Accessibilité
.high-contrast = Mode contraste élevé
.invert-colors = Inverser les couleurs
.color-filters = Filtres de couleurs
.shake-cursor = Secouer le curseur pour le localiser
.shake-cursor-desc = Secouez rapidement la souris pour agrandir temporairement le curseur
color-filter = Type de filtre de couleurs
.unknown = Filtre inconnu actif
.greyscale = Niveaux de gris

View file

@ -211,7 +211,7 @@ bluetooth-display-pin = Emparellamento Bluetooth
.description = Introduce o seguinte PIN en { $device } e preme Intro
bluetooth-available = Dispositivos próximos
bluetooth-adapters = Adaptadores Bluetooth
accessibility = Accessibilidade
accessibility = Accessibility
.vision = Visión
.on = Activado
.off = Desactivado
@ -502,7 +502,6 @@ sound-alerts = Alertas
.sound = Son das alertas
sound-applications = Aplicacións
.desc = Volumes e configuracións das aplicacións
.none = Ningún aplicativo esta a soar
sound-device-port-unplugged = Desconectado
sound-hd-audio = Audio HD
sound-usb-audio = Audio USB

View file

@ -182,8 +182,6 @@ accessibility = Akadálymentesség
.high-contrast = Magas kontraszt mód
.invert-colors = Színek invertálása
.color-filters = Színszűrők
.shake-cursor = Mutató rázása a megtalálásához
.shake-cursor-desc = Az egér gyors megrázásával ideiglenesen megnövelhető a mutató mérete
hearing = Hallás
.mono = Sztereó hang lejátszása monóként
default = Alapértelmezett
@ -485,8 +483,7 @@ sound-alerts = Figyelmeztetések
.volume = Figyelmeztetések hangereje
.sound = Figyelmeztető hang
sound-applications = Alkalmazások
.desc = Alkalmazások hangereje és beállításai
.none = Egyetlen alkalmazás sem használ hangot
.desc = Alkalmazások hangerejei és beállításai
## Power

View file

@ -116,8 +116,6 @@ accessibility = Aksesibilitas
.high-contrast = Mode kontras tinggi
.invert-colors = Balikkan warna
.color-filters = Filter warna
.shake-cursor = Goyangkan penunjuk untuk menemukannya
.shake-cursor-desc = Goyangkan tetikus dengan cepat untuk memperbesar penunjuk untuk sementara
hearing = Pendengaran
.mono = Mainkan audio stereo sebagai mono
default = Bawaan
@ -399,7 +397,6 @@ sound-alerts = Peringatan
.sound = Suara peringatan
sound-applications = Aplikasi
.desc = Volume dan pengaturan aplikasi
.none = Tidak ada aplikasi yang menggunakan suara
sound-device-port-unplugged = Tercabut
sound-hd-audio = Audio HD
sound-usb-audio = Audio USB

View file

@ -116,8 +116,6 @@ accessibility = Арнайы мүмкіндіктер
.high-contrast = Жоғары контраст режимі
.invert-colors = Түстерді инверсиялау
.color-filters = Түс сүзгілері
.shake-cursor = Шайқаған кезде курсорды үлкейту
.shake-cursor-desc = Курсорды уақытша үлкейту үшін, тышқанды жылдам шайқаңыз
hearing = Есту қабілеті
.mono = Стерео аудионы моно ретінде ойнату
default = Әдепкі
@ -396,7 +394,6 @@ sound-alerts = Ескертулер
.sound = Ескертулер дыбысы
sound-applications = Қолданбалар
.desc = Қолданбалардың дыбыс деңгейі мен баптаулары
.none = Ешбір қолданба дыбысты қолданып жатқан жоқ
sound-device-port-unplugged = Ажыратылған
sound-hd-audio = HD аудио
sound-usb-audio = USB аудио

View file

@ -121,8 +121,6 @@ accessibility = Gihîştin
.high-contrast = Awayê berevajiya bilind
.invert-colors = Rengan berevajî bike
.color-filters = Parzûnên rengan
.shake-cursor = Nîşanderê bihejîne da ku wê bibînî
.shake-cursor-desc = Ji bo ku nîşander demkî mezin bibe, mişkê bi lez bihejîne
container-background = Paşrûyê konteynirê
.desc-detail = Rengê paşrûyêa konteynirê ji bo gerandina darika kêlekê, kaşoya alî, gotûbêj û alavokên wekhev tê bikaranîn. Bi berdestî, rengê paşrûya konteynirê xweber ji paşrûyê çarçoveyê tê girtin.
.reset = Vegere awayê xweber
@ -563,7 +561,6 @@ connected-devices = Amûrên girêdayî
icons-and-toolkit = Rûkara îkon û amûran
sound-applications = Sepan
.desc = Dengê sepanan û sazkarî
.none = Tu sepan dengê bi kar nayîne
time-zone = Herêma demê
.auto = Herêma dema xweber
.auto-info = Pêdiviya wê bi rajekarên cîh û gihîştina înternetê heye

View file

@ -180,8 +180,6 @@ accessibility = Dostępność
.high-contrast = Tryb wysokiego kontrastu
.invert-colors = Odwróć kolory
.color-filters = Filtry kolorów
.shake-cursor = Porusz energicznie kursorem by go znaleźć
.shake-cursor-desc = Szybko ruszaj myszką by czasowo powiększyć kursor
hearing = Słuchanie
.mono = Odtwarzaj dźwięk stereo jako mono
default = Domyślne
@ -498,7 +496,6 @@ sound-alerts = Alerty
.sound = Dźwięk alertów
sound-applications = Aplikacje
.desc = Ustawienia i głośność aplikacji
.none = Żadna z aplikacji nie wydaje dźwięków
## Power

View file

@ -124,8 +124,6 @@ accessibility = Acessibilidade
.high-contrast = Modo de alto contraste
.invert-colors = Inverter cores
.color-filters = Filtros de cor
.shake-cursor = Agite o ponteiro para encontrá-lo
.shake-cursor-desc = Agite rapidamente o mouse para ampliar temporariamente o ponteiro
hearing = Audição
.mono = Reproduzir áudio estéreo como mono
default = Padrão
@ -428,9 +426,8 @@ amplification = Amplificação
sound-alerts = Alertas
.volume = Volume dos alertas
.sound = Som dos alertas
sound-applications = Aplicativos
.desc = Volumes e configurações de aplicativo
.none = Nenhum aplicativo está usando som
sound-applications = Aplicações
.desc = Volume e configurações das aplicações
## Power

View file

@ -277,8 +277,7 @@ sound-alerts = Предупреждения
.volume = Громкость предупреждений
.sound = Звук предупреждений
sound-applications = Приложения
.desc = Громкость приложений и настройки
.none = Нет приложений, использующих звук
.desc = Громкость и настройки приложений
## System
@ -649,8 +648,6 @@ accessibility = Специальные возможности
.high-contrast = Режим высокой контрастности
.invert-colors = Инвертирование цвета
.color-filters = Цветовые фильтры
.shake-cursor = Увеличивать курсор при встряхивании
.shake-cursor-desc = Быстро встряхните мышь, чтобы временно увеличить курсор
hearing = Слух
.mono = Проигрывать стереозвук как монозвук
default = По умолчанию

View file

@ -206,8 +206,6 @@ accessibility = Tillgänglighet
.high-contrast = Högkontrastläge
.invert-colors = Invertera färger
.color-filters = Färgfilter
.shake-cursor = Skaka muspekaren för att hitta den
.shake-cursor-desc = Skaka musen snabbt för att tillfälligt förstora muspekaren
hearing = Hörsel
.mono = Spela stereoljud som mono
default = Standard
@ -492,7 +490,6 @@ sound-alerts = Larm
.sound = Larmljud
sound-applications = Program
.desc = Programvolym och inställningar
.none = Inga program använder ljud
## System

View file

@ -267,7 +267,6 @@ sound-alerts = Попередження
.sound = Звук попереджень
sound-applications = Застосунки
.desc = Гучність та налаштування для застосунків
.none = Жоден застосунок не відтворює звук
## Power
@ -653,10 +652,8 @@ accessibility = Доступність
.unavailable = Недоступно
.screen-reader = Екранний читач
.high-contrast = Висока контрастність
.invert-colors = Інверсія кольорів
.invert-colors = Інвертація кольорів
.color-filters = Фільтри кольорів
.shake-cursor = Потрусіть вказівником, щоб знайти його
.shake-cursor-desc = Швидко потрусіть мишею, щоби тимчасово збільшити вказівник
hearing = Слух
.mono = Відтворювати стерео звук у моно
default = Типовий

View file

@ -184,8 +184,6 @@ accessibility = 无障碍
.high-contrast = 高对比度模式
.invert-colors = 颜色反转
.color-filters = 色彩滤镜
.shake-cursor = 晃动指针来寻找它
.shake-cursor-desc = 快速晃动鼠标以暂时放大指标
hearing = 听觉
.mono = 播放立体声音频为单声道
default = 默认
@ -488,7 +486,6 @@ sound-alerts = 警告音
.sound = 警告音效
sound-applications = 应用程序
.desc = 应用程序音量和设置
.none = 没有任何应用程序正在使用声音
## Power

View file

@ -124,8 +124,6 @@ accessibility = 無障礙功能
.high-contrast = 高對比模式
.invert-colors = 反轉顏色
.color-filters = 色彩濾鏡
.shake-cursor = 晃動指標以能找到所在
.shake-cursor-desc = 快速晃動游標來暫時性地放大指標
hearing = 聽覺
.mono = 將立體聲播放為單聲道
default = 預設
@ -428,7 +426,6 @@ sound-alerts = 提示音
.sound = 提示音音效
sound-applications = 應用程式
.desc = 應用程式音量與設定
.none = 無應用程式使用音效
## Power

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-page"
version = "1.7.0"
version = "1.0.7"
edition = "2024"
[dependencies]

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-sound"
version = "1.7.0"
version = "0.1.0"
edition = "2024"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-wallpaper"
version = "1.7.0"
version = "1.0.7"
edition = "2024"
rust-version.workspace = true

View file

@ -1,3 +1,3 @@
[toolchain]
channel = "1.95.0"
channel = "1.93.0"
components = ["clippy", "rustfmt"]

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-a11y-manager-subscription"
version = "1.7.0"
version = "1.0.7"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-accessibility-subscription"
version = "1.7.0"
version = "1.0.7"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-airplane-mode-subscription"
version = "1.7.0"
version = "1.0.7"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-bluetooth-subscription"
version = "1.7.0"
version = "1.0.7"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-daemon-subscription"
version = "1.7.0"
version = "1.0.7"
edition = "2024"
rust-version.workspace = true
publish = true

View file

@ -1,6 +1,6 @@
[package]
name = "cosmic-settings-upower-subscription"
version = "1.7.0"
version = "1.0.7"
edition = "2024"
license = "MPL-2.0"
rust-version.workspace = true