Enlightenment CVS committal Author : englebass Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c Log Message: Listen for changes in .desktop files. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.583 retrieving revision 1.584 diff -u -3 -r1.583 -r1.584 --- e_border.c 5 Apr 2007 20:58:07 -0000 1.583 +++ e_border.c 6 Apr 2007 11:09:03 -0000 1.584 @@ -44,7 +44,8 @@ static int _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev); static int _e_border_cb_desktop_change(void *data, int ev_type, void *ev); static int _e_border_cb_sync_alarm(void *data, int ev_type, void *ev); -static int _e_border_cb_util_desktop_list_change(void *data, int ev_type, void *ev); +static int _e_border_cb_efreet_desktop_list_change(void *data, int ev_type, void *ev); +static int _e_border_cb_efreet_desktop_change(void *data, int ev_type, void *ev); static int _e_border_cb_config_icon_theme(void *data, int ev_type, void *ev); static int _e_border_cb_pointer_warp(void *data, int ev_type, void *ev); @@ -170,7 +171,9 @@ handlers = evas_list_append(handlers, ecore_event_handler_add(E_EVENT_POINTER_WARP, _e_border_cb_pointer_warp, NULL)); - handlers = evas_list_append(handlers, ecore_event_handler_add(EFREET_EVENT_DESKTOP_LIST_CHANGE, _e_border_cb_util_desktop_list_change, NULL)); + handlers = evas_list_append(handlers, ecore_event_handler_add(EFREET_EVENT_DESKTOP_LIST_CHANGE, _e_border_cb_efreet_desktop_list_change, NULL)); + handlers = evas_list_append(handlers, ecore_event_handler_add(EFREET_EVENT_DESKTOP_CHANGE, _e_border_cb_efreet_desktop_change, NULL)); + handlers = evas_list_append(handlers, ecore_event_handler_add(E_EVENT_CONFIG_ICON_THEME, _e_border_cb_config_icon_theme, NULL)); E_EVENT_BORDER_ADD = ecore_event_type_new(); @@ -4278,7 +4281,7 @@ } static int -_e_border_cb_util_desktop_list_change(void *data, int ev_type, void *ev) +_e_border_cb_efreet_desktop_list_change(void *data, int ev_type, void *ev) { Evas_List *l; @@ -4290,6 +4293,59 @@ bd = l->data; bd->changes.icon = 1; bd->changed = 1; + } + return 1; +} + +static int +_e_border_cb_efreet_desktop_change(void *data, int ev_type, void *ev) +{ + Efreet_Event_Desktop_Change *event; + Evas_List *l; + + event = ev; + switch (event->change) + { + case EFREET_DESKTOP_CHANGE_ADD: + /* If a desktop is added, make the borders without icon retry */ + for (l = borders; l; l = l->next) + { + E_Border *bd; + + bd = l->data; + if (!bd->desktop) + { + bd->changes.icon = 1; + bd->changed = 1; + } + } + break; + case EFREET_DESKTOP_CHANGE_REMOVE: + /* If a desktop is removed, drop the .desktop pointer */ + for (l = borders; l; l = l->next) + { + E_Border *bd; + + bd = l->data; + if (bd->desktop == event->current) + bd->desktop = NULL; + } + break; + case EFREET_DESKTOP_CHANGE_UPDATE: + /* If a desktop is updated, point to the new desktop and update the icon */ + for (l = borders; l; l = l->next) + { + E_Border *bd; + + bd = l->data; + if (bd->desktop == event->previous) + { + bd->desktop = event->current; + bd->changes.icon = 1; + bd->changed = 1; + } + } + break; } return 1; } ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs