Enlightenment CVS committal Author : handyande Project : misc Module : engage
Dir : misc/engage/src/module Modified Files: e_mod_main.c e_mod_main.h Log Message: yikes, patch from Ben Rose back in march to focus on click, added a config option for this too =================================================================== RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.c,v retrieving revision 1.94 retrieving revision 1.95 diff -u -3 -r1.94 -r1.95 --- e_mod_main.c 12 Dec 2005 23:36:17 -0000 1.94 +++ e_mod_main.c 13 Dec 2005 00:16:47 -0000 1.95 @@ -42,6 +42,8 @@ static int _engage_cb_event_border_uniconify(void *data, int type, void *event); static int _engage_cb_border_add(Engage_Bar *eb, E_Border *bd); +static void _engage_cb_menu_clickfocus(void *data, E_Menu *m, E_Menu_Item *mi); + static Engage_Bar *_engage_bar_new(Engage_Bar *eb, E_Container *con); static void _engage_bar_free(Engage_Bar *eb); static void _engage_bar_menu_gen(Engage_Bar *eb); @@ -229,6 +231,7 @@ #define D conf_edd E_CONFIG_VAL(D, T, appdir, STR); E_CONFIG_LIST(D, T, bars, conf_bar_edd); + E_CONFIG_VAL(D, T, click_focus, UCHAR); /* E_CONFIG_VAL(D, T, handle, DOUBLE); E_CONFIG_VAL(D, T, autohide, UCHAR); @@ -239,6 +242,7 @@ { e->conf = E_NEW(Config, 1); e->conf->appdir = evas_stringshare_add("engage"); + e->conf->click_focus = 1; /* e->conf->handle = 0.5; e->conf->autohide = 0; @@ -1144,8 +1148,10 @@ mn = e_menu_new(); mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, "(Unused)"); - + e_menu_item_label_set(mi, "Focus borders on click"); + e_menu_item_check_set(mi, 1); + if (e->conf->click_focus) e_menu_item_toggle_set(mi, 1); + e_menu_item_callback_set(mi, _engage_cb_menu_clickfocus, e); /* mi = e_menu_item_new(mn); e_menu_item_label_set(mi, "Auto hide"); @@ -1271,6 +1277,18 @@ return 1; } +static void +_engage_cb_menu_clickfocus(void *data, E_Menu *m, E_Menu_Item *mi) +{ + Engage *e; + unsigned char enabled; + + e = data; + enabled = e_menu_item_toggle_get(mi); + e->conf->click_focus = enabled; + e_config_save_queue(); +} + static int _engage_cb_event_border_add(void *data, int type, void *event) { @@ -2031,6 +2049,8 @@ e_border_uniconify(ai->border); e_border_raise(ai->border); e_desk_show(ai->border->desk); + if (ai->ic->eb->engage->conf->click_focus) + e_border_focus_set(ai->border, 1, 1); } if (ev->button == 3) { @@ -2186,6 +2206,8 @@ e_border_uniconify(ai->border); e_border_raise(ai->border); e_desk_show(ai->border->desk); + if (ic->eb->engage->conf->click_focus) + e_border_focus_set(ai->border, 1, 1); _engage_bar_motion_handle(ic->eb, ev->canvas.x, ev->canvas.y); } =================================================================== RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.h,v retrieving revision 1.26 retrieving revision 1.27 diff -u -3 -r1.26 -r1.27 --- e_mod_main.h 12 Dec 2005 14:38:33 -0000 1.26 +++ e_mod_main.h 13 Dec 2005 00:16:47 -0000 1.27 @@ -16,6 +16,7 @@ { const char *appdir; Evas_List *bars; + unsigned char click_focus; /* double handle; char autohide; ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs