gnome-session r4201 - trunk/gnome-session



Author: vuntz
Date: 2007-01-07 01:23:13 +0000 (Sun, 07 Jan 2007)
New Revision: 4201
ViewCVS link: http://svn.gnome.org/viewcvs/gnome-session?rev=4201&view=rev

Modified:
   trunk/gnome-session/ChangeLog
   trunk/gnome-session/save.c
   trunk/gnome-session/session-properties-capplet.c
   trunk/gnome-session/session-properties-capplet.h
   trunk/gnome-session/startup-programs.c
Log:
2007-01-07  Vincent Untz  <vuntz gnome org>

	Try to make editing the startup programs better (less bugs, more
	compliance with the spec, things like that). This code is just ugly. I
	probably should have rewritten everything, but I kept thinking it's
	bad to rewrite the code :-)
	Fix at least bugs #335145, #342031, #333670

	* startup-programs.c: (system_desktop_entry_exists): new, to find if a
	desktop file with a basename exists in a system directory
	(create_client_from_desktop_entry): moved most of the code of
	search_desktop_entries_in_dir() there
	(search_desktop_entries_in_dir): simplified :-)
	(startup_list_read): we don't need the argument, process the system
	dirs in the right order (ie, start with lowest priority) because if
	the same basename exists in multiple directories, we have to keep the
	highest priority
	(startup_list_write): kill, we'll write to disk everything when needed
	(ensure_user_autostart_dir): new, make sure ~/.config/autostart exists
	(startup_client_delete): delete an entry and be smart when doing so:
	handle deleting system entries, but also entries that exist in both
	the user config and the system, etc.
	(startup_list_duplicate): kill
	(startup_client_write): save an entry and be smart: save the entry in
	the user config when we modified a system entry, for example
	(compare_clients): new helper
	(startup_list_update_gui): sort the startup programs list, and try to
	keep the selection of the treeview
	(edit_client): don't call mark_dirty()
	(startup_list_add_dialog): updated to directly save the entry
	(startup_list_edit_dialog): ditto
	(startup_list_delete): updated to directly delete the entry and remove
	the client from the list
	(startup_list_enable): updated to directly enable the entry. And be
	smart again :-) Enabling can mean deleting an entry in the user config
	if it's also installed system-wide, but we must make sure both entries
	are equivalent
	(startup_list_disable): updated to directly disable the entry
	* session-properties-capplet.c: (capplet_build): remove useless stuff
	(capplet_build): remove useless stuff, updated, and made search work
	in the treeview
	(spc_write_state): we don't have to write the startup list here
	anymore
	(update_gui): updated
	(delete_startup_cb): don't call mark_dirty()
	(enable_startup_cb): update the GUI
	(main): free the startup list
	* session-properties-capplet.h: updated
	* save.c: (read_autostart_dirs): process the system dirs in the right
	order (ie, start with lowest priority) because if the same basename
	exists in multiple directories, we have to keep the highest priority





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]