summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorVladimir-csp <4061903+Vladimir-csp@users.noreply.github.com>2024-08-15 19:14:48 +0300
committerGitHub <noreply@github.com>2024-08-15 17:14:48 +0100
commit15f942000ef53776852d6d9dfd303e691aed73e3 (patch)
treeaa408f5e8aaabb3f9c18228469f98d5c20e08f0e /src/Compositor.cpp
parent520e91238f0e6e6990e6a0845d73d85012485525 (diff)
core: Preserve existing XDG_CURRENT_DESKTOP (#7347)
* Preserve existing XDG_CURRENT_DESKTOP * fix --------- Co-authored-by: vaxerski <vaxry@vaxry.net>
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 26a985ef..4024fadf 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -305,6 +305,10 @@ void CCompositor::initServer(std::string socketName, int socketFd) {
setenv("WAYLAND_DISPLAY", m_szWLDisplaySocket.c_str(), 1);
setenv("XDG_SESSION_TYPE", "wayland", 1);
+ if (!getenv("XDG_CURRENT_DESKTOP")) {
+ setenv("XDG_CURRENT_DESKTOP", "Hyprland", 1);
+ m_bDesktopEnvSet = true;
+ }
initManagers(STAGE_BASICINIT);
@@ -422,7 +426,8 @@ void CCompositor::cleanEnvironment() {
// in main
unsetenv("HYPRLAND_CMD");
unsetenv("XDG_BACKEND");
- unsetenv("XDG_CURRENT_DESKTOP");
+ if (m_bDesktopEnvSet)
+ unsetenv("XDG_CURRENT_DESKTOP");
if (m_pAqBackend->hasSession()) {
const auto CMD =