Add util function for boolean env vars
It's probably good to be consistent about what is recognized as "true" without copying the same code.
This commit is contained in:
parent
a4d875e35e
commit
087be20365
3 changed files with 10 additions and 10 deletions
13
src/state.rs
13
src/state.rs
|
|
@ -454,14 +454,7 @@ pub fn client_is_privileged(client: &Client) -> bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn enable_wayland_security() -> bool {
|
fn enable_wayland_security() -> bool {
|
||||||
std::env::var("COSMIC_ENABLE_WAYLAND_SECURITY")
|
crate::utils::env::bool_var("COSMIC_ENABLE_WAYLAND_SECURITY").unwrap_or(false)
|
||||||
.map(|x| {
|
|
||||||
x == "1"
|
|
||||||
|| x.to_lowercase() == "true"
|
|
||||||
|| x.to_lowercase() == "yes"
|
|
||||||
|| x.to_lowercase() == "y"
|
|
||||||
})
|
|
||||||
.unwrap_or(false)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl State {
|
impl State {
|
||||||
|
|
@ -524,8 +517,8 @@ impl State {
|
||||||
let idle_inhibit_manager_state = IdleInhibitManagerState::new::<State>(&dh);
|
let idle_inhibit_manager_state = IdleInhibitManagerState::new::<State>(&dh);
|
||||||
let idle_inhibiting_surfaces = HashSet::new();
|
let idle_inhibiting_surfaces = HashSet::new();
|
||||||
|
|
||||||
let data_control_state = std::env::var("COSMIC_DATA_CONTROL_ENABLED")
|
let data_control_state = crate::utils::env::bool_var("COSMIC_DATA_CONTROL_ENABLED")
|
||||||
.is_ok_and(|value| value == "1")
|
.unwrap_or(false)
|
||||||
.then(|| {
|
.then(|| {
|
||||||
DataControlState::new::<Self, _>(dh, Some(&primary_selection_state), |_| true)
|
DataControlState::new::<Self, _>(dh, Some(&primary_selection_state), |_| true)
|
||||||
});
|
});
|
||||||
|
|
|
||||||
6
src/utils/env.rs
Normal file
6
src/utils/env.rs
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
|
||||||
|
pub fn bool_var(name: &str) -> Option<bool> {
|
||||||
|
let value = std::env::var(name).ok()?.to_lowercase();
|
||||||
|
Some(["1", "true", "yes", "y"].contains(&value.as_str()))
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// SPDX-License-Identifier: GPL-3.0-only
|
// SPDX-License-Identifier: GPL-3.0-only
|
||||||
|
|
||||||
|
pub mod env;
|
||||||
mod ids;
|
mod ids;
|
||||||
pub(crate) use self::ids::id_gen;
|
pub(crate) use self::ids::id_gen;
|
||||||
pub mod geometry;
|
pub mod geometry;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue