1. 12 Dec, 2014 1 commit
  2. 23 Jan, 2014 1 commit
  3. 07 Nov, 2012 1 commit
  4. 06 Jul, 2012 1 commit
    • Hans de Goede's avatar
      Add an automount-inhibit flag · 70725a0c
      Hans de Goede authored
      When connecting to virtual machines with usb-device redirection, such as
      Spice enabled vms, automount may get in the way. Specifically if auto-usbredir
      is enabled in the vm-viewer, then the usbredir code and the automount code
      race for who gets to the device first.
      
      If the automount code wins the race this is a problem, since usbredir causes
      a device-disconnect (iow the usb mass storage driver sees an unplug), so in
      the end usbredir always wins, and we end up with a non clean potentially
      corrupt filesystem. Also see:
      https://bugzilla.redhat.com/show_bug.cgi?id=812972
      
      There for the need exists to be able to inhibit gnome-shell's automounting,
      since all other inhibits run through gnome-session, it seems consistent to
      store the inhibit flag for automounting in gnome-session too. This has the
      added advantage that gnome-session already has all the necessary logic to
      automatically uninhibit if a client goes away.
      
      Another reason to do this through gnome-session is that all other inhibit
      flags are accessible through GtkApplication which relies on gnome-session,
      so storing this in gnome-session allows to add it to GtkApplication too.
      
      Note that gnome-session does not do anything with the flag, other then
      tracking it. The reason to still modify gnome-session is to reserve and
      document the flag.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      
      https://bugzilla.gnome.org/show_bug.cgi?id=678595
      70725a0c
  5. 12 Jan, 2009 1 commit
    • William Jon McCann's avatar
      Add presence API. · 6d1cea4b
      William Jon McCann authored
      2009-01-11  William Jon McCann  <jmccann@redhat.com>
      
      	* configure.in:
      	* gnome-session/Makefile.am:
      	* gnome-session/gs-idle-monitor.c (_xsyncvalue_to_int64),
      	(_int64_to_xsyncvalue), (gs_idle_monitor_dispose), (_find_alarm),
      	(find_watch_for_alarm), (send_fake_event), (gs_idle_monitor_reset),
      	(handle_alarm_notify_event), (xevent_filter), (init_xsync),
      	(_init_xtest), (gs_idle_monitor_constructor),
      	(gs_idle_monitor_class_init), (get_next_watch_serial),
      	(idle_monitor_watch_new), (idle_monitor_watch_free),
      	(gs_idle_monitor_init), (gs_idle_monitor_finalize),
      	(gs_idle_monitor_new), (_xsync_alarm_set),
      	(gs_idle_monitor_add_watch), (gs_idle_monitor_remove_watch):
      	* gnome-session/gs-idle-monitor.h:
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-manager.c (end_phase),
      	(gsm_manager_is_idle_inhibited), (update_idle), (start_phase),
      	(on_store_inhibitor_added), (on_store_inhibitor_removed),
      	(gsm_manager_dispose), (gsm_manager_init):
      	* gnome-session/gsm-presence.c (gsm_presence_error_quark),
      	(gsm_presence_error_get_type), (register_presence),
      	(gsm_presence_constructor), (gsm_presence_init),
      	(gsm_presence_get_status_text), (gsm_presence_get_status),
      	(on_idle_timeout), (gsm_presence_set_idle_enabled),
      	(gsm_presence_set_status_text), (gsm_presence_set_status),
      	(gsm_presence_set_idle_timeout), (gsm_presence_set_property),
      	(gsm_presence_get_property), (gsm_presence_finalize),
      	(gsm_presence_class_init), (gsm_presence_new):
      	* gnome-session/gsm-presence.h:
      	* gnome-session/org.gnome.SessionManager.Presence.xml:
      	Add presence API.
      
      
      svn path=/trunk/; revision=5192
      6d1cea4b
  6. 16 Aug, 2008 1 commit
    • Kjartan Maraas's avatar
      Fix some warnings from sparse and other tools. Closes bug #521413 · 27270896
      Kjartan Maraas authored
      2008-08-16  Kjartan Maraas  <kmaraas@gnome.org>
      
      	* capplet/gsm-app-dialog.c:
      	* egg/eggdesktopfile.h:
      	* egg/eggsmclient-libgnomeui.c: (egg_sm_client_module_info_get):
      	* egg/eggsmclient-xsmp.c:
      	* gnome-session/gsm-autostart-app.c:
      	* gnome-session/gsm-client.c:
      	* gnome-session/gsm-client.h:
      	* gnome-session/gsm-dbus-client.c:
      	* gnome-session/gsm-inhibit-dialog.c: (add_inhibitor):
      	* gnome-session/gsm-inhibit-dialog.h:
      	* gnome-session/gsm-inhibitor.c:
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-manager.c:
      	* gnome-session/gsm-store.c:
      	* gnome-session/gsm-util.c:
      	* gnome-session/gsm-xsmp-client.c:
      	* gnome-session/gsm-xsmp-server.c:
      	* gnome-session/test-inhibit.c:
      	* tools/gnome-session-save.c:
      	Fix some warnings from sparse and other tools. Closes
      	bug #521413
      
      svn path=/trunk/; revision=4964
      27270896
  7. 30 Jul, 2008 1 commit
    • William Jon McCann's avatar
      DBus doesn't allow NULL or empty object path strings. Throw an error · 41308fbe
      William Jon McCann authored
      2008-07-30  William Jon McCann  <jmccann@redhat.com>
      
      	* gnome-session/gsm-inhibitor.c (gsm_inhibitor_error_quark),
      	(gsm_inhibitor_error_get_type), (gsm_inhibitor_set_client_id),
      	(gsm_inhibitor_get_client_id), (gsm_inhibitor_class_init):
      	* gnome-session/gsm-inhibitor.h:
      	DBus doesn't allow NULL or empty object path strings.  Throw
      	an error instead.
      
      
      svn path=/branches/dbus_based/; revision=4898
      41308fbe
  8. 29 Jul, 2008 1 commit
    • William Jon McCann's avatar
      Add client introspection info. Fix the inhibitor methods. · 85d38c3d
      William Jon McCann authored
      2008-07-29  William Jon McCann  <jmccann@redhat.com>
      
      	* gnome-session/gsm-client.c (gsm_client_peek_id),
      	(gsm_client_peek_app_id), (gsm_client_peek_startup_id),
      	(gsm_client_peek_restart_style_hint), (gsm_client_get_startup_id),
      	(gsm_client_get_app_id), (gsm_client_get_restart_style_hint),
      	(gsm_client_get_app_name):
      	* gnome-session/gsm-client.h:
      	* gnome-session/gsm-client.xml:
      	* gnome-session/gsm-dbus-client.c (dbus_client_stop),
      	(dbus_client_query_end_session), (dbus_client_end_session):
      	* gnome-session/gsm-inhibit-dialog.c (add_inhibitor):
      	* gnome-session/gsm-inhibitor.c (gsm_inhibitor_peek_bus_name),
      	(gsm_inhibitor_get_app_id), (gsm_inhibitor_get_client_id),
      	(gsm_inhibitor_get_reason), (gsm_inhibitor_get_flags),
      	(gsm_inhibitor_get_toplevel_xid), (gsm_inhibitor_peek_id),
      	(gsm_inhibitor_peek_app_id), (gsm_inhibitor_peek_client_id),
      	(gsm_inhibitor_peek_reason), (gsm_inhibitor_peek_flags),
      	(gsm_inhibitor_peek_toplevel_xid), (gsm_inhibitor_peek_cookie):
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-manager.c (_debug_client), (_debug_inhibitor),
      	(_find_by_cookie), (_find_by_startup_id), (_client_end_session),
      	(_client_query_end_session), (inhibitor_has_flag),
      	(inhibitor_is_jit), (on_query_end_session_timeout),
      	(disconnect_client), (inhibitor_has_bus_name),
      	(_client_has_startup_id), (inhibitor_has_client_id),
      	(on_client_end_session_response), (gsm_manager_register_client),
      	(gsm_manager_inhibit), (gsm_manager_uninhibit):
      	* gnome-session/gsm-xsmp-client.c (set_description):
      	* gnome-session/gsm-xsmp-server.c (accept_ice_connection):
      	Add client introspection info.  Fix the inhibitor methods.
      
      
      svn path=/branches/dbus_based/; revision=4874
      85d38c3d
  9. 27 Jul, 2008 1 commit
    • William Jon McCann's avatar
      Unify the InhibitorStore and ClientStore classes. · 44c449d7
      William Jon McCann authored
      2008-07-27  William Jon McCann  <jmccann@redhat.com>
      
      	* gnome-session/Makefile.am:
      	* gnome-session/gsm-client-store.c:
      	* gnome-session/gsm-client-store.h:
      	* gnome-session/gsm-inhibit-dialog.c (find_inhibitor),
      	(add_inhibitor), (on_store_inhibitor_added),
      	(on_store_inhibitor_removed),
      	(gsm_inhibit_dialog_set_inhibitor_store), (add_to_model),
      	(populate_model), (gsm_inhibit_dialog_class_init),
      	(gsm_inhibit_dialog_new):
      	* gnome-session/gsm-inhibit-dialog.h:
      	* gnome-session/gsm-inhibitor-store.c:
      	* gnome-session/gsm-inhibitor-store.h:
      	* gnome-session/gsm-inhibitor.c (get_next_inhibitor_serial),
      	(gsm_inhibitor_constructor), (gsm_inhibitor_get_id),
      	(gsm_inhibitor_finalize):
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-manager.c (_debug_client), (debug_clients),
      	(debug_inhibitors), (_find_by_cookie), (app_condition_changed),
      	(do_phase_end_session), (gsm_manager_is_logout_inhibited),
      	(cancel_end_session), (_generate_unique_cookie),
      	(on_query_end_session_timeout), (do_phase_query_end_session),
      	(disconnect_client), (remove_clients_for_connection),
      	(remove_inhibitors_for_connection),
      	(on_xsmp_client_register_request),
      	(on_client_end_session_response), (on_store_client_added),
      	(gsm_manager_set_client_store), (gsm_manager_get_property),
      	(gsm_manager_class_init), (gsm_manager_init),
      	(gsm_manager_finalize), (gsm_manager_new),
      	(gsm_manager_is_switch_user_inhibited),
      	(gsm_manager_is_suspend_inhibited), (gsm_manager_register_client),
      	(gsm_manager_unregister_client), (gsm_manager_inhibit),
      	(gsm_manager_uninhibit):
      	* gnome-session/gsm-manager.h:
      	* gnome-session/gsm-store.c (gsm_store_error_quark),
      	(gsm_store_size), (gsm_store_remove), (gsm_store_foreach),
      	(gsm_store_find), (gsm_store_lookup), (foreach_remove_wrapper),
      	(gsm_store_foreach_remove), (_remove_all), (gsm_store_clear),
      	(gsm_store_add), (gsm_store_set_locked), (gsm_store_get_locked),
      	(gsm_store_set_property), (gsm_store_get_property),
      	(gsm_store_class_init), (_destroy_object), (gsm_store_init),
      	(gsm_store_finalize), (gsm_store_new):
      	* gnome-session/gsm-store.h:
      	* gnome-session/gsm-xsmp-server.c (accept_ice_connection),
      	(gsm_xsmp_server_set_client_store), (gsm_xsmp_server_class_init),
      	(gsm_xsmp_server_new):
      	* gnome-session/gsm-xsmp-server.h:
      	* gnome-session/main.c (main):
      	Unify the InhibitorStore and ClientStore classes.
      
      
      svn path=/branches/dbus_based/; revision=4859
      44c449d7
  10. 17 Jul, 2008 1 commit
    • William Jon McCann's avatar
      Also clear JIT inhibitors from DBus clients when they leave the bus. · 1178b882
      William Jon McCann authored
      2008-07-17  William Jon McCann  <jmccann@redhat.com>
      
      	* gnome-session/gsm-inhibitor.c (gsm_inhibitor_new_for_client):
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-manager.c (_debug_inhibitor),
      	(debug_inhibitors), (inhibitor_has_bus_name),
      	(remove_inhibitors_for_connection),
      	(on_client_end_session_response), (on_query_end_session_timeout):
      	Also clear JIT inhibitors from DBus clients when they leave the
      	bus.
      
      
      svn path=/branches/dbus_based/; revision=4812
      1178b882
  11. 16 Jul, 2008 2 commits
    • William Jon McCann's avatar
      Fix up some missed property names. Hook up query-end-session stuff for · 3e14240a
      William Jon McCann authored
      2008-07-16  William Jon McCann  <jmccann@redhat.com>
      
      	* gnome-session/gsm-dbus-client.c (dbus_client_query_end_session),
      	(dbus_client_end_session), (gsm_dbus_client_class_init),
      	(gsm_dbus_client_new), (gsm_dbus_client_end_session_response):
      	* gnome-session/gsm-dbus-client.h:
      	* gnome-session/gsm-inhibit-dialog.c (add_inhibitor):
      	* gnome-session/gsm-inhibitor.c (gsm_inhibitor_new_for_client):
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-manager.c (_debug_client), (debug_clients),
      	(disconnect_client), (remove_inhibitors_for_connection),
      	(manager_logout), (_client_query_end_session),
      	(query_end_session_complete), (on_client_end_session_response),
      	(on_query_end_session_timeout), (query_end_session),
      	(gsm_manager_register_client):
      	* gnome-session/gsm-manager.h:
      	* gnome-session/gsm-resumed-app.c
      	(gsm_resumed_app_new_from_legacy_session):
      	* gnome-session/gsm-xsmp-client.c (register_client_callback):
      	* gnome-session/test-client-dbus.c (on_client_query_end_session),
      	(register_client), (quit_test), (main):
      	Fix up some missed property names.  Hook up query-end-session stuff
      	for dbus client.
      
      
      svn path=/branches/dbus_based/; revision=4806
      3e14240a
    • William Jon McCann's avatar
      Rename client-id to startup-id to distinguish from Client's ID. Start · 46d5a808
      William Jon McCann authored
      2008-07-16  William Jon McCann  <jmccann@redhat.com>
      
      	* gnome-session/Makefile.am:
      	* gnome-session/gsm-app.c (gsm_app_set_startup_id),
      	(gsm_app_set_property), (gsm_app_get_property), (gsm_app_dispose),
      	(gsm_app_class_init), (gsm_app_get_startup_id):
      	* gnome-session/gsm-app.h:
      	* gnome-session/gsm-autostart-app.c (load_desktop_file),
      	(autostart_app_start_spawn), (autostart_app_start_activate):
      	* gnome-session/gsm-client.c (gsm_client_finalize),
      	(gsm_client_set_startup_id), (gsm_client_set_property),
      	(gsm_client_get_property), (default_stop), (gsm_client_class_init),
      	(gsm_client_get_startup_id), (gsm_client_stop),
      	(gdm_client_end_session_response):
      	* gnome-session/gsm-client.h:
      	* gnome-session/gsm-client.xml:
      	* gnome-session/gsm-dbus-client.c (gsm_dbus_client_error_quark),
      	(gsm_dbus_client_error_get_type), (gsm_dbus_client_class_init),
      	(gsm_dbus_client_end_session_response):
      	* gnome-session/gsm-dbus-client.h:
      	* gnome-session/gsm-dbus-client.xml:
      	* gnome-session/gsm-inhibitor.c (gsm_inhibitor_set_client_id),
      	(gsm_inhibitor_get_client_id), (gsm_inhibitor_set_property),
      	(gsm_inhibitor_get_property), (gsm_inhibitor_finalize),
      	(gsm_inhibitor_class_init), (gsm_inhibitor_new_for_client):
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-manager.c (_find_by_startup_id),
      	(app_condition_changed), (app_registered), (phase_timeout),
      	(start_phase), (inhibitor_has_bus_name), (_app_has_startup_id),
      	(find_app_for_startup_id), (register_client_for_name),
      	(_client_has_startup_id), (on_xsmp_client_register_request),
      	(_client_query_end_session), (query_end_session_complete),
      	(inhibitor_has_client_id), (generate_cookie),
      	(_generate_unique_cookie), (on_client_end_session_response),
      	(on_query_end_session_timeout), (query_end_session),
      	(request_logout), (user_logout), (gsm_manager_logout),
      	(gsm_manager_register_client), (gsm_manager_unregister_client):
      	* gnome-session/gsm-manager.xml:
      	* gnome-session/gsm-marshal.list:
      	* gnome-session/gsm-xsmp-client.c (set_description):
      	* gnome-session/test-client-dbus.c (register_client):
      	* gnome-session/util.c (gsm_util_generate_startup_id):
      	* gnome-session/util.h:
      	Rename client-id to startup-id to distinguish from
      	Client's ID.  Start adding a new shutdown path that
      	allows for more compatibility with xsmp.
      
      
      svn path=/branches/dbus_based/; revision=4805
      46d5a808
  12. 26 Jun, 2008 1 commit
    • William Jon McCann's avatar
      Change inhibit flags to be opt in for each scenario. · 290f0331
      William Jon McCann authored
      2008-06-26  William Jon McCann  <jmccann@redhat.com>
      
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-manager.c (manager_logout),
      	(inhibitor_has_flag), (gsm_manager_is_switch_user_inhibited),
      	(gsm_manager_is_suspend_inhibited),
      	(gsm_manager_is_logout_inhibited), (gsm_manager_inhibit):
      	* gnome-session/test-inhibit.c (do_inhibit):
      	Change inhibit flags to be opt in for each scenario.
      
      
      svn path=/branches/dbus_based/; revision=4785
      290f0331
  13. 25 Jun, 2008 1 commit
    • William Jon McCann's avatar
      Make inhibit work for shutdown, reboot, suspend, hibernate. · 177f7739
      William Jon McCann authored
      2008-06-25  William Jon McCann  <jmccann@redhat.com>
      
      	* gnome-session/gsm-dbus-client.c (gsm_dbus_client_class_init):
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-logout-inhibit-dialog.c (add_inhibitor):
      	* gnome-session/gsm-manager.c (do_attempt_reboot),
      	(do_attempt_shutdown), (manager_attempt_reboot),
      	(manager_attempt_shutdown), (manager_attempt_hibernate),
      	(manager_attempt_suspend), (gsm_manager_is_switch_user_inhibited),
      	(gsm_manager_is_suspend_inhibited), (do_action), (request_reboot),
      	(request_shutdown), (request_suspend), (request_hibernate),
      	(logout_dialog_response):
      	* gnome-session/gsm-manager.h:
      	Make inhibit work for shutdown, reboot, suspend, hibernate.
      
      
      svn path=/branches/dbus_based/; revision=4782
      177f7739
  14. 24 Jun, 2008 1 commit
    • William Jon McCann's avatar
      Add an inhibitor class and store class to make it easier to update the · 629d98bb
      William Jon McCann authored
      2008-06-24  William Jon McCann  <jmccann@redhat.com>
      
      	* configure.in:
      	* gnome-session/Makefile.am:
      	* gnome-session/gsm-client-store.h:
      	* gnome-session/gsm-inhibitor-store.c
      	(gsm_inhibitor_store_error_quark), (gsm_inhibitor_store_size),
      	(gsm_inhibitor_store_clear), (remove_inhibitor),
      	(gsm_inhibitor_store_remove), (gsm_inhibitor_store_foreach),
      	(gsm_inhibitor_store_find), (gsm_inhibitor_store_lookup),
      	(gsm_inhibitor_store_foreach_remove), (gsm_inhibitor_store_add),
      	(gsm_inhibitor_store_set_property),
      	(gsm_inhibitor_store_get_property),
      	(gsm_inhibitor_store_class_init), (inhibitor_unref),
      	(gsm_inhibitor_store_init), (gsm_inhibitor_store_finalize),
      	(gsm_inhibitor_store_new):
      	* gnome-session/gsm-inhibitor-store.h:
      	* gnome-session/gsm-inhibitor.c (gsm_inhibitor_constructor),
      	(gsm_inhibitor_init), (gsm_inhibitor_set_bus_name),
      	(gsm_inhibitor_set_app_id), (gsm_inhibitor_set_reason),
      	(gsm_inhibitor_set_cookie), (gsm_inhibitor_set_flags),
      	(gsm_inhibitor_set_toplevel_xid), (gsm_inhibitor_get_bus_name),
      	(gsm_inhibitor_get_app_id), (gsm_inhibitor_get_reason),
      	(gsm_inhibitor_get_flags), (gsm_inhibitor_get_toplevel_xid),
      	(gsm_inhibitor_get_cookie), (gsm_inhibitor_set_property),
      	(gsm_inhibitor_get_property), (gsm_inhibitor_finalize),
      	(gsm_inhibitor_class_init), (gsm_inhibitor_new):
      	* gnome-session/gsm-inhibitor.h:
      	* gnome-session/gsm-logout-dialog.c (gsm_get_dialog):
      	* gnome-session/gsm-logout-dialog.h:
      	* gnome-session/gsm-logout-inhibit-dialog.c
      	(gsm_logout_inhibit_dialog_set_action),
      	(gsm_logout_inhibit_dialog_set_property),
      	(gsm_logout_inhibit_dialog_get_property), (on_response),
      	(setup_dialog), (gsm_logout_inhibit_dialog_constructor),
      	(gsm_logout_inhibit_dialog_dispose),
      	(gsm_logout_inhibit_dialog_class_init),
      	(gsm_logout_inhibit_dialog_init),
      	(gsm_logout_inhibit_dialog_finalize),
      	(gsm_logout_inhibit_dialog_new):
      	* gnome-session/gsm-logout-inhibit-dialog.glade:
      	* gnome-session/gsm-logout-inhibit-dialog.h:
      	* gnome-session/gsm-manager.c (inhibitor_has_bus_name),
      	(remove_inhibitors_for_connection), (bus_name_owner_changed),
      	(gsm_manager_init), (gsm_manager_finalize),
      	(gsm_manager_is_logout_inhibited), (do_action),
      	(logout_inhibit_dialog_response), (request_logout),
      	(logout_dialog_response), (initiate_logout),
      	(_generate_unique_cookie), (gsm_manager_inhibit),
      	(gsm_manager_uninhibit):
      	* gnome-session/gsm-manager.h:
      	* gnome-session/test-inhibit.c (do_inhibit):
      	Add an inhibitor class and store class to make it
      	easier to update the model for the inhibit dialog.
      	Add a stub for an inhibit dialog.
      
      
      svn path=/branches/dbus_based/; revision=4767
      629d98bb