bd->client.icccm.fetch.icon_name = 0;
bd->client.netwm.fetch.icon_name = 1;
}
+ else if (atoms[i] == ECORE_X_ATOM_NET_WM_ICON)
+ {
+ bd->client.netwm.fetch.icon = 1;
+ }
}
free(atoms);
}
e_object_del(E_OBJECT(bd));
}
+void e_border_icon_add(E_Border *bd, Evas *e)
+{
+}
+
void
e_border_button_bindings_ungrab_all(void)
{
bd->client.icccm.fetch.window_role = 1;
bd->changed = 1;
}
+ /*
+ else if (e->atom == ECORE_X_ATOM_NET_WM_ICON)
+ {
+ bd->client.netwm.fetch.icon = 1;
+ bd->changed = 1;
+ }
+ */
return 1;
}
bd->client.netwm.fetch.icon_name = 0;
}
+ /*
+ if (bd->client.netwm.fetch.icon)
+ {
+ if (bd->client.netwm.icon.data) free(bd->client.netwm.icon.data);
+ if (!ecore_x_netwm_icon_get(bd->client.win,
+ &bd->client.netwm.icon.width, &bd->client.netwm.icon.height,
+ &bd->client.netwm.icon.data, &bd->client.netwm.icon.size))
+ printf("ERROR: Fetch icon from client\n");
+ else
+ {
+ if (bd->icon_object)
+ {
+ evas_object_del(bd->icon_object);
+ bd->icon_object = NULL;
+ }
+ bd->icon_object = e_icon_add(bd->bg_evas);
+ e_icon_data_set(bd->icon_object, bd->client.netwm.icon.data,
+ bd->client.netwm.icon.width, bd->client.netwm.icon.height);
+ e_icon_alpha_set(bd->icon_object, 1);
+
+ if (bd->bg_object)
+ {
+ evas_object_show(bd->icon_object);
+ edje_object_part_swallow(bd->bg_object, "icon_swallow", bd->icon_object);
+ }
+ else
+ {
+ evas_object_hide(bd->icon_object);
+ }
+ }
+ bd->client.netwm.fetch.icon = 0;
+ }
+ */
if (bd->client.icccm.fetch.machine)
{
if (bd->client.icccm.machine) free(bd->client.icccm.machine);
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, 1);
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_VIRTUAL_ROOTS, 1);
+ ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ICON, 1);
+
+ ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_ICON_NAME, 1);
+
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_NAME, 1);
+ ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_PID, 1);
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_STATE, 1);
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_STATE_STICKY, 1);
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_STATE_ABOVE, 1);
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_STATE_BELOW, 1);
+ ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME, 1);
+ ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_VISIBLE_NAME, 1);
+
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_WINDOW_TYPE, 1);
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP, 1);
ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DOCK, 1);
if (!a_manager) a_manager = XInternAtom(display, "_E_HACK_MANAGER", False);
if ((env = getenv("E_LAUNCH_ID")))
- XChangeProperty(display, window, a_launch_id, XA_STRING, 8, PropModeReplace, env, strlen(env));
+ XChangeProperty(display, window, a_launch_id, XA_STRING, 8, PropModeReplace, (unsigned char *)env, strlen(env));
{
uid_t uid;
pid_t pid, ppid;
ppid = getppid();
snprintf(buf, sizeof(buf), "%i", uid);
- XChangeProperty(display, window, a_user_id, XA_STRING, 8, PropModeReplace, buf, strlen(buf));
+ XChangeProperty(display, window, a_user_id, XA_STRING, 8, PropModeReplace, (unsigned char *)buf, strlen(buf));
snprintf(buf, sizeof(buf), "%i", pid);
- XChangeProperty(display, window, a_process_id, XA_STRING, 8, PropModeReplace, buf, strlen(buf));
+ XChangeProperty(display, window, a_process_id, XA_STRING, 8, PropModeReplace, (unsigned char *)buf, strlen(buf));
snprintf(buf, sizeof(buf), "%i", ppid);
- XChangeProperty(display, window, a_p_process_id, XA_STRING, 8, PropModeReplace, buf, strlen(buf));
+ XChangeProperty(display, window, a_p_process_id, XA_STRING, 8, PropModeReplace, (unsigned char *)buf, strlen(buf));
if (!uname(&ubuf))
{
snprintf(buf, sizeof(buf), "%s", ubuf.nodename);
- XChangeProperty(display, window, a_machine_name, XA_STRING, 8, PropModeReplace, buf, strlen(buf));
+ XChangeProperty(display, window, a_machine_name, XA_STRING, 8, PropModeReplace, (unsigned char *)buf, strlen(buf));
}
else
- XChangeProperty(display, window, a_machine_name, XA_STRING, 8, PropModeReplace, " ", 1);
+ XChangeProperty(display, window, a_machine_name, XA_STRING, 8, PropModeReplace, (unsigned char *)" ", 1);
}
if ((env = getenv("USER")))
- XChangeProperty(display, window, a_user_name, XA_STRING, 8, PropModeReplace, env, strlen(env));
+ XChangeProperty(display, window, a_user_name, XA_STRING, 8, PropModeReplace, (unsigned char *)env, strlen(env));
if ((env = getenv("E_DESK")))
- XChangeProperty(display, window, a_desk, XA_STRING, 8, PropModeReplace, env, strlen(env));
+ XChangeProperty(display, window, a_desk, XA_STRING, 8, PropModeReplace, (unsigned char *)env, strlen(env));
if ((env = getenv("E_ZONE")))
- XChangeProperty(display, window, a_zone, XA_STRING, 8, PropModeReplace, env, strlen(env));
+ XChangeProperty(display, window, a_zone, XA_STRING, 8, PropModeReplace, (unsigned char *)env, strlen(env));
if ((env = getenv("E_CONTAINER")))
- XChangeProperty(display, window, a_container, XA_STRING, 8, PropModeReplace, env, strlen(env));
+ XChangeProperty(display, window, a_container, XA_STRING, 8, PropModeReplace, (unsigned char *)env, strlen(env));
if ((env = getenv("E_MANAGER")))
- XChangeProperty(display, window, a_manager, XA_STRING, 8, PropModeReplace, env, strlen(env));
+ XChangeProperty(display, window, a_manager, XA_STRING, 8, PropModeReplace, (unsigned char *)env, strlen(env));
}
/* XCreateWindow intercept hack */