Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
E.h borders.c focus.c menus.c pager.c
Log Message:
Enable configuring no-input windows using menus + cosmetics.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.293
retrieving revision 1.294
diff -u -3 -r1.293 -r1.294
--- E.h 28 Jun 2004 18:21:57 -0000 1.293
+++ E.h 28 Jun 2004 23:37:45 -0000 1.294
@@ -1333,7 +1333,7 @@
char justclicked;
char click_focus_grabbed;
EWin *focuswin;
- EWin *mouse_over_win;
+ EWin *mouse_over_ewin;
int px, py, x, y;
char doingslide;
int server_grabbed;
@@ -2186,7 +2186,6 @@
Dialog *FindDialogButton(Window win, int *bnum);
Dialog *FindDialog(Window win);
int FindADialog(void);
-EWin *FindEwinSpawningMenu(Menu * m);
Pager *FindPager(Window win);
DItem *FindDialogItem(Window win, Dialog ** dret);
@@ -2410,8 +2409,6 @@
MenuStyle *MenuStyleCreate(void);
Menu *MenuCreate(const char *name);
void MenuDestroy(Menu * m);
-void MenuHide(Menu * m);
-void MenuShow(Menu * m, char noshow);
MenuItem *MenuItemCreate(const char *text, ImageClass * iclass,
int action_id, const char *action_params,
Menu * child);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/borders.c,v
retrieving revision 1.201
retrieving revision 1.202
diff -u -3 -r1.201 -r1.202
--- borders.c 28 Jun 2004 19:14:48 -0000 1.201
+++ borders.c 28 Jun 2004 23:37:55 -0000 1.202
@@ -171,7 +171,7 @@
EDBUG(4, "GetContextEwin");
#if 0
- ewin = Mode.mouse_over_win;
+ ewin = Mode.mouse_over_ewin;
if (ewin && !ewin->menu)
EDBUG_RETURN(ewin);
#endif
@@ -1536,8 +1536,8 @@
if (ewin == Mode.focuswin)
FocusToEWin(ewin, FOCUS_EWIN_GONE);
- if (ewin == Mode.mouse_over_win)
- Mode.mouse_over_win = NULL;
+ if (ewin == Mode.mouse_over_ewin)
+ Mode.mouse_over_ewin = NULL;
/* hide any menus this ewin has brought up if they are still up when we */
/* destroy this ewin */
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/focus.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -3 -r1.72 -r1.73
--- focus.c 7 Jun 2004 16:46:07 -0000 1.72
+++ focus.c 28 Jun 2004 23:37:55 -0000 1.73
@@ -308,7 +308,7 @@
if ((Conf.focus.warp_on_next_focus && (why == FOCUS_NEXT)) ||
(Conf.focus.warp_after_next_focus && (why == FOCUS_WARP_DONE)))
{
- if (ewin != Mode.mouse_over_win)
+ if (ewin != Mode.mouse_over_ewin)
XWarpPointer(disp, None, ewin->win, 0, 0, 0, 0, ewin->w / 2,
ewin->h / 2);
}
@@ -363,7 +363,7 @@
/* Set the mouse-over window */
ewin = GetEwinByCurrentPointer();
- Mode.mouse_over_win = ewin;
+ Mode.mouse_over_ewin = ewin;
ewin = FocusEwinSelect();
if (ewin)
@@ -396,7 +396,7 @@
}
ewin = GetEwinByCurrentPointer();
- Mode.mouse_over_win = ewin;
+ Mode.mouse_over_ewin = ewin;
switch (Conf.focus.mode)
{
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v
retrieving revision 1.140
retrieving revision 1.141
diff -u -3 -r1.140 -r1.141
--- menus.c 26 Jun 2004 17:49:01 -0000 1.140
+++ menus.c 28 Jun 2004 23:37:55 -0000 1.141
@@ -110,7 +110,7 @@
EDBUG_RETURN(menu);
}
-EWin *
+static EWin *
FindEwinSpawningMenu(Menu * m)
{
EWin *ewin = NULL;
@@ -129,7 +129,7 @@
EDBUG_RETURN(ewin);
}
-void
+static void
MenuHide(Menu * m)
{
EWin *ewin;
@@ -195,7 +195,7 @@
ewin->Close = MenuEwinClose;
}
-void
+static void
MenuShow(Menu * m, char noshow)
{
EWin *ewin;
@@ -2370,6 +2370,18 @@
return NULL;
}
+static EWin *
+MenuFindContextEwin(Menu * m)
+{
+ while (m && m->parent)
+ m = m->parent;
+
+ if (!m)
+ return NULL;
+
+ return FindEwinSpawningMenu(m);
+}
+
int
MenusEventKeyPress(XEvent * ev)
{
@@ -2440,8 +2452,9 @@
break;
if (!mi->act_id)
break;
+ ewin = MenuFindContextEwin(m);
MenusHide();
- ActionsCall(mi->act_id, NULL, mi->params);
+ ActionsCall(mi->act_id, ewin, mi->params);
break;
}
@@ -2513,6 +2526,7 @@
{
Menu *m;
MenuItem *mi;
+ EWin *ewin;
m = FindMenuItem(ev->xbutton.window, &mi);
if ((m) && (mi->state))
@@ -2521,8 +2535,9 @@
MenuDrawItem(m, mi, 1);
if ((mi->act_id) && (!Mode.justclicked))
{
+ ewin = MenuFindContextEwin(m);
MenusHide();
- ActionsCall(mi->act_id, NULL, mi->params);
+ ActionsCall(mi->act_id, ewin, mi->params);
return 1;
}
}
@@ -2531,7 +2546,6 @@
{
if (!m)
{
- EWin *ewin;
Window ww;
ww = WindowAtXY(Mode.x, Mode.y);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/pager.c,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -3 -r1.97 -r1.98
--- pager.c 26 Jun 2004 18:24:39 -0000 1.97
+++ pager.c 28 Jun 2004 23:37:55 -0000 1.98
@@ -982,7 +982,7 @@
mi = MenuItemCreate(_("Stick / Unstick"), NULL, ACTION_STICK, s, NULL);
MenuAddItem(pw_menu, mi);
- ActionsCall(ACTION_SHOW_MENU, NULL, "named __DESK_WIN_MENU");
+ ActionsCall(ACTION_SHOW_MENU, ewin, "named __DESK_WIN_MENU");
return;
}
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs