From 11ee2fc23ef5728d1e132f338c08a7805c6109b2 Mon Sep 17 00:00:00 2001 From: choc Date: Tue, 26 Mar 2024 21:02:16 +0800 Subject: [PATCH] implement setupenv --- config.def.h | 5 +++++ dwl.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/config.def.h b/config.def.h index 9009517..b16189a 100644 --- a/config.def.h +++ b/config.def.h @@ -20,6 +20,11 @@ static const float fullscreen_bg[] = {0.1f, 0.1f, 0.1f, 1.0f}; /* You ca /* logging */ static int log_level = WLR_ERROR; +static const Env envs[] = { + /* variable value */ + { "XDG_CURRENT_DESKTOP", "wlroots" }, +}; + static const Rule rules[] = { /* app_id title tags mask isfloating monitor */ /* examples: diff --git a/dwl.c b/dwl.c index 5867b0c..b7d522b 100644 --- a/dwl.c +++ b/dwl.c @@ -230,6 +230,11 @@ typedef struct { int monitor; } Rule; +typedef struct { + const char *variable; + const char *value; +} Env; + typedef struct { struct wlr_scene_tree *scene; @@ -2066,6 +2071,8 @@ run(char *startup_cmd) if (!socket) die("startup: display_add_socket_auto"); setenv("WAYLAND_DISPLAY", socket, 1); + for (size_t i = 0; i < LENGTH(envs); i++) + setenv(envs[i].variable, envs[i].value, 1); /* Start the backend. This will enumerate outputs and inputs, become the DRM * master, etc */ -- 2.44.0