parent
a9cbbeea0a
commit
b004b9d815
11 changed files with 340 additions and 314 deletions
572
Cargo.lock
generated
572
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
12
Cargo.toml
12
Cargo.toml
|
|
@ -8,7 +8,7 @@ rust-version = "1.79.0"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
cosmic-randr = { git = "https://github.com/pop-os/cosmic-randr" }
|
cosmic-randr = { git = "https://github.com/pop-os/cosmic-randr" }
|
||||||
tokio = { version = "1.37.0", features = ["macros"] }
|
tokio = { version = "1.39.2", features = ["macros"] }
|
||||||
|
|
||||||
[workspace.dependencies.libcosmic]
|
[workspace.dependencies.libcosmic]
|
||||||
git = "https://github.com/pop-os/libcosmic"
|
git = "https://github.com/pop-os/libcosmic"
|
||||||
|
|
@ -41,17 +41,17 @@ git = "https://github.com/pop-os/cosmic-randr"
|
||||||
[workspace.dependencies.sctk]
|
[workspace.dependencies.sctk]
|
||||||
git = "https://github.com/smithay/client-toolkit/"
|
git = "https://github.com/smithay/client-toolkit/"
|
||||||
package = "smithay-client-toolkit"
|
package = "smithay-client-toolkit"
|
||||||
rev = "3bed072"
|
# rev = "c583de8"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
opt-level = 3
|
opt-level = 3
|
||||||
lto = "thin"
|
lto = "thin"
|
||||||
|
|
||||||
[patch.'https://github.com/smithay/client-toolkit/']
|
# [patch.'https://github.com/smithay/client-toolkit/']
|
||||||
smithay-client-toolkit = { git = "https://github.com/smithay/client-toolkit//", rev = "3bed072" }
|
# smithay-client-toolkit = { git = "https://github.com/smithay/client-toolkit//", rev = "c583de8" }
|
||||||
|
|
||||||
[patch.'https://github.com/pop-os/cosmic-protocols']
|
# [patch.'https://github.com/pop-os/cosmic-protocols']
|
||||||
cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols//", rev = "1316f9e" }
|
# cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols//", rev = "bd65e0f2d55429954839c9e6c7bc5b0d198b85f0" }
|
||||||
|
|
||||||
# For development and testing purposes
|
# For development and testing purposes
|
||||||
# [patch.'https://github.com/pop-os/libcosmic']
|
# [patch.'https://github.com/pop-os/libcosmic']
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@ license = "GPL-3.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
ashpd = { version = "0.8", default-features = false }
|
ashpd = { version = "0.9", default-features = false }
|
||||||
async-channel = "2.1.1"
|
async-channel = "2.3.1"
|
||||||
chrono = "0.4.37"
|
chrono = "0.4.38"
|
||||||
clap = { version = "4.4.18", features = ["derive"] }
|
clap = { version = "4.5.11", features = ["derive"] }
|
||||||
color-eyre = "0.6.2"
|
color-eyre = "0.6.3"
|
||||||
cosmic-bg-config.workspace = true
|
cosmic-bg-config.workspace = true
|
||||||
cosmic-comp-config.workspace = true
|
cosmic-comp-config.workspace = true
|
||||||
cosmic-config.workspace = true
|
cosmic-config.workspace = true
|
||||||
|
|
@ -25,34 +25,34 @@ cosmic-settings-wallpaper = { path = "../pages/wallpapers" }
|
||||||
derivative = "2.2.0"
|
derivative = "2.2.0"
|
||||||
derive_setters = "0.1.6"
|
derive_setters = "0.1.6"
|
||||||
dirs = "5.0.1"
|
dirs = "5.0.1"
|
||||||
downcast-rs = "1.2.0"
|
downcast-rs = "1.2.1"
|
||||||
freedesktop-desktop-entry = "0.5.0"
|
freedesktop-desktop-entry = "0.7.0"
|
||||||
futures = { package = "futures-lite", version = "2.2.0" }
|
futures = { package = "futures-lite", version = "2.3.0" }
|
||||||
generator = "=0.8.1"
|
generator = "=0.8.1"
|
||||||
hostname-validator = "1.1.1"
|
hostname-validator = "1.1.1"
|
||||||
hostname1-zbus = { git = "https://github.com/pop-os/dbus-settings-bindings" }
|
hostname1-zbus = { git = "https://github.com/pop-os/dbus-settings-bindings" }
|
||||||
i18n-embed-fl = "0.8.0"
|
i18n-embed-fl = "0.8.0"
|
||||||
image = "0.25"
|
image = "0.25"
|
||||||
itertools = "0.13.0"
|
itertools = "0.13.0"
|
||||||
itoa = "1.0.10"
|
itoa = "1.0.11"
|
||||||
libcosmic.workspace = true
|
libcosmic.workspace = true
|
||||||
notify = "6.1.1"
|
notify = "6.1.1"
|
||||||
once_cell = "1.19.0"
|
once_cell = "1.19.0"
|
||||||
regex = "1.10.3"
|
regex = "1.10.5"
|
||||||
ron = "0.8"
|
ron = "0.8"
|
||||||
rust-embed = "8.2.0"
|
rust-embed = "8.5.0"
|
||||||
serde = { version = "1.0.196", features = ["derive"] }
|
serde = { version = "1.0.204", features = ["derive"] }
|
||||||
slotmap = "1.0.7"
|
slotmap = "1.0.7"
|
||||||
static_init = "1.0.3"
|
static_init = "1.0.3"
|
||||||
sunrise = "1.0.1"
|
sunrise = "1.0.1"
|
||||||
tokio.workspace = true
|
tokio.workspace = true
|
||||||
tracing = "0.1.40"
|
tracing = "0.1.40"
|
||||||
tracing-subscriber = "0.3.18"
|
tracing-subscriber = "0.3.18"
|
||||||
udev = "0.8.0"
|
udev = "0.9.0"
|
||||||
url = "2.5.0"
|
url = "2.5.2"
|
||||||
xkb-data = "0.1.0"
|
xkb-data = "0.1.0"
|
||||||
zbus = { version = "4.2.1", features = ["tokio"] }
|
zbus = { version = "4.4.0", features = ["tokio"] }
|
||||||
tachyonix = "0.2.1"
|
tachyonix = "0.3.0"
|
||||||
slab = "0.4.9"
|
slab = "0.4.9"
|
||||||
|
|
||||||
[dependencies.i18n-embed]
|
[dependencies.i18n-embed]
|
||||||
|
|
|
||||||
|
|
@ -109,8 +109,6 @@ pub fn main() -> color_eyre::Result<()> {
|
||||||
std::env::set_var("RUST_SPANTRACE", "0");
|
std::env::set_var("RUST_SPANTRACE", "0");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::env::set_var("WGPU_POWER_PREF", "low");
|
|
||||||
|
|
||||||
init_logger();
|
init_logger();
|
||||||
init_localizer();
|
init_localizer();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -600,15 +600,15 @@ impl<'a> TryFrom<Cow<'a, Path>> for Applet<'static> {
|
||||||
|
|
||||||
fn try_from(path: Cow<'a, Path>) -> Result<Self, Self::Error> {
|
fn try_from(path: Cow<'a, Path>) -> Result<Self, Self::Error> {
|
||||||
let content = std::fs::read_to_string(path.as_ref())?;
|
let content = std::fs::read_to_string(path.as_ref())?;
|
||||||
let entry = DesktopEntry::decode(path.as_ref(), &content)?;
|
let entry = DesktopEntry::from_str(path.as_ref(), &content, None::<&[&str]>)?;
|
||||||
if entry.desktop_entry("X-CosmicApplet").is_none() {
|
if entry.desktop_entry("X-CosmicApplet").is_none() {
|
||||||
anyhow::bail!("Not an applet");
|
anyhow::bail!("Not an applet");
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
id: Cow::from(entry.id().to_string()),
|
id: Cow::from(entry.id().to_string()),
|
||||||
name: Cow::from(entry.name(None).unwrap_or_default().to_string()),
|
name: Cow::from(entry.name::<&str>(&[]).unwrap_or_default().to_string()),
|
||||||
description: Cow::from(entry.comment(None).unwrap_or_default().to_string()),
|
description: Cow::from(entry.comment::<&str>(&[]).unwrap_or_default().to_string()),
|
||||||
icon: Cow::from(entry.icon().unwrap_or_default().to_string()),
|
icon: Cow::from(entry.icon().unwrap_or_default().to_string()),
|
||||||
path: Cow::from(path.into_owned()),
|
path: Cow::from(path.into_owned()),
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,12 @@ edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
derive_setters = "0.1.6"
|
derive_setters = "0.1.6"
|
||||||
regex = "1.10.3"
|
regex = "1.10.5"
|
||||||
slotmap = "1.0.7"
|
slotmap = "1.0.7"
|
||||||
libcosmic = { workspace = true }
|
libcosmic = { workspace = true }
|
||||||
generator = "0.7.5"
|
generator = "0.7.5"
|
||||||
downcast-rs = "1.2.0"
|
downcast-rs = "1.2.1"
|
||||||
once_cell = "1.19.0"
|
once_cell = "1.19.0"
|
||||||
tokio.workspace = true
|
tokio.workspace = true
|
||||||
url = "2.5.0"
|
url = "2.5.2"
|
||||||
slab = "0.4.9"
|
slab = "0.4.9"
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,9 @@ license = "GPL-3.0-only"
|
||||||
byte-unit = "5.1.4"
|
byte-unit = "5.1.4"
|
||||||
const_format = "0.2.32"
|
const_format = "0.2.32"
|
||||||
concat-in-place = "1.1.0"
|
concat-in-place = "1.1.0"
|
||||||
sysinfo = "0.30.5"
|
sysinfo = "0.30.13"
|
||||||
memchr = "2.7.1"
|
memchr = "2.7.4"
|
||||||
|
|
||||||
[dependencies.bumpalo]
|
[dependencies.bumpalo]
|
||||||
version = "3.14.0"
|
version = "3.16.0"
|
||||||
features = ["collections"]
|
features = ["collections"]
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,11 @@ version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
icu_calendar = "1.4.0"
|
icu_calendar = "1.5.2"
|
||||||
icu_timezone = "1.4.0"
|
icu_timezone = "1.5.0"
|
||||||
timedate-zbus = "0.1.0"
|
timedate-zbus = "0.1.0"
|
||||||
|
|
||||||
[dependencies.zbus]
|
[dependencies.zbus]
|
||||||
version = "3.14.1"
|
version = "3.15.2"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["tokio"]
|
features = ["tokio"]
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,10 @@ cosmic-bg-config = { workspace = true }
|
||||||
cosmic-config = { workspace = true }
|
cosmic-config = { workspace = true }
|
||||||
cosmic-randr-shell = { workspace = true }
|
cosmic-randr-shell = { workspace = true }
|
||||||
dirs = "5.0.1"
|
dirs = "5.0.1"
|
||||||
freedesktop-icons = "0.2.5"
|
freedesktop-icons = "0.2.6"
|
||||||
futures-lite = "2.2.0"
|
futures-lite = "2.3.0"
|
||||||
futures-util = "0.3.30"
|
futures-util = "0.3.30"
|
||||||
image = "0.25.0"
|
image = "0.25.2"
|
||||||
infer = "0.15.0"
|
infer = "0.15.0"
|
||||||
tokio = { version = "1.35.1", features = ["sync"] }
|
tokio = { version = "1.39.2", features = ["sync"] }
|
||||||
tracing = "0.1.40"
|
tracing = "0.1.40"
|
||||||
|
|
|
||||||
|
|
@ -275,7 +275,7 @@ fn open_image(input_buffer: &mut Vec<u8>, path: &Path) -> Option<DynamicImage> {
|
||||||
}
|
}
|
||||||
|
|
||||||
let input_cursor = std::io::Cursor::new(input_buffer);
|
let input_cursor = std::io::Cursor::new(input_buffer);
|
||||||
let mut image_decoder = image::io::Reader::new(input_cursor);
|
let mut image_decoder = image::ImageReader::new(input_cursor);
|
||||||
|
|
||||||
image_decoder = if let Ok(decoder) = image_decoder.with_guessed_format() {
|
image_decoder = if let Ok(decoder) = image_decoder.with_guessed_format() {
|
||||||
decoder
|
decoder
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ clean-dist: clean
|
||||||
|
|
||||||
# Run the application for testing purposes
|
# Run the application for testing purposes
|
||||||
run *args:
|
run *args:
|
||||||
env RUST_LOG=debug RUST_BACKTRACE=full cargo run {{args}}
|
env RUST_LOG=debug RUST_BACKTRACE=full cargo run {{args}} --release
|
||||||
|
|
||||||
# Run `cargo test`
|
# Run `cargo test`
|
||||||
test *args:
|
test *args:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue