Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_hints.c e_hints.h e_manager.c Log Message: add a cde pretend routinne in our attempt to fix java... FUCKING JAVA! =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_hints.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- e_hints.c 11 Mar 2005 13:09:06 -0000 1.9 +++ e_hints.c 16 Mar 2005 15:24:38 -0000 1.10 @@ -426,3 +426,41 @@ bd->client.icccm.icon_name = name; bd->changed = 1; } + +/* this SHIT is for e17 to PRETEND it is CDE so java doesnt go all fucked and + * do the wrong thing. java is NOT porperly writtey to comply with x + * standards such as icccm. etc. you need to just check it's x code to find + * out. this caused us a LOT of pain to find out - thanks HandyAnde + * + * BTW - this PARTYL fixes batik - it does not fix cgoban or batik fully. + * batik still requests its window to be twice the width and height it should be + * and thinks its half the width and height it is. cgoban wont render its first + * window because it THINKS it smaller than it is. + */ +void +e_hints_root_cde_pretend(Ecore_X_Window root) +{ + static Ecore_X_Atom _XA_DT_SM_WINDOW_INFO = 0; + static Ecore_X_Atom _XA_DT_SM_STATE_INFO = 0; + Ecore_X_Window data[2], info_win; + + if (_XA_DT_SM_WINDOW_INFO == 0) + _XA_DT_SM_WINDOW_INFO = ecore_x_atom_get("_DT_SM_WINDOW_INFO"); + if (_XA_DT_SM_STATE_INFO == 0) + _XA_DT_SM_STATE_INFO = ecore_x_atom_get("_DT_SM_STATE_INFO"); + + data[0] = 0; + data[1] = 0; + info_win = ecore_x_window_override_new(root, -99, -99, 1, 1); + ecore_x_window_prop_property_set(info_win, + _XA_DT_SM_STATE_INFO, + _XA_DT_SM_STATE_INFO, + 32, data, 1); + + data[0] = 0; + data[1] = info_win; + ecore_x_window_prop_property_set(root, + _XA_DT_SM_WINDOW_INFO, + _XA_DT_SM_WINDOW_INFO, + 32, data, 2); +} =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_hints.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_hints.h 15 Feb 2005 12:11:31 -0000 1.5 +++ e_hints.h 16 Mar 2005 15:24:38 -0000 1.6 @@ -31,5 +31,7 @@ EAPI int e_hints_window_sticky_isset(Ecore_X_Window win); EAPI void e_hints_window_icon_name_get(Ecore_X_Window win); +EAPI void e_hints_root_cde_pretend(Ecore_X_Window root); + #endif #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_manager.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- e_manager.c 11 Mar 2005 13:09:06 -0000 1.14 +++ e_manager.c 16 Mar 2005 15:24:38 -0000 1.15 @@ -89,6 +89,7 @@ if (h) man->handlers = evas_list_append(man->handlers, h); h = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_CONFIGURE, _e_manager_cb_window_configure, man); if (h) man->handlers = evas_list_append(man->handlers, h); + e_hints_root_cde_pretend(man->root); return man; } ------------------------------------------------------- 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://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs