forked from enlightenment/enlightenment
add a cde pretend routinne in our attempt to fix java... FUCKING JAVA!
SVN revision: 13749
This commit is contained in:
parent
7594b28c6e
commit
fb6f43eefb
|
@ -426,3 +426,41 @@ e_hints_window_icon_name_get(Ecore_X_Window win)
|
||||||
bd->client.icccm.icon_name = name;
|
bd->client.icccm.icon_name = name;
|
||||||
bd->changed = 1;
|
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);
|
||||||
|
}
|
||||||
|
|
|
@ -31,5 +31,7 @@ EAPI void e_hints_window_sticky_set(Ecore_X_Window win, int on);
|
||||||
EAPI int e_hints_window_sticky_isset(Ecore_X_Window win);
|
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_window_icon_name_get(Ecore_X_Window win);
|
||||||
|
|
||||||
|
EAPI void e_hints_root_cde_pretend(Ecore_X_Window root);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -89,6 +89,7 @@ e_manager_new(Ecore_X_Window root)
|
||||||
if (h) man->handlers = evas_list_append(man->handlers, h);
|
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);
|
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);
|
if (h) man->handlers = evas_list_append(man->handlers, h);
|
||||||
|
e_hints_root_cde_pretend(man->root);
|
||||||
return man;
|
return man;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue