main: Only launch xdg-portal on COSMIC
This commit is contained in:
parent
c44946be82
commit
5a0df6afb6
1 changed files with 30 additions and 22 deletions
12
src/main.rs
12
src/main.rs
|
|
@ -9,7 +9,10 @@ mod service;
|
||||||
mod systemd;
|
mod systemd;
|
||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
borrow::Cow, env, os::fd::{AsRawFd, OwnedFd}, sync::Arc
|
borrow::Cow,
|
||||||
|
env,
|
||||||
|
os::fd::{AsRawFd, OwnedFd},
|
||||||
|
sync::Arc,
|
||||||
};
|
};
|
||||||
|
|
||||||
use async_signals::Signals;
|
use async_signals::Signals;
|
||||||
|
|
@ -115,7 +118,10 @@ async fn start(
|
||||||
info!("Starting cosmic-session");
|
info!("Starting cosmic-session");
|
||||||
|
|
||||||
let mut args = env::args().skip(1);
|
let mut args = env::args().skip(1);
|
||||||
let (executable, args) = (args.next().unwrap_or_else(|| String::from("cosmic-comp")), args.collect::<Vec<_>>());
|
let (executable, args) = (
|
||||||
|
args.next().unwrap_or_else(|| String::from("cosmic-comp")),
|
||||||
|
args.collect::<Vec<_>>(),
|
||||||
|
);
|
||||||
|
|
||||||
let process_manager = ProcessManager::new().await;
|
let process_manager = ProcessManager::new().await;
|
||||||
_ = process_manager.set_max_restarts(usize::MAX).await;
|
_ = process_manager.set_max_restarts(usize::MAX).await;
|
||||||
|
|
@ -336,6 +342,7 @@ async fn start(
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
|
if env::var("XDG_CURRENT_DESKTOP").as_deref() == Ok("COSMIC") {
|
||||||
let span = info_span!(parent: None, "xdg-desktop-portal-cosmic");
|
let span = info_span!(parent: None, "xdg-desktop-portal-cosmic");
|
||||||
let mut sockets = Vec::with_capacity(1);
|
let mut sockets = Vec::with_capacity(1);
|
||||||
let extra_env = Vec::with_capacity(1);
|
let extra_env = Vec::with_capacity(1);
|
||||||
|
|
@ -356,6 +363,7 @@ async fn start(
|
||||||
portal_extras,
|
portal_extras,
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
}
|
||||||
|
|
||||||
let mut signals = Signals::new(vec![libc::SIGTERM, libc::SIGINT]).unwrap();
|
let mut signals = Signals::new(vec![libc::SIGTERM, libc::SIGINT]).unwrap();
|
||||||
let mut status = Status::Exited;
|
let mut status = Status::Exited;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue