Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
icccm.c ipc.c
Log Message:
Read WM_TRANSIENT_FOR only on map or change + debug stuff.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/icccm.c,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -3 -r1.67 -r1.68
--- icccm.c 7 Jun 2004 16:07:38 -0000 1.67
+++ icccm.c 16 Jun 2004 22:49:37 -0000 1.68
@@ -40,6 +40,7 @@
static Atom E_XA_WM_WINDOW_ROLE = 0;
static Atom E_XA_WM_HINTS = 0;
static Atom E_XA_WM_CLIENT_LEADER = 0;
+static Atom E_XA_WM_TRANSIENT_FOR = 0;
void
ICCCM_Init(void)
@@ -60,6 +61,7 @@
E_XA_WM_WINDOW_ROLE = XInternAtom(disp, "WM_WINDOW_ROLE", False);
E_XA_WM_HINTS = XInternAtom(disp, "WM_HINTS", False);
E_XA_WM_CLIENT_LEADER = XInternAtom(disp, "WM_CLIENT_LEADER", False);
+ E_XA_WM_TRANSIENT_FOR = XInternAtom(disp, "WM_TRANSIENT_FOR", False);
}
void
@@ -831,7 +833,7 @@
ICCCM_GetHints(EWin * ewin, Atom atom_change)
{
XWMHints *hint;
- Window w;
+ Window win;
Atom *prop;
Window *cleader;
int i, num;
@@ -949,14 +951,15 @@
ewin->skipfocus = 1;
}
- if (XGetTransientForHint(disp, ewin->client.win, &w))
- {
- ewin->client.transient = 1;
- ewin->client.transient_for = w;
- }
- else
+ if (atom_change == 0 || atom_change == E_XA_WM_TRANSIENT_FOR)
{
ewin->client.transient = 0;
+ ewin->client.transient_for = None;
+ if (XGetTransientForHint(disp, ewin->client.win, &win))
+ {
+ ewin->client.transient = 1;
+ ewin->client.transient_for = win;
+ }
}
if (ewin->client.group == ewin->client.win)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ipc.c,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -3 -r1.162 -r1.163
--- ipc.c 7 Jun 2004 16:46:07 -0000 1.162
+++ ipc.c 16 Jun 2004 22:49:37 -0000 1.163
@@ -5747,7 +5747,7 @@
"Border %s lrtb %i,%i,%i,%i\n"
"Icon window, pixmap, mask %#10lx, %#10lx, %#10lx\n"
"Is client group leader %i Client group leader %#10lx\n"
- "Has transients %i Transient for %#10lx\n"
+ "Has transients %i Transient type %i Transient for
%#10lx\n"
"No resize H/V %i/%i Shaped %i\n"
"Base, min, max, inc w/h %ix%i, %ix%i, %ix%i %ix%i\n"
"Aspect min, max %5.5f, %5.5f\n"
@@ -5773,7 +5773,8 @@
ewin->client.icon_win,
ewin->client.icon_pmap, ewin->client.icon_mask,
ewin->client.is_group_leader, ewin->client.group,
- ewin->has_transients, ewin->client.transient_for,
+ ewin->has_transients,
+ ewin->client.transient, ewin->client.transient_for,
ewin->client.no_resize_h, ewin->client.no_resize_v,
ewin->client.shaped,
ewin->client.base_w, ewin->client.base_h,
-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs