diff --git a/src/Compositor.cpp b/src/Compositor.cpp index fed97611..aae6328e 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -434,7 +434,11 @@ void CCompositor::startCompositor() { signal(SIGPIPE, SIG_IGN); if (m_sWLRSession /* Session-less Hyprland usually means a nest, don't update the env in that case */ && fork() == 0) - execl("/bin/sh", "/bin/sh", "-c", "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE", nullptr); + execl( + "/bin/sh", "/bin/sh", "-c", + "systemctl --user import-environment DISPLAY WAYLAND_DISPLAY HYPRLAND_INSTANCE_SIGNATURE XDG_CURRENT_DESKTOP && hash dbus-update-activation-environment 2>/dev/null && " + "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE", + nullptr); Debug::log(LOG, "Running on WAYLAND_DISPLAY: %s", m_szWLDisplaySocket.c_str());