==== 2.21.9 ==== 2008-03-10 William Jon McCann * NEWS: Update for release 2008-03-10 William Jon McCann * common/gdm-signal-handler.c: (signal_io_watch), (crashlogger_get_backtrace), (gdm_signal_handler_backtrace), (signal_handler), (gdm_signal_handler_add_fatal): * common/gdm-signal-handler.h: * daemon/main.c: (signal_cb), (main): * gui/simple-greeter/greeter-main.c: (signal_cb), (main): Don't glog in the signal handlers. Add a default SIGTRAP handler so we get backtraces in unstable releases. 2008-03-10 William Jon McCann * gui/simple-greeter/gdm-greeter-login-window.c: (gdm_greeter_login_window_class_init): Remove duplicate signal definition. 2008-03-10 William Jon McCann * common/gdm-crash-logger.c: (main): Log pid too. Only do perror if available. 2008-03-10 William Jon McCann * daemon/gdm-server.c: (_gdm_server_set_disable_tcp), (gdm_server_set_property), (gdm_server_get_property), (gdm_server_class_init): Add a property for disable-tcp and default to TRUE. 2008-03-10 Ray Strode * gui/simple-greeter/gdm-chooser-widget.c: (start_timer), (stop_timer): Actually remove high frequency timeout when timer is stopped... 2008-03-10 Ray Strode * daemon/Makefile.am: add gdm-session-direct.xml to EXTRA_DIST 2008-03-09 Ray Strode * daemon/gdm-simple-slave.c: (on_session_authorized), * daemon/gdm-greeter-server.[ch]: (gdm_greeter_server_user_authorized), (do_introspect): When the user has successfully been verified, inform the greeter, so that it can make a judgement about whether the user's session should be opened. * gui/simple-greeter/gdm-greeter-client.c: (on_user_authorized), (client_dbus_handle_message), (gdm_greeter_client_class_init): * gui/simple-greeter/gdm-greeter-session.c (on_user_authorized), (gdm_greeter_session_init): forward "user-authorized" signal from slave to login window * gui/simple-greeter/gdm-greeter-login-window.c: (gdm_greeter_login_window_user_authorized): When the user is verified start the session as soon as the user has had an opporunity to interact with language and session choosers 2008-03-09 Ray Strode * gui/simple-greeter/gdm-greeter-login-window.[ch]: (do_cancel), (gdm_greeter_login_window_start_when_ready), (gdm_greeter_login_window_class_init): add new "start-session" to replace "interactive" from before * gui/simple-greeter/gdm-greeter-session.c: (on_start_session), (toggle_login_window): Tell slave to start session when login window is ready for the session to be started. 2008-03-09 Ray Strode * gui/simple-greeter/gdm-greeter-login-window.c: (GdmGreeterLoginWindowPrivate), (_gdm_greeter_login_window_set_interactive), (timed_login_timer), (on_button_clicked_answer_query), (on_login_button_clicked_timed_login), (do_cancel), (gdm_greeter_login_window_set_property), (gdm_greeter_login_window_get_property), (gdm_greeter_login_window_class_init)): Make "is-interactive" property to replace "interactive" signal, since we're going to need to track it's state from within the login window. * gui/simple-greeter/gdm-greeter-session.c: (GdmGreeterSessionPrivate), (on_reset): Don't track interactive state here anymore, we'll rely on the login window to tell us when to start the session instead of trying to figure it out ourselves 2008-03-09 Ray Strode * gui/simple-greeter/gdm-greeter-login-window.c (gdm_greeter_login_window_request_timed_login), (do_cancel), (on_user_chosen): Keep timed_login_enabled in sync with state of automatic login user selection 2008-03-09 Ray Strode * gui/simple-greeter/gdm-greeter-login-window.c (switch_mode), (do_cancel), (reset_dialog), (gdm_greeter_login_window_request_timed_login), (on_user_chosen): Only show automatic login timer when the automatic login user is selected 2008-03-09 Ray Strode * daemon/gdm-simple-slave.c (on_greeter_auto_login): * daemon/gdm-greeter-server.[ch]: (handle_begin_auto_login), (greeter_handle_child_message), (gdm_greeter_server_class_init): * gui/gdm-greeter-client.[ch]: (gdm_greeter_client_call_begin_auto_login): * gui/gdm-greeter-session.[ch]: (on_begin_auto_login): * gui/gdm-greeter-login-window.[ch]: (timed_login_timer), (on_login_button_clicked_answer_query), (on_user_chosen), (gdm_greeter_login_window_class_init): Rename "Timed Login" request on the slave to "Auto Login" since that's what it is. All the delay logic happens in the greeter and the slave just logins in immediately after getting the request 2008-03-09 Ray Strode Read timed login configuration from the daemon, and pass along rather than reading it from the daemon and greeter. * daemon/gdm-simple-slave.c: (get_timed_login_details): (on_session_opened): * daemon/gdm-greeter-server.[ch]: (gdm_server_request_timed_login): Read timed login configuration and forward to greeter * gui/simple-greeter/gdm-greeter-client.[ch]: (on_timed_login_requested), (client_dbus_handle_message), (gdm_greeter_client_class_init): * gui/simple-greeter/gdm-greeter-session.[ch]: (on_timed_login_requested), (gdm_greeter_session_init): Forward timed login requests from slave to login window * gui/simple-greeter/gdm-greeter-login-window.[ch]: (load_theme): don't show "automatic login" entry here anymore (gdm_greeter_login_window_request_timed_login): show "automatic login" entry in face browser, start timer (read_configuration): drop function (gdm_greeter_login_window_constructor): don't call read_configuration anymore (gdm_greeter_login_window_init): don't initialized timed_login_delay here anymore since it's sent up from slave now 2008-03-09 Ray Strode * gui/simple-greeter/gdm-greeter-login-window.[ch]: (on_login_button_clicked_answer_query): (gdm_greeter_login_window_class_init): * gui/simple-greeter/gdm-greeter-session.c: (GdmGreeterSessionPrivate), (on_reset), (on_interactive), (toggle_login_window): Add new "interactive" signal to login window which is emitted when the user has had an opportunity to interact with session / language choosers. Have greeter session watch for this signal to decide when to tell the slave when to proceed with starting the session 2008-03-09 Ray Strode * daemon/gdm-simple-slave.c: (GdmSimpleSlavePrivate), (gdm_simple_slave_accredit_when_ready), (on_start_session_when_ready), (on_start_session_later), (setup_server): * daemon/gdm-greeter-server.[ch]: (handle_start_session_when_ready): (greeter_handle_child_message): (do_introspect): (gdm_greeter_server_class_init): * gui/simple-greeter/gdm-greeter-client.[ch]: (gdm_greeter_client_call_start_session_when_ready): After successfully verifying the user, wait until the greeter gives the go ahead before starting the user's session 2008-03-09 Ray Strode * common/gdm-marshal.list (VOID:STRING,INT): * daemon/gdm-greeter-server.c: (send_dbus_string_and_int_signal): * gui/simple-greeter/gdm-greeter-client.c (emit_string_and_int_signal_for_message), (send_dbus_bool_method), (send_dbus_bool_method): Add some helper functions that will be useful later 2008-03-08 William Jon McCann * common/Makefile.am: * common/gdb-cmd: * common/gdm-crash-logger.c: (main): * configure.ac: Add crash logger tool. 2008-03-08 William Jon McCann * common/gdm-signal-handler.c: (signal_io_watch): * gui/simple-greeter/greeter-main.c: (signal_cb), (main): Hook up signal handler to greeter. 2008-03-06 Brian Cameron * gui/simple-greeter/gdm-greeter-login-window.c: Fix NULL string issue in debug statement. 2008-03-06 William Jon McCann * common/gdm-signal-handler.c (signal_handler): Cast the signal number to a byte before sending over the pipe. Patch from: David Woodhouse 2008-03-05 William Jon McCann * daemon/Makefile.am: * daemon/gdm-product-slave.c: (create_new_session): * daemon/gdm-session-direct.c: (gdm_session_direct_init), (_gdm_session_direct_set_display_id), (gdm_session_direct_set_property), (gdm_session_direct_get_property), (gdm_session_direct_dispose), (gdm_session_direct_finalize), (register_session), (gdm_session_direct_constructor), (gdm_session_direct_class_init), (gdm_session_direct_new), (gdm_session_direct_restart), (gdm_session_direct_stop), (gdm_session_direct_detach): * daemon/gdm-session-direct.h: * daemon/gdm-session-direct.xml: * daemon/gdm-simple-slave.c: (create_new_session): * daemon/gdm-slave.c: (gdm_slave_constructor): * daemon/test-session.c: (main): * data/gdm.conf: Put the SessionDirect on the bus. Doesn't do anything yet. 2008-03-05 William Jon McCann * data/gdm.conf: Invert the sense of the policy. Deny first. 2008-03-05 William Jon McCann * common/gdm-settings-desktop-backend.c: Don't allow empty strings for keys. 2008-03-05 William Jon McCann * daemon/gdm-session-worker.c: (script_execute), (my_strchrnul), (gdm_session_execute), (gdm_session_worker_process_pam_message), (gdm_session_worker_pam_new_messages_handler): * gui/simple-greeter/gdm-greeter-login-window.c: (delete_entry_text), (reset_dialog), (gdm_greeter_login_window_info_query), (gdm_greeter_login_window_secret_info_query): Try a little harder to not keep sensitive data in memory. 2008-03-05 Ray Strode * gui/simple-greeter/gdm-cell-renderer-timer.c (gdm_cell_renderer_timer_render): Draw selected timers with the right colors when they aren't focused 2008-03-05 Ray Strode * gui/simple-greeter/Makefile.am: Link common convenience lib to test binary, to prevent build failure 2008-03-04 Ray Strode * gui/simple-greeter/gdm-greeter-login-window.c (restart_timed_login_timeout): add timer animation next to automatic login user 2008-03-04 Ray Strode * gui/simple-greeter/Makefile.am: add timer cell renderer to build * gui/simple-greeter/gdm-chooser-widget.[ch]: (GdmChooserWidgetPrivate), (gdm_chooser_widget_init), (gdm_chooser_widget_finalize), (get_current_time), (on_timer_timeout), (start_timer), (stop_timer), (update_timer_from_time), (gdm_chooser_widget_set_item_timer): Add new timer api to chooser widget that shows a timer in the status column 2008-03-04 Ray Strode * gui/simple-greeter/gdm-chooser-widget.c: (GdmChooserWidgetPrivate), (update_column_visibility), (gdm_chooser_widget_init), (gdm_chooser_widget_update_item), (gdm_chooser_widget_add_item), (gdm_chooser_widget_remove_item), (gdm_chooser_widget_set_item_in_use): rename in_use_column and number_of_in_use_rows to status_column and number_of_rows_with_status respectively, in preparation for packing the animated timer into the same status column 2008-03-04 Ray Strode * gui/simple-greeter/gdm-cell-renderer-timer.[ch]: New cell renderer that does clock count-down animation (will be improved to be themable later) 2008-03-04 William Jon McCann * gui/simple-chooser/gdm-host-chooser-dialog.c: (gdm_host_chooser_dialog_constructor): * gui/simple-chooser/gdm-host-chooser.c: (main): * gui/simple-greeter/gdm-remote-login-window.c: (gdm_remote_login_window_init): Use a connect button, set an initial size for the window, remove decorations. 2008-03-04 William Jon McCann * gui/simple-greeter/gdm-remote-login-window.c: (wait_on_child), (xserver_died), (stop_xserver), (xserver_child_watch), (start_xephyr): * gui/simple-greeter/gdm-session-client.c: (wait_on_child), (gdm_session_client_dispose): * gui/simple-greeter/test-remote-login-window.c: (main): Destroy the remote login window when the xserver quits. 2008-03-04 William Jon McCann * gui/simple-chooser/Makefile.am: * gui/simple-chooser/gdm-chooser-host.c: (gdm_chooser_host_get_address), (gdm_chooser_host_get_description), (gdm_chooser_host_get_kind), (gdm_chooser_host_get_willing), (_gdm_chooser_host_set_address), (_gdm_chooser_host_set_description), (_gdm_chooser_host_set_kind), (_gdm_chooser_host_set_willing), (gdm_chooser_host_set_property), (gdm_chooser_host_get_property), (gdm_chooser_host_class_init), (gdm_chooser_host_init), (gdm_chooser_host_finalize): * gui/simple-chooser/gdm-chooser-host.h: * gui/simple-chooser/gdm-chooser-session.c: (on_dialog_response), (gdm_chooser_session_start): * gui/simple-chooser/gdm-host-chooser-dialog.c: (gdm_host_chooser_dialog_get_host), (_gdm_host_chooser_dialog_set_kind_mask), (gdm_host_chooser_dialog_set_property), (on_response), (gdm_host_chooser_dialog_constructor), (gdm_host_chooser_dialog_class_init), (gdm_host_chooser_dialog_init), (gdm_host_chooser_dialog_new): * gui/simple-chooser/gdm-host-chooser-dialog.h: * gui/simple-chooser/gdm-host-chooser-widget.c: (find_known_host), (browser_add_host), (decode_packet), (xdmcp_init), (gdm_host_chooser_widget_refresh), (gdm_host_chooser_widget_get_host), (_gdm_host_chooser_widget_set_kind_mask), (gdm_host_chooser_widget_set_property), (gdm_host_chooser_widget_constructor), (gdm_host_chooser_widget_dispose), (gdm_host_chooser_widget_class_init), (gdm_host_chooser_widget_init), (gdm_host_chooser_widget_new): * gui/simple-chooser/gdm-host-chooser-widget.h: * gui/simple-chooser/gdm-host-chooser.c: (main): Abstract the host selection to be able to support other kinds in addition to XDMCP. 2008-03-03 William Jon McCann * gui/user-switch-applet/applet.c: (maybe_lock_screen), (do_switch): Be sure to lock screen when switching to login window. Also trim some fat. 2008-03-03 William Jon McCann * gui/simple-greeter/gdm-user.c: (gdm_user_collate): * gui/user-switch-applet/applet.c: (sort_menu_comparedatafunc), (sort_menu), (menu_style_set_cb), (fill_applet): Order the users in the applet the same way we do for the greeter: in order of login frequency. 2008-03-03 William Jon McCann * gui/user-switch-applet/gdm-user-menu-item.c: (reset_icon), (reset_sensitivity), (on_user_notify), (on_user_icon_changed), (on_user_sessions_changed), (_gdm_user_menu_item_set_user): Desensitize the current user. 2008-02-29 Ray Strode * gui/simple-greeter/gdm-greeter-login-window.c (is_capslock_on): return state of caps lock key, not state of caps lock indicator light 2008-02-29 Ray Strode Don't eat all key presses in caps lock handler * gui/simple-greeter/gdm-greeter-login-window.c (gdm_greeter_login_window_key_press_event): check caps lock here (window_key_press), (gdm_greeter_login_window_init): drop separate function that checks caps lock. 2008-02-28 William Jon McCann * gui/simple-greeter/gdm-greeter-login-window.c: * gui/simple-greeter/gdm-greeter-session.c: (send_dbus_string_method), (activate_settings_daemon), (toggle_all_levels): Use the new g-s-d method to dbus activate the service. Block while the plugins load so we don't cause problems and ugliness when widgets start to draw. 2008-02-28 William Jon McCann * gui/simple-greeter/gdm-greeter-login-window.c: (get_show_restart_buttons), (load_theme), (update_banner_message), (gdm_greeter_login_window_constructor), (on_gconf_key_changed), (gdm_greeter_login_window_init), (gdm_greeter_login_window_finalize): * gui/simple-greeter/gdm-greeter-login-window.glade: * gui/simple-greeter/gdm-simple-greeter.schemas.in: Add a banner message feature. 2008-02-28 Ray Strode * daemon/gdm-session-direct.c (get_session_command_for_file): Don't bail if TryExec isn't set. It's optional. 2008-02-28 William Jon McCann * data/session-setup.entries: Set /apps/nautilus/preferences/show_desktop to false to work around #518750. 2008-02-27 William Jon McCann * gui/simple-greeter/gdm-greeter-login-window.c: (capslock_update), (is_capslock_on), (load_theme), (window_key_press), (gdm_greeter_login_window_init): * gui/simple-greeter/gdm-greeter-login-window.glade: Add a capslock key warning message. 2008-02-27 Ray Strode * daemon/main.c (main): ignore unknown options, so removed options don't cause it to abort 2008-02-27 William Jon McCann * gui/user-switch-applet/GNOME_FastUserSwitchApplet.xml: * gui/user-switch-applet/Makefile.am: * gui/user-switch-applet/applet.c: (get_glade_xml), (menubar_button_press_event_cb), (help_cb), (set_menuitem_icon), (applet_style_set_cb), (gdm_applet_data_free), (sort_menu), (menu_style_set_cb), (menuitem_destroy_cb), (menuitem_style_set_cb), (maybe_lock_screen), (do_switch), (user_item_activate_cb), (user_sessions_changed_cb), (add_user), (manager_user_added_cb), (login_screen_activate_cb), (client_notify_applet_func), (client_notify_global_func), (fill_applet), (applet_factory): * gui/user-switch-applet/gdm-user-switch-applet.schemas.in: Remove gconf settings from user switch applet - simplifies code dramatically. Fix crash when adding multiple applets to panel. 2008-02-27 Ray Strode * gui/simple-greeter/gdm-option-widget.c: (gdm_option_widget_set_default_item): handle NULL item better (was causing crash on failed auth) 2008-02-27 William Jon McCann * data/gdm.conf: Allow sending to LocalDisplayFactory interface by default. 2008-02-27 William Jon McCann * gui/user-switch-applet/GNOME_FastUserSwitchApplet.server.in.in: * gui/user-switch-applet/GNOME_GdmUserSwitchApplet.server.in.in: * gui/user-switch-applet/GNOME_GdmUserSwitchApplet.xml: * gui/user-switch-applet/Makefile.am: * gui/user-switch-applet/applet.c: (about_me_cb), (about_cb), (applet_fill_cb): Use the same oafiid as FUSA so we can be a drop in replacement. Note that we now conflict with FUSA. 2008-02-26 William Jon McCann * daemon/main.c: (main): Don't daemonize and remove some unused options. 2008-02-26 Ray Strode * daemon/gdm-session-worker.c: (gdm_session_worker_set_session_name), (on_set_session_name), (gdm_session_worker_set_language_name), (on_set_language_name), (worker_dbus_handle_message): Update session and language state in the worker, when the slave informs it about language/session changes the user makes from the greeter 2008-02-26 Ray Strode * daemon/gdm-session-direct.c (do_introspect), (gdm_session_direct_select_session), (gdm_session_direct_select_language): Tell worker about language/session changes the user makes from the greeter 2008-02-26 Ray Strode * daemon/gdm-session-worker.c: (_save_user_settings), (gdm_session_worker_start_user_session): Save out user settings to ~/.dmrc before starting the session 2008-02-26 Ray Strode * daemon/gdm-session-settings.[ch]: Make language and session setters non-static functions so there's a way to change the settings. 2008-02-26 Ray Strode * daemon/gdm-session-settings.[ch]: (gdm_session_settings_save): Add save support to GdmSessionSettings object, so ~/.dmrc changes can be saved out. 2008-02-26 Ray Strode * daemon/gdm-session-settings.c (gdm_session_settings_is_loaded): Track is_loaded status by whether either session or language are explicitly set instead of relying on a boolean that wasn't being kept in sync. 2008-02-26 William Jon McCann * gui/simple-greeter/gdm-greeter-panel.c: (is_a11y_button_disabled), (gdm_greeter_panel_init): * gui/simple-greeter/gdm-simple-greeter.schemas.in: Allow disabling the a11y button in the greeter using a gconf key. 2008-02-25 William Jon McCann * daemon/gdm-session-direct.c: (is_prog_in_path), (get_session_command_for_file), (get_session_command_for_name), (gdm_session_direct_handle_saved_session_name_read), (get_session_name): Verify that the dmrc session is available before using it. 2008-02-25 William Jon McCann * configure.ac: Post release bump