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);
+}
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;
}