core: Preserve existing XDG_CURRENT_DESKTOP (#7347)

* Preserve existing XDG_CURRENT_DESKTOP

* fix

---------

Co-authored-by: vaxerski <vaxry@vaxry.net>
This commit is contained in:
Vladimir-csp
2024-08-15 19:14:48 +03:00
committed by GitHub
parent 520e91238f
commit 15f942000e
3 changed files with 7 additions and 2 deletions

View File

@@ -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 =

View File

@@ -91,6 +91,7 @@ class CCompositor {
bool m_bNextIsUnsafe = false;
CMonitor* m_pUnsafeOutput = nullptr; // fallback output for the unsafe state
bool m_bIsShuttingDown = false;
bool m_bDesktopEnvSet = false;
// ------------------------------------------------- //

View File

@@ -36,7 +36,6 @@ int main(int argc, char** argv) {
setenv("XDG_BACKEND", "wayland", 1);
setenv("_JAVA_AWT_WM_NONREPARENTING", "1", 1);
setenv("MOZ_ENABLE_WAYLAND", "1", 1);
setenv("XDG_CURRENT_DESKTOP", "Hyprland", 1);
// parse some args
std::string configPath;