-static bool has_graphical_session(Manager *m, const char *seat) {
- Seat *s;
-
- assert(m);
- assert(seat);
-
- s = hashmap_get(m->seats, seat);
- if (!s)
- return false;
-
- if (!s->active)
- return false;
-
- return s->active->type == SESSION_X11;
-}
+static int button_handle(
+ Button *b,
+ InhibitWhat inhibit_key,
+ HandleButton handle,
+ bool ignore_inhibited,
+ bool is_edge) {
+
+ static const char * const message_table[_HANDLE_BUTTON_MAX] = {
+ [HANDLE_POWEROFF] = "Powering Off...",
+ [HANDLE_REBOOT] = "Rebooting...",
+ [HANDLE_HALT] = "Halting...",
+ [HANDLE_KEXEC] = "Rebooting via kexec...",
+ [HANDLE_SUSPEND] = "Suspending...",
+ [HANDLE_HIBERNATE] = "Hibernating..."
+ };
+
+ static const char * const target_table[_HANDLE_BUTTON_MAX] = {
+ [HANDLE_POWEROFF] = "poweroff.target",
+ [HANDLE_REBOOT] = "reboot.target",
+ [HANDLE_HALT] = "halt.target",
+ [HANDLE_KEXEC] = "kexec.target",
+ [HANDLE_SUSPEND] = "suspend.target",
+ [HANDLE_HIBERNATE] = "hibernate.target"
+ };