Files
gKeyMapper/shared/ipc_ids.h
2026-10-18 02:57:29 +02:00

30 lines
1.2 KiB
C++

// gKeyMapper - identifiers shared by the GUI and the daemon.
//
// The D-Bus channel is control plane only: status, an explicit reload and
// notifications. A keypress never crosses it, so a slow or absent GUI cannot
// delay an action.
#ifndef GKEYMAPPER_IPC_IDS_H
#define GKEYMAPPER_IPC_IDS_H
namespace gkeymapper::ipc {
// Application id: GApplication id, the name of the installed .desktop file's
// window class, and the well-known bus name the daemon owns.
inline constexpr const char* kAppId = "dev.rager.gkeymapper";
// Reported by GetStatus and shown in the About dialog.
inline constexpr const char* kVersion = "0.1.0";
// The daemon owns this name; the GUI talks to it via the object below.
//
// It is deliberately not the plain app id: GtkApplication owns the app id
// itself (that is how it detects a second GUI instance), so a daemon on the
// same name would make every GUI start look like a duplicate and exit.
inline constexpr const char* kBusName = "dev.rager.gkeymapper.Daemon";
inline constexpr const char* kObjectPath = "/dev/rager/gkeymapper/Daemon";
inline constexpr const char* kInterface = "dev.rager.gkeymapper.Daemon";
} // namespace gkeymapper::ipc
#endif // GKEYMAPPER_IPC_IDS_H