Enlightenment CVS committal
Author : raster
Project : e17
Module : apps/e
Dir : e17/apps/e/src/bin
Modified Files:
e_border.c e_border.h
Log Message:
mwm hints being done properly...
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_border.c 25 Nov 2004 03:37:44 -0000 1.1
+++ e_border.c 25 Nov 2004 14:09:49 -0000 1.2
@@ -163,7 +163,7 @@
bd->client.icccm.fetch.hints = 1;
bd->client.icccm.fetch.size_pos_hints = 1;
bd->client.icccm.fetch.protocol = 1;
- bd->client.mwm.fetch.borderless = 1;
+ bd->client.mwm.fetch.hints = 1;
bd->client.netwm.fetch.pid = 1;
bd->client.netwm.fetch.desktop = 1;
bd->client.border.changed = 1;
@@ -607,7 +607,7 @@
bd->client.icccm.fetch.hints = 1;
bd->client.icccm.fetch.size_pos_hints = 1;
bd->client.icccm.fetch.protocol = 1;
- bd->client.mwm.fetch.borderless = 1;
+ bd->client.mwm.fetch.hints = 1;
bd->client.netwm.fetch.pid = 1;
bd->client.netwm.fetch.desktop = 1;
// bd->client.border.changed = 1;
@@ -1114,13 +1114,27 @@
}
bd->client.icccm.fetch.protocol = 0;
}
- if (bd->client.mwm.fetch.borderless)
+ if (bd->client.mwm.fetch.hints)
{
int pb;
+ bd->client.mwm.exists =
+ ecore_x_mwm_hints_get(bd->client.win,
+ &bd->client.mwm.func,
+ &bd->client.mwm.decor,
+ &bd->client.mwm.input);
pb = bd->client.mwm.borderless;
- bd->client.mwm.borderless =
ecore_x_window_prop_borderless_get(bd->client.win);
- bd->client.mwm.fetch.borderless = 0;
+ bd->client.mwm.borderless = 0;
+ if (bd->client.mwm.exists)
+ {
+ printf("MWM hints!\n");
+ if ((!(bd->client.mwm.decor & ECORE_X_MWM_HINT_DECOR_ALL)) &&
+ (!(bd->client.mwm.decor & ECORE_X_MWM_HINT_DECOR_TITLE)) &&
+ (!(bd->client.mwm.decor & ECORE_X_MWM_HINT_DECOR_BORDER)))
+ {
+ bd->client.mwm.borderless = 1;
+ }
+ }
if (bd->client.mwm.borderless != pb)
{
if (bd->client.border.name) free(bd->client.border.name);
@@ -1128,8 +1142,11 @@
bd->client.border.name = strdup("borderless");
else
bd->client.border.name = strdup("default");
+ if (bd->client.mwm.borderless)
+ printf("client %s borderless\n", bd->client.icccm.title);
bd->client.border.changed = 1;
}
+ bd->client.mwm.fetch.hints = 0;
}
if (bd->client.netwm.fetch.pid)
{
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_border.h 25 Nov 2004 05:31:20 -0000 1.2
+++ e_border.h 25 Nov 2004 14:09:49 -0000 1.3
@@ -85,9 +85,13 @@
} fetch;
} icccm;
struct {
+ Ecore_X_MWM_Hint_Func func;
+ Ecore_X_MWM_Hint_Decor decor;
+ Ecore_X_MWM_Hint_Input input;
+ unsigned char exists : 1;
unsigned char borderless : 1;
struct {
- unsigned int borderless : 1;
+ unsigned int hints : 1;
} fetch;
} mwm;
struct {
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs