41#if defined(HAVE_DBUS) && defined(SG_UNIX) && !defined(SG_MAC)
42 DBusConnection *dbus_connection;
43 DBusMessage *dbus_inhibit_screenlock;
44 unsigned int window_id=1000;
45 unsigned int inhibit_idle=8;
46 const char *app_name=
"org.flightgear";
47 const char *inhibit_reason=
"Uses joystick input";
50 dbus_connection=dbus_bus_get(DBUS_BUS_SESSION,NULL);
51 dbus_connection_set_exit_on_disconnect(dbus_connection,FALSE);
55 dbus_inhibit_screenlock=dbus_message_new_method_call(
"org.gnome.SessionManager",
"/org/gnome/SessionManager",
"org.gnome.SessionManager",
"Inhibit");
57 dbus_message_append_args(dbus_inhibit_screenlock,DBUS_TYPE_STRING,&app_name,DBUS_TYPE_UINT32,&window_id,DBUS_TYPE_STRING,&inhibit_reason,DBUS_TYPE_UINT32,&inhibit_idle,DBUS_TYPE_INVALID);
58 dbus_connection_send(dbus_connection,dbus_inhibit_screenlock,NULL);
61 dbus_inhibit_screenlock=dbus_message_new_method_call(
"org.freedesktop.ScreenSaver",
"/ScreenSaver",
"org.freedesktop.ScreenSaver",
"Inhibit");
63 dbus_message_append_args(dbus_inhibit_screenlock,DBUS_TYPE_STRING,&app_name,DBUS_TYPE_STRING,&inhibit_reason,DBUS_TYPE_INVALID);
64 dbus_connection_send(dbus_connection,dbus_inhibit_screenlock,NULL);
65 dbus_connection_flush(dbus_connection);