Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c Log Message: Toggle borderless by menu. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.257 retrieving revision 1.258 diff -u -3 -r1.257 -r1.258 --- e_border.c 16 Jun 2005 04:21:01 -0000 1.257 +++ e_border.c 16 Jun 2005 14:54:43 -0000 1.258 @@ -84,8 +84,9 @@ static void _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_border_menu_cb_stick(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_border_menu_cb_on_top(void *data, E_Menu *m, E_Menu_Item *mi); -static void _e_border_menu_sendto_pre_cb(void *data, E_Menu *m, E_Menu_Item *mi); -static void _e_border_menu_sendto_cb(void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_border_menu_cb_borderless(void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_border_menu_cb_sendto(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_border_event_border_add_free(void *data, void *ev); static void _e_border_event_border_remove_free(void *data, void *ev); @@ -4388,12 +4389,23 @@ "widgets/border/default/on_top"), "widgets/border/default/on_top"); + printf("wtf?\n"); + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Borderless")); + e_menu_item_check_set(mi, 1); + e_menu_item_toggle_set(mi, !strcmp("borderless", bd->client.border.name)); + e_menu_item_callback_set(mi, _e_border_menu_cb_borderless, bd); + e_menu_item_icon_edje_set(mi, + (char *)e_theme_edje_file_get("base/theme/borders", + "widgets/border/default/borderless"), + "widgets/border/default/borderless"); + mi = e_menu_item_new(m); e_menu_item_separator_set(mi, 1); mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Send To")); - e_menu_item_submenu_pre_callback_set(mi, _e_border_menu_sendto_pre_cb, bd); + e_menu_item_submenu_pre_callback_set(mi, _e_border_menu_cb_sendto_pre, bd); e_menu_item_icon_edje_set(mi, (char *)e_theme_edje_file_get("base/theme/borders", "widgets/border/default/sendto"), @@ -4541,9 +4553,30 @@ } e_container_border_raise(bd); } +static void +_e_border_menu_cb_borderless(void *data, E_Menu *m, E_Menu_Item *mi) +{ + E_Border *bd; + + int toggle; + + bd = data; + if (!bd) return; + + toggle = e_menu_item_toggle_get(mi); + if (bd->client.border.name) free(bd->client.border.name); + + if (toggle) + bd->client.border.name = strdup("borderless"); + else + bd->client.border.name = strdup("default"); + bd->client.border.changed = 1; + bd->changed = 1; +} + static void -_e_border_menu_sendto_pre_cb(void *data, E_Menu *m, E_Menu_Item *mi) +_e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item *mi) { E_Menu *subm; E_Menu_Item *submi; @@ -4563,12 +4596,12 @@ desk = bd->zone->desks[i]; submi = e_menu_item_new(subm); e_menu_item_label_set(submi, desk->name); - e_menu_item_callback_set(submi, _e_border_menu_sendto_cb, desk); + e_menu_item_callback_set(submi, _e_border_menu_cb_sendto, desk); } } static void -_e_border_menu_sendto_cb(void *data, E_Menu *m, E_Menu_Item *mi) +_e_border_menu_cb_sendto(void *data, E_Menu *m, E_Menu_Item *mi) { E_Desk *desk; E_Border *bd; ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs