diff --git a/daemon/dbus_messaging.c b/daemon/dbus_messaging.c index 96d8f80..45a097c 100644 --- a/daemon/dbus_messaging.c +++ b/daemon/dbus_messaging.c @@ -40,6 +40,7 @@ POSSIBILITY OF SUCH DAMAGE. #include #include +#include /* systemd dbus components */ static sd_bus *bus = NULL; @@ -144,6 +145,7 @@ void game_mode_context_loop(GameModeContext *context) } LOG_MSG("Successfully initialised bus with name [%s]...\n", "com.feralinteractive.GameMode"); + sd_notifyf(0,"STATUS=%sGameMode is ready to be activated.%s\n", "\x1B[1;36m", "\x1B[0m"); /* Now loop, waiting for callbacks */ for (;;) { diff --git a/daemon/gamemode.c b/daemon/gamemode.c index f2067ca..d0d0bfc 100644 --- a/daemon/gamemode.c +++ b/daemon/gamemode.c @@ -36,6 +36,7 @@ POSSIBILITY OF SUCH DAMAGE. #include "governors.h" #include "logging.h" +#include #include #include #include @@ -161,6 +162,8 @@ void game_mode_context_destroy(GameModeContext *self) static void game_mode_context_enter(GameModeContext *self) { LOG_MSG("Entering Game Mode...\n"); + sd_notifyf(0,"STATUS=%sGameMode is now active.%s\n", "\x1B[1;32m", "\x1B[0m"); + if (!self->performance_mode && set_governors("performance")) { self->performance_mode = true; } @@ -175,6 +178,8 @@ static void game_mode_context_enter(GameModeContext *self) static void game_mode_context_leave(GameModeContext *self) { LOG_MSG("Leaving Game Mode...\n"); + sd_notifyf(0,"STATUS=%sGameMode is currently deactivated.%s\n", "\x1B[1;36m", "\x1B[0m"); + if (self->performance_mode && set_governors(NULL)) { self->performance_mode = false; } diff --git a/daemon/main.c b/daemon/main.c index df2151a..f53820d 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -55,6 +55,7 @@ POSSIBILITY OF SUCH DAMAGE. #include "gamemode.h" #include "logging.h" +#include #include #include #include @@ -74,6 +75,7 @@ POSSIBILITY OF SUCH DAMAGE. static void sigint_handler(__attribute__((unused)) int signo) { LOG_MSG("Quitting by request...\n"); + sd_notify(0,"STATUS=GameMode is quitting by request...\n"); /* Clean up nicely */ game_mode_context_destroy(game_mode_context_instance()); @@ -144,4 +146,5 @@ int main(int argc, char *argv[]) /* Log we're finished */ LOG_MSG("Quitting naturally...\n"); + sd_notify(0,"STATUS=GameMode is quitting naturally...\n"); } diff --git a/data/gamemoded.service.in b/data/gamemoded.service.in index 9472485..4f6ed66 100644 --- a/data/gamemoded.service.in +++ b/data/gamemoded.service.in @@ -4,6 +4,7 @@ Description=gamemoded [Service] Type=dbus BusName=com.feralinteractive.GameMode +NotifyAccess=main ExecStart=@BINDIR@/gamemoded -l [Install]