aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index dc491cb8..275d747b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -61,6 +61,11 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
debug!("running as a session but WAYLAND_DISPLAY is set, removing it");
env::remove_var("WAYLAND_DISPLAY");
}
+
+ // Set the current desktop for xdg-desktop-portal.
+ env::set_var("XDG_CURRENT_DESKTOP", "niri");
+ // Ensure the session type is set to Wayland for xdg-autostart and Qt apps.
+ env::set_var("XDG_SESSION_TYPE", "wayland");
}
let _client = tracy_client::Client::start();
@@ -236,7 +241,13 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
}
fn import_environment() {
- let variables = ["WAYLAND_DISPLAY", niri_ipc::SOCKET_PATH_ENV].join(" ");
+ let variables = [
+ "WAYLAND_DISPLAY",
+ "XDG_CURRENT_DESKTOP",
+ "XDG_SESSION_TYPE",
+ niri_ipc::SOCKET_PATH_ENV,
+ ]
+ .join(" ");
let rv = Command::new("/bin/sh")
.args([