Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
E.h borders.c desktops.c focus.c
Log Message:
Shuffle around some window event configuration code (no functional changes).
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.247
retrieving revision 1.248
diff -u -3 -r1.247 -r1.248
--- E.h 12 Apr 2004 08:28:32 -0000 1.247
+++ E.h 12 Apr 2004 13:57:42 -0000 1.248
@@ -1747,6 +1747,8 @@
void EwinChangesStart(EWin * ewin);
void EwinChangesProcess(EWin * ewin);
+void EwinsEventsConfigure(int mode);
+
int BordersEventExpose(XEvent * ev);
int BordersEventMouseDown(XEvent * ev);
int BordersEventMouseUp(XEvent * ev);
@@ -1871,6 +1873,7 @@
void MoveEwinToDesktopAt(EWin * ewin, int num, int x, int y);
void GotoDesktopByEwin(EWin * ewin);
void FloatEwinAboveDesktops(EWin * ewin);
+void DesktopsEventsConfigure(int mode);
/* dialog.c */
Dialog *DialogCreate(const char *name);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/borders.c,v
retrieving revision 1.166
retrieving revision 1.167
diff -u -3 -r1.166 -r1.167
--- borders.c 10 Apr 2004 10:47:14 -0000 1.166
+++ borders.c 12 Apr 2004 13:57:42 -0000 1.167
@@ -3167,6 +3167,115 @@
EWinChanges.flags = 0;
}
+static void
+EwinEventsConfigure(EWin * ewin, int mode)
+{
+ int i;
+
+ if (mode)
+ {
+ XSelectInput(disp, ewin->win,
+ SubstructureNotifyMask | SubstructureRedirectMask |
+ PropertyChangeMask | ResizeRedirectMask);
+
+ if (ewin->pager)
+ {
+#if 0 /* ??? */
+ XSelectInput(disp, ewin->client.win,
+ PropertyChangeMask | FocusChangeMask |
+ ResizeRedirectMask | StructureNotifyMask |
+ ColormapChangeMask | ButtonPressMask |
+ ButtonReleaseMask | PointerMotionMask);
+#endif
+ }
+ else if (ewin->dialog)
+ XSelectInput(disp, ewin->client.win,
+ PropertyChangeMask | FocusChangeMask |
+ ResizeRedirectMask | StructureNotifyMask |
+ ColormapChangeMask | ExposureMask | KeyPressMask);
+ else
+ XSelectInput(disp, ewin->client.win,
+ PropertyChangeMask | FocusChangeMask |
+ ResizeRedirectMask | StructureNotifyMask |
+ ColormapChangeMask);
+
+ for (i = 0; i < ewin->border->num_winparts; i++)
+ {
+ if (ewin->border->part[i].flags & FLAG_TITLE)
+ XSelectInput(disp, ewin->bits[i].win,
+ ExposureMask | ButtonPressMask |
+ ButtonReleaseMask);
+ else
+ XSelectInput(disp, ewin->bits[i].win,
+ ButtonPressMask | ButtonReleaseMask);
+ }
+ }
+ else
+ {
+ XSelectInput(disp, ewin->win,
+ SubstructureNotifyMask | SubstructureRedirectMask |
+ EnterWindowMask | LeaveWindowMask | PointerMotionMask
+ | PropertyChangeMask | ResizeRedirectMask |
+ ButtonPressMask | ButtonReleaseMask);
+
+ if (ewin->pager)
+ XSelectInput(disp, ewin->client.win,
+ PropertyChangeMask | EnterWindowMask |
+ LeaveWindowMask | FocusChangeMask |
+ ResizeRedirectMask | StructureNotifyMask |
+ ColormapChangeMask | ButtonPressMask |
+ ButtonReleaseMask | PointerMotionMask);
+ else if (ewin->dialog)
+ XSelectInput(disp, ewin->client.win,
+ PropertyChangeMask | EnterWindowMask |
+ LeaveWindowMask | FocusChangeMask |
+ ResizeRedirectMask | StructureNotifyMask |
+ ColormapChangeMask | ExposureMask | KeyPressMask);
+ else
+ XSelectInput(disp, ewin->client.win,
+ PropertyChangeMask | EnterWindowMask |
+ LeaveWindowMask | FocusChangeMask |
+ ResizeRedirectMask | StructureNotifyMask |
+ ColormapChangeMask);
+
+ for (i = 0; i < ewin->border->num_winparts; i++)
+ {
+ if (ewin->border->part[i].flags & FLAG_TITLE)
+ XSelectInput(disp, ewin->bits[i].win,
+ ExposureMask | KeyPressMask | KeyReleaseMask |
+ ButtonPressMask | ButtonReleaseMask |
+ EnterWindowMask | LeaveWindowMask |
+ PointerMotionMask);
+ else
+ XSelectInput(disp, ewin->bits[i].win,
+ KeyPressMask | KeyReleaseMask |
+ ButtonPressMask | ButtonReleaseMask |
+ EnterWindowMask | LeaveWindowMask |
+ PointerMotionMask);
+ }
+ }
+}
+
+void
+EwinsEventsConfigure(int mode)
+{
+ EWin *const *lst, *ewin;
+ int i, num;
+
+ lst = EwinListGetAll(&num);
+ for (i = 0; i < num; i++)
+ {
+ ewin = lst[i];
+
+ EwinEventsConfigure(lst[i], mode);
+
+ /* This is a hack. Maybe we should do something with expose events. */
+ if (mode == 0)
+ if (Mode.mode == MODE_DESKSWITCH && ewin->sticky && ewin->visible)
+ EwinRefresh(ewin);
+ }
+}
+
/*
* Border event handlers
*/
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -3 -r1.83 -r1.84
--- desktops.c 12 Apr 2004 08:28:32 -0000 1.83
+++ desktops.c 12 Apr 2004 13:57:43 -0000 1.84
@@ -1281,3 +1281,25 @@
EDBUG_RETURN_;
}
#endif
+
+void
+DesktopsEventsConfigure(int mode)
+{
+ int i;
+ long event_mask;
+
+ if (mode)
+ event_mask =
+ PropertyChangeMask | SubstructureRedirectMask |
+ ButtonPressMask | ButtonReleaseMask;
+ else
+ event_mask =
+ SubstructureNotifyMask | ButtonPressMask |
+ ButtonReleaseMask | EnterWindowMask | LeaveWindowMask |
+ ButtonMotionMask | PropertyChangeMask |
+ SubstructureRedirectMask | KeyPressMask | KeyReleaseMask
+ | PointerMotionMask;
+
+ for (i = 0; i < ENLIGHTENMENT_CONF_NUM_DESKTOPS; i++)
+ XSelectInput(disp, desks.desk[i].win, event_mask);
+}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/focus.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -3 -r1.66 -r1.67
--- focus.c 10 Apr 2004 07:22:45 -0000 1.66
+++ focus.c 12 Apr 2004 13:57:43 -0000 1.67
@@ -336,9 +336,6 @@
void
FocusNewDeskBegin(void)
{
- EWin *const *lst, *ewin;
- int i, j, num;
-
if (new_desk_focus_nesting++)
return;
@@ -346,60 +343,14 @@
/* we are about to flip desktops or areas - disable enter and leave events
* temporarily */
-
- lst = EwinListGetAll(&num);
- for (i = 0; i < num; i++)
- {
- ewin = lst[i];
-
- XSelectInput(disp, ewin->win,
- SubstructureNotifyMask | SubstructureRedirectMask |
- PropertyChangeMask | ResizeRedirectMask);
-
- if (ewin->pager)
- {
-#if 0 /* ??? */
- XSelectInput(disp, ewin->client.win,
- PropertyChangeMask | FocusChangeMask |
- ResizeRedirectMask | StructureNotifyMask |
- ColormapChangeMask | ButtonPressMask |
- ButtonReleaseMask | PointerMotionMask);
-#endif
- }
- else if (ewin->dialog)
- XSelectInput(disp, ewin->client.win,
- PropertyChangeMask | FocusChangeMask |
- ResizeRedirectMask | StructureNotifyMask |
- ColormapChangeMask | ExposureMask | KeyPressMask);
- else
- XSelectInput(disp, ewin->client.win,
- PropertyChangeMask | FocusChangeMask |
- ResizeRedirectMask | StructureNotifyMask |
- ColormapChangeMask);
-
- for (j = 0; j < ewin->border->num_winparts; j++)
- {
- if (ewin->border->part[j].flags & FLAG_TITLE)
- XSelectInput(disp, ewin->bits[j].win,
- ExposureMask | ButtonPressMask |
- ButtonReleaseMask);
- else
- XSelectInput(disp, ewin->bits[j].win,
- ButtonPressMask | ButtonReleaseMask);
- }
- }
-
- for (i = 0; i < ENLIGHTENMENT_CONF_NUM_DESKTOPS; i++)
- XSelectInput(disp, desks.desk[i].win,
- PropertyChangeMask | SubstructureRedirectMask |
- ButtonPressMask | ButtonReleaseMask);
+ EwinsEventsConfigure(1);
+ DesktopsEventsConfigure(1);
}
void
FocusNewDesk(void)
{
- EWin *const *lst, *ewin;
- int i, j, num;
+ EWin *ewin;
EDBUG(4, "FocusNewDesk");
@@ -407,64 +358,8 @@
return;
/* we flipped - re-enable enter and leave events */
- lst = EwinListGetAll(&num);
- for (i = 0; i < num; i++)
- {
- ewin = lst[i];
-
- XSelectInput(disp, ewin->win,
- SubstructureNotifyMask | SubstructureRedirectMask |
- EnterWindowMask | LeaveWindowMask | PointerMotionMask |
- PropertyChangeMask | ResizeRedirectMask |
- ButtonPressMask | ButtonReleaseMask);
-
- if (ewin->pager)
- XSelectInput(disp, ewin->client.win,
- PropertyChangeMask | EnterWindowMask |
- LeaveWindowMask | FocusChangeMask |
- ResizeRedirectMask | StructureNotifyMask |
- ColormapChangeMask | ButtonPressMask |
- ButtonReleaseMask | PointerMotionMask);
- else if (ewin->dialog)
- XSelectInput(disp, ewin->client.win,
- PropertyChangeMask | EnterWindowMask |
- LeaveWindowMask | FocusChangeMask |
- ResizeRedirectMask | StructureNotifyMask |
- ColormapChangeMask | ExposureMask | KeyPressMask);
- else
- XSelectInput(disp, ewin->client.win,
- PropertyChangeMask | EnterWindowMask |
- LeaveWindowMask | FocusChangeMask |
- ResizeRedirectMask | StructureNotifyMask |
- ColormapChangeMask);
-
- for (j = 0; j < ewin->border->num_winparts; j++)
- {
- if (ewin->border->part[j].flags & FLAG_TITLE)
- XSelectInput(disp, ewin->bits[j].win,
- ExposureMask | KeyPressMask | KeyReleaseMask |
- ButtonPressMask | ButtonReleaseMask |
- EnterWindowMask | LeaveWindowMask |
- PointerMotionMask);
- else
- XSelectInput(disp, ewin->bits[j].win,
- KeyPressMask | KeyReleaseMask |
- ButtonPressMask | ButtonReleaseMask |
- EnterWindowMask | LeaveWindowMask |
- PointerMotionMask);
- }
-
- if (Mode.mode == MODE_DESKSWITCH && ewin->sticky && ewin->visible)
- EwinRefresh(ewin);
- }
-
- for (i = 0; i < ENLIGHTENMENT_CONF_NUM_DESKTOPS; i++)
- XSelectInput(disp, desks.desk[i].win,
- SubstructureNotifyMask | ButtonPressMask |
- ButtonReleaseMask | EnterWindowMask | LeaveWindowMask |
- ButtonMotionMask | PropertyChangeMask |
- SubstructureRedirectMask | KeyPressMask | KeyReleaseMask |
- PointerMotionMask);
+ EwinsEventsConfigure(0);
+ DesktopsEventsConfigure(0);
/* Set the mouse-over window */
ewin = GetEwinByCurrentPointer();
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs