From 0d14fd9136d7dbd731b02ce8501ff725f11b71cc Mon Sep 17 00:00:00 2001 From: jrun Date: Thu, 5 Jan 2023 14:17:55 -0500 Subject: 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 * nix: add withSystemd flag Signed-off-by: Paymon MARANDI Co-authored-by: Mihai Fufezan Co-authored-by: Vaxerski --- src/Compositor.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/Compositor.cpp') diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 2c9ad503..b60d70d7 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -2,6 +2,9 @@ #include "helpers/Splashes.hpp" #include #include "debug/HyprCtl.hpp" +#ifdef USES_SYSTEMD +#include // for sd_notify +#endif int handleCritSignal(int signo, void* data) { Debug::log(LOG, "Hyprland received signal %d", signo); @@ -384,6 +387,15 @@ void CCompositor::startCompositor() { wlr_xcursor_manager_set_cursor_image(m_sWLRXCursorMgr, "left_ptr", m_sWLRCursor); +#ifdef USES_SYSTEMD + if (sd_booted() > 0) + // tell systemd that we are ready so it can start other bond, following, related units + sd_notify(0, "READY=1"); + else + Debug::log(LOG, "systemd integration is baked in but system itself is not booted à la systemd!"); +#endif + + // This blocks until we are done. Debug::log(LOG, "Hyprland is ready, running the event loop!"); wl_display_run(m_sWLDisplay); -- cgit v1.2.3