Add gtk_application_end_session
This function allows applications to request that the user session be ended by logout/shutdown/reboot.
This commit is contained in:
parent
bdd7e15c84
commit
3142d13972
@ -219,6 +219,7 @@ gtk_app_chooser_widget_set_show_other
|
||||
gtk_app_chooser_widget_set_show_recommended
|
||||
gtk_application_add_accelerator
|
||||
gtk_application_add_window
|
||||
gtk_application_end_session
|
||||
gtk_application_get_app_menu
|
||||
gtk_application_get_menubar
|
||||
gtk_application_get_type
|
||||
|
@ -1209,4 +1209,35 @@ gtk_application_is_inhibited (GtkApplication *application,
|
||||
return inhibited;
|
||||
}
|
||||
|
||||
gboolean
|
||||
gtk_application_end_session (GtkApplication *application,
|
||||
GtkApplicationEndStyle style,
|
||||
gboolean request_confirmation)
|
||||
{
|
||||
g_return_val_if_fail (GTK_IS_APPLICATION (application), FALSE);
|
||||
g_return_val_if_fail (!g_application_get_is_remote (G_APPLICATION (application)), FALSE);
|
||||
g_return_val_if_fail (application->priv->sm_proxy != NULL, FALSE);
|
||||
|
||||
switch (style)
|
||||
{
|
||||
case GTK_APPLICATION_LOGOUT:
|
||||
g_dbus_proxy_call (application->priv->sm_proxy,
|
||||
"Logout",
|
||||
g_variant_new ("(u)", request_confirmation),
|
||||
G_DBUS_CALL_FLAGS_NONE,
|
||||
G_MAXINT,
|
||||
NULL, NULL, NULL);
|
||||
break;
|
||||
case GTK_APPLICATION_REBOOT:
|
||||
case GTK_APPLICATION_SHUTDOWN:
|
||||
g_dbus_proxy_call (application->priv->sm_proxy,
|
||||
"Shutdown",
|
||||
NULL,
|
||||
G_DBUS_CALL_FLAGS_NONE,
|
||||
G_MAXINT,
|
||||
NULL, NULL, NULL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -116,6 +116,16 @@ void gtk_application_uninhibit (GtkApplication
|
||||
gboolean gtk_application_is_inhibited (GtkApplication *application,
|
||||
GtkApplicationInhibitFlags flags);
|
||||
|
||||
typedef enum {
|
||||
GTK_APPLICATION_LOGOUT,
|
||||
GTK_APPLICATION_REBOOT,
|
||||
GTK_APPLICATION_SHUTDOWN
|
||||
} GtkApplicationEndStyle;
|
||||
|
||||
gboolean gtk_application_end_session (GtkApplication *application,
|
||||
GtkApplicationEndStyle style,
|
||||
gboolean request_confirmation);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GTK_APPLICATION_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user