summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorjrun <darwinskernel@gmail.com>2023-01-05 14:17:55 -0500
committerGitHub <noreply@github.com>2023-01-05 20:17:55 +0100
commit0d14fd9136d7dbd731b02ce8501ff725f11b71cc (patch)
tree762f31d08fb83a93f32ad9f2b148676b1662833a /src/main.cpp
parent96198dae55b1429449504e49065a10763b288431 (diff)
add systemd support (#1253)
* add systemd support motivation for this is is proper ordering of related/bound/required services to Hyprland (e.g. swaybg) that would need to have a compositor ready. this could possibly be a build-time option of course. see also: example/ files for example of services Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com> * nix: add withSystemd flag Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com> Co-authored-by: Mihai Fufezan <fufexan@protonmail.com> Co-authored-by: Vaxerski <vaxry@vaxry.net>
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 5b56944e..7d1353ba 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -4,6 +4,9 @@
#include "config/ConfigManager.hpp"
#include "init/initHelpers.hpp"
#include <iostream>
+#ifdef USES_SYSTEMD
+#include <systemd/sd-daemon.h> // for sd_notify
+#endif
int main(int argc, char** argv) {
@@ -66,6 +69,12 @@ int main(int argc, char** argv) {
// If we are here it means we got yote.
Debug::log(LOG, "Hyprland reached the end.");
+#ifdef USES_SYSTEMD
+ // tell systemd it destroy bound/related units
+ if (sd_booted() > 0)
+ sd_notify(0, "STOPPING=1");
+#endif
+
wl_display_destroy_clients(g_pCompositor->m_sWLDisplay);
// kill all clients