forked from enlightenment/enlightenment
parent
c259d12774
commit
589570ab99
|
@ -272,10 +272,10 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
|
||||||
|
|
||||||
bd->client.win = win;
|
bd->client.win = win;
|
||||||
|
|
||||||
bd->client.icccm.title = strdup("");
|
bd->client.icccm.title = NULL;
|
||||||
bd->client.icccm.name = strdup("");
|
bd->client.icccm.name = strdup("");
|
||||||
bd->client.icccm.class = strdup("");
|
bd->client.icccm.class = strdup("");
|
||||||
bd->client.icccm.icon_name = strdup("");
|
bd->client.icccm.icon_name = NULL;
|
||||||
bd->client.icccm.machine = strdup("");
|
bd->client.icccm.machine = strdup("");
|
||||||
bd->client.icccm.min_w = 1;
|
bd->client.icccm.min_w = 1;
|
||||||
bd->client.icccm.min_h = 1;
|
bd->client.icccm.min_h = 1;
|
||||||
|
@ -289,6 +289,22 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
|
||||||
bd->client.icccm.max_aspect = 0.0;
|
bd->client.icccm.max_aspect = 0.0;
|
||||||
bd->client.icccm.accepts_focus = 1;
|
bd->client.icccm.accepts_focus = 1;
|
||||||
|
|
||||||
|
bd->client.netwm.pid = 0;
|
||||||
|
bd->client.netwm.name = NULL;
|
||||||
|
bd->client.netwm.icon_name = NULL;
|
||||||
|
bd->client.netwm.desktop = 0;
|
||||||
|
bd->client.netwm.state.modal = 0;
|
||||||
|
bd->client.netwm.state.sticky = 0;
|
||||||
|
bd->client.netwm.state.shaded = 0;
|
||||||
|
bd->client.netwm.state.hidden = 0;
|
||||||
|
bd->client.netwm.state.maximized_v = 0;
|
||||||
|
bd->client.netwm.state.maximized_h = 0;
|
||||||
|
bd->client.netwm.state.skip_taskbar = 0;
|
||||||
|
bd->client.netwm.state.skip_pager = 0;
|
||||||
|
bd->client.netwm.state.fullscreen = 0;
|
||||||
|
bd->client.netwm.state.stacking = E_STACKING_NONE;
|
||||||
|
bd->client.netwm.type = ECORE_X_WINDOW_TYPE_NORMAL;
|
||||||
|
|
||||||
{
|
{
|
||||||
int at_num = 0, i;
|
int at_num = 0, i;
|
||||||
Ecore_X_Atom *atoms;
|
Ecore_X_Atom *atoms;
|
||||||
|
@ -296,6 +312,7 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
|
||||||
atoms = ecore_x_window_prop_list(bd->client.win, &at_num);
|
atoms = ecore_x_window_prop_list(bd->client.win, &at_num);
|
||||||
if (atoms)
|
if (atoms)
|
||||||
{
|
{
|
||||||
|
/* icccm */
|
||||||
for (i = 0; i < at_num; i++)
|
for (i = 0; i < at_num; i++)
|
||||||
{
|
{
|
||||||
if (atoms[i] == ECORE_X_ATOM_WM_NAME)
|
if (atoms[i] == ECORE_X_ATOM_WM_NAME)
|
||||||
|
@ -319,6 +336,23 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
|
||||||
else if (atoms[i] == ECORE_X_ATOM_WM_WINDOW_ROLE)
|
else if (atoms[i] == ECORE_X_ATOM_WM_WINDOW_ROLE)
|
||||||
bd->client.icccm.fetch.window_role = 1;
|
bd->client.icccm.fetch.window_role = 1;
|
||||||
}
|
}
|
||||||
|
/* netwm, loop again, netwm will ignore some icccm, so we
|
||||||
|
* have to be sure that netwm is checked after */
|
||||||
|
for (i = 0; i < at_num; i++)
|
||||||
|
{
|
||||||
|
if (atoms[i] == ECORE_X_ATOM_NET_WM_NAME)
|
||||||
|
{
|
||||||
|
/* Ignore icccm */
|
||||||
|
bd->client.icccm.fetch.title = 0;
|
||||||
|
bd->client.netwm.fetch.name = 1;
|
||||||
|
}
|
||||||
|
else if (atoms[i] == ECORE_X_ATOM_NET_WM_ICON_NAME)
|
||||||
|
{
|
||||||
|
/* Ignore icccm */
|
||||||
|
bd->client.icccm.fetch.icon_name = 0;
|
||||||
|
bd->client.netwm.fetch.icon_name = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
free(atoms);
|
free(atoms);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -334,21 +368,6 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
|
||||||
*/
|
*/
|
||||||
bd->client.border.changed = 1;
|
bd->client.border.changed = 1;
|
||||||
|
|
||||||
/* FIXME; set fetch flags as above */
|
|
||||||
bd->client.netwm.pid = 0;
|
|
||||||
bd->client.netwm.desktop = 0;
|
|
||||||
bd->client.netwm.state.modal = 0;
|
|
||||||
bd->client.netwm.state.sticky = 0;
|
|
||||||
bd->client.netwm.state.shaded = 0;
|
|
||||||
bd->client.netwm.state.hidden = 0;
|
|
||||||
bd->client.netwm.state.maximized_v = 0;
|
|
||||||
bd->client.netwm.state.maximized_h = 0;
|
|
||||||
bd->client.netwm.state.skip_taskbar = 0;
|
|
||||||
bd->client.netwm.state.skip_pager = 0;
|
|
||||||
bd->client.netwm.state.fullscreen = 0;
|
|
||||||
bd->client.netwm.state.stacking = E_STACKING_NONE;
|
|
||||||
bd->client.netwm.type = ECORE_X_WINDOW_TYPE_NORMAL;
|
|
||||||
|
|
||||||
bd->client.w = att->w;
|
bd->client.w = att->w;
|
||||||
bd->client.h = att->h;
|
bd->client.h = att->h;
|
||||||
|
|
||||||
|
@ -1839,7 +1858,16 @@ _e_border_cb_window_property(void *data, int ev_type, void *ev)
|
||||||
if (!bd) return 1;
|
if (!bd) return 1;
|
||||||
if (e->atom == ECORE_X_ATOM_WM_NAME)
|
if (e->atom == ECORE_X_ATOM_WM_NAME)
|
||||||
{
|
{
|
||||||
bd->client.icccm.fetch.title = 1;
|
if ((!bd->client.netwm.name) &&
|
||||||
|
(!bd->client.netwm.fetch.name))
|
||||||
|
{
|
||||||
|
bd->client.icccm.fetch.title = 1;
|
||||||
|
bd->changed = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (e->atom == ECORE_X_ATOM_NET_WM_NAME)
|
||||||
|
{
|
||||||
|
bd->client.netwm.fetch.name = 1;
|
||||||
bd->changed = 1;
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
else if (e->atom == ECORE_X_ATOM_WM_CLASS)
|
else if (e->atom == ECORE_X_ATOM_WM_CLASS)
|
||||||
|
@ -1849,7 +1877,16 @@ _e_border_cb_window_property(void *data, int ev_type, void *ev)
|
||||||
}
|
}
|
||||||
else if (e->atom == ECORE_X_ATOM_WM_ICON_NAME)
|
else if (e->atom == ECORE_X_ATOM_WM_ICON_NAME)
|
||||||
{
|
{
|
||||||
bd->client.icccm.fetch.icon_name = 1;
|
if ((!bd->client.netwm.icon_name) &&
|
||||||
|
(!bd->client.netwm.fetch.icon_name))
|
||||||
|
{
|
||||||
|
bd->client.icccm.fetch.icon_name = 1;
|
||||||
|
bd->changed = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (e->atom == ECORE_X_ATOM_NET_WM_ICON_NAME)
|
||||||
|
{
|
||||||
|
bd->client.netwm.fetch.icon_name = 1;
|
||||||
bd->changed = 1;
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
else if (e->atom == ECORE_X_ATOM_WM_CLIENT_MACHINE)
|
else if (e->atom == ECORE_X_ATOM_WM_CLIENT_MACHINE)
|
||||||
|
@ -2774,14 +2811,26 @@ _e_border_eval(E_Border *bd)
|
||||||
/* fetch any info queued to be fetched */
|
/* fetch any info queued to be fetched */
|
||||||
if (bd->client.icccm.fetch.title)
|
if (bd->client.icccm.fetch.title)
|
||||||
{
|
{
|
||||||
e_hints_window_name_get(bd);
|
if (bd->client.icccm.title) free(bd->client.icccm.title);
|
||||||
|
bd->client.icccm.title = ecore_x_icccm_title_get(bd->client.win);
|
||||||
|
|
||||||
bd->client.icccm.fetch.title = 0;
|
bd->client.icccm.fetch.title = 0;
|
||||||
if (bd->bg_object)
|
if (bd->bg_object)
|
||||||
{
|
{
|
||||||
edje_object_part_text_set(bd->bg_object, "title_text",
|
edje_object_part_text_set(bd->bg_object, "title_text",
|
||||||
// "Japanese (hiragana): いろはにほへとちりぬるを");
|
|
||||||
bd->client.icccm.title);
|
bd->client.icccm.title);
|
||||||
// printf("SET TITLE %s\n", bd->client.icccm.title);
|
}
|
||||||
|
}
|
||||||
|
if (bd->client.netwm.fetch.name)
|
||||||
|
{
|
||||||
|
if (bd->client.netwm.name) free(bd->client.netwm.name);
|
||||||
|
bd->client.netwm.name = ecore_x_netwm_name_get(bd->client.win);
|
||||||
|
|
||||||
|
bd->client.netwm.fetch.name = 0;
|
||||||
|
if (bd->bg_object)
|
||||||
|
{
|
||||||
|
edje_object_part_text_set(bd->bg_object, "title_text",
|
||||||
|
bd->client.netwm.name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (bd->client.icccm.fetch.name_class)
|
if (bd->client.icccm.fetch.name_class)
|
||||||
|
@ -2852,9 +2901,18 @@ _e_border_eval(E_Border *bd)
|
||||||
}
|
}
|
||||||
if (bd->client.icccm.fetch.icon_name)
|
if (bd->client.icccm.fetch.icon_name)
|
||||||
{
|
{
|
||||||
e_hints_window_icon_name_get(bd);
|
if (bd->client.icccm.icon_name) free(bd->client.icccm.icon_name);
|
||||||
|
bd->client.icccm.icon_name = ecore_x_icccm_icon_name_get(bd->client.win);
|
||||||
|
|
||||||
bd->client.icccm.fetch.icon_name = 0;
|
bd->client.icccm.fetch.icon_name = 0;
|
||||||
}
|
}
|
||||||
|
if (bd->client.netwm.fetch.icon_name)
|
||||||
|
{
|
||||||
|
if (bd->client.netwm.icon_name) free(bd->client.netwm.icon_name);
|
||||||
|
bd->client.netwm.icon_name = ecore_x_netwm_icon_name_get(bd->client.win);
|
||||||
|
|
||||||
|
bd->client.netwm.fetch.icon_name = 0;
|
||||||
|
}
|
||||||
if (bd->client.icccm.fetch.machine)
|
if (bd->client.icccm.fetch.machine)
|
||||||
{
|
{
|
||||||
if (bd->client.icccm.machine) free(bd->client.icccm.machine);
|
if (bd->client.icccm.machine) free(bd->client.icccm.machine);
|
||||||
|
@ -3082,10 +3140,12 @@ _e_border_eval(E_Border *bd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
edje_object_part_text_set(o, "title_text",
|
if (bd->client.netwm.name)
|
||||||
// "Japanese (hiragana): いろはにほへとちりぬるを");
|
edje_object_part_text_set(o, "title_text",
|
||||||
bd->client.icccm.title);
|
bd->client.netwm.name);
|
||||||
// printf("SET TITLE2 %s\n", bd->client.icccm.title);
|
else if (bd->client.icccm.title)
|
||||||
|
edje_object_part_text_set(o, "title_text",
|
||||||
|
bd->client.icccm.title);
|
||||||
evas_object_resize(o, 1000, 1000);
|
evas_object_resize(o, 1000, 1000);
|
||||||
edje_object_calc_force(o);
|
edje_object_calc_force(o);
|
||||||
edje_object_part_geometry_get(o, "client", &cx, &cy, &cw, &ch);
|
edje_object_part_geometry_get(o, "client", &cx, &cy, &cw, &ch);
|
||||||
|
|
|
@ -158,9 +158,10 @@ struct _E_Border
|
||||||
} fetch;
|
} fetch;
|
||||||
} mwm;
|
} mwm;
|
||||||
struct {
|
struct {
|
||||||
/* FIXME: add name field */
|
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
unsigned int desktop;
|
unsigned int desktop;
|
||||||
|
char *name;
|
||||||
|
char *icon_name;
|
||||||
|
|
||||||
/* NetWM Window state */
|
/* NetWM Window state */
|
||||||
struct {
|
struct {
|
||||||
|
@ -180,11 +181,19 @@ struct _E_Border
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
unsigned char name : 1;
|
unsigned char name : 1;
|
||||||
|
/* No, fetch on new_client, shouldn't be changed after map.
|
||||||
unsigned char pid : 1;
|
unsigned char pid : 1;
|
||||||
|
*/
|
||||||
|
/* No, ignore this
|
||||||
unsigned char desktop : 1;
|
unsigned char desktop : 1;
|
||||||
|
*/
|
||||||
|
/* No, fetch on new_client, shouldn't be changed after map.
|
||||||
unsigned char type : 1;
|
unsigned char type : 1;
|
||||||
|
*/
|
||||||
unsigned char icon_name : 1;
|
unsigned char icon_name : 1;
|
||||||
|
/* No, don't fetch state, update on client message
|
||||||
unsigned char state : 1;
|
unsigned char state : 1;
|
||||||
|
*/
|
||||||
} fetch;
|
} fetch;
|
||||||
} netwm;
|
} netwm;
|
||||||
Ecore_X_Window_Attributes initial_attributes;
|
Ecore_X_Window_Attributes initial_attributes;
|
||||||
|
|
|
@ -58,6 +58,7 @@ e_container_new(E_Manager *man)
|
||||||
{
|
{
|
||||||
con->win = ecore_x_window_override_new(con->manager->win, con->x, con->y, con->w, con->h);
|
con->win = ecore_x_window_override_new(con->manager->win, con->x, con->y, con->w, con->h);
|
||||||
ecore_x_icccm_title_set(con->win, "Enlightenment Container");
|
ecore_x_icccm_title_set(con->win, "Enlightenment Container");
|
||||||
|
ecore_x_netwm_name_set(con->win, "Enlightenment Container");
|
||||||
ecore_x_window_raise(con->win);
|
ecore_x_window_raise(con->win);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -234,30 +234,6 @@ e_hints_active_window_set(E_Manager *man, E_Border *bd)
|
||||||
ecore_x_netwm_client_active_set(man->root, 0);
|
ecore_x_netwm_client_active_set(man->root, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
e_hints_window_name_set(E_Border *bd)
|
|
||||||
{
|
|
||||||
ecore_x_icccm_title_set(bd->client.win, bd->client.icccm.title);
|
|
||||||
ecore_x_netwm_name_set(bd->client.win, bd->client.icccm.title);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
e_hints_window_name_get(E_Border *bd)
|
|
||||||
{
|
|
||||||
/* FIXME: only call from border_eval() if fetch flag set */
|
|
||||||
/* FIXME: split name into icccm and netwm name - prefer netwm name */
|
|
||||||
/* if its not NULL */
|
|
||||||
char *name;
|
|
||||||
|
|
||||||
name = ecore_x_netwm_name_get(bd->client.win);
|
|
||||||
if (!name)
|
|
||||||
name = ecore_x_icccm_title_get(bd->client.win);
|
|
||||||
if (!name)
|
|
||||||
name = strdup("No name!!");
|
|
||||||
if (bd->client.icccm.title) free(bd->client.icccm.title);
|
|
||||||
bd->client.icccm.title = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_desktop_config_set(void)
|
e_hints_desktop_config_set(void)
|
||||||
{
|
{
|
||||||
|
@ -905,7 +881,7 @@ e_hints_window_state_get(E_Border *bd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_visible_set(E_Border *bd)
|
e_hints_window_visible_set(E_Border *bd)
|
||||||
{
|
{
|
||||||
if (bd->client.icccm.state != ECORE_X_WINDOW_STATE_HINT_NORMAL)
|
if (bd->client.icccm.state != ECORE_X_WINDOW_STATE_HINT_NORMAL)
|
||||||
|
@ -920,7 +896,7 @@ e_hints_window_visible_set(E_Border *bd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_iconic_set(E_Border *bd)
|
e_hints_window_iconic_set(E_Border *bd)
|
||||||
{
|
{
|
||||||
if (bd->client.icccm.state != ECORE_X_WINDOW_STATE_HINT_ICONIC)
|
if (bd->client.icccm.state != ECORE_X_WINDOW_STATE_HINT_ICONIC)
|
||||||
|
@ -935,7 +911,7 @@ e_hints_window_iconic_set(E_Border *bd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_hidden_set(E_Border *bd)
|
e_hints_window_hidden_set(E_Border *bd)
|
||||||
{
|
{
|
||||||
if (bd->client.icccm.state != ECORE_X_WINDOW_STATE_HINT_ICONIC)
|
if (bd->client.icccm.state != ECORE_X_WINDOW_STATE_HINT_ICONIC)
|
||||||
|
@ -950,7 +926,7 @@ e_hints_window_hidden_set(E_Border *bd)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_shaded_set(E_Border *bd, int on)
|
e_hints_window_shaded_set(E_Border *bd, int on)
|
||||||
{
|
{
|
||||||
if ((!bd->client.netwm.state.shaded) && (on))
|
if ((!bd->client.netwm.state.shaded) && (on))
|
||||||
|
@ -965,13 +941,13 @@ e_hints_window_shaded_set(E_Border *bd, int on)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_shade_direction_set(E_Border *bd, E_Direction dir)
|
e_hints_window_shade_direction_set(E_Border *bd, E_Direction dir)
|
||||||
{
|
{
|
||||||
ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_SHADE_DIRECTION, &dir, 1);
|
ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_SHADE_DIRECTION, &dir, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
E_Direction
|
E_Direction
|
||||||
e_hints_window_shade_direction_get(E_Border *bd)
|
e_hints_window_shade_direction_get(E_Border *bd)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -986,7 +962,7 @@ e_hints_window_shade_direction_get(E_Border *bd)
|
||||||
return E_DIRECTION_UP;
|
return E_DIRECTION_UP;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_maximized_set(E_Border *bd, int on)
|
e_hints_window_maximized_set(E_Border *bd, int on)
|
||||||
{
|
{
|
||||||
if ((!bd->client.netwm.state.maximized_v) && (on))
|
if ((!bd->client.netwm.state.maximized_v) && (on))
|
||||||
|
@ -1011,7 +987,7 @@ e_hints_window_maximized_set(E_Border *bd, int on)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_fullscreen_set(E_Border *bd, int on)
|
e_hints_window_fullscreen_set(E_Border *bd, int on)
|
||||||
{
|
{
|
||||||
if ((!bd->client.netwm.state.fullscreen) && (on))
|
if ((!bd->client.netwm.state.fullscreen) && (on))
|
||||||
|
@ -1026,7 +1002,7 @@ e_hints_window_fullscreen_set(E_Border *bd, int on)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_sticky_set(E_Border *bd, int on)
|
e_hints_window_sticky_set(E_Border *bd, int on)
|
||||||
{
|
{
|
||||||
if ((!bd->client.netwm.state.sticky) && (on))
|
if ((!bd->client.netwm.state.sticky) && (on))
|
||||||
|
@ -1041,7 +1017,7 @@ e_hints_window_sticky_set(E_Border *bd, int on)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_stacking_set(E_Border *bd, E_Stacking stacking)
|
e_hints_window_stacking_set(E_Border *bd, E_Stacking stacking)
|
||||||
{
|
{
|
||||||
if (bd->client.netwm.state.stacking == stacking) return;
|
if (bd->client.netwm.state.stacking == stacking) return;
|
||||||
|
@ -1070,24 +1046,7 @@ e_hints_window_stacking_set(E_Border *bd, E_Stacking stacking)
|
||||||
ecore_x_netwm_window_state_set(win, ECORE_X_WINDOW_STATE_SKIP_PAGER, on);
|
ecore_x_netwm_window_state_set(win, ECORE_X_WINDOW_STATE_SKIP_PAGER, on);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
e_hints_window_icon_name_get(E_Border *bd)
|
|
||||||
{
|
|
||||||
char *name;
|
|
||||||
|
|
||||||
if (bd->client.icccm.icon_name) free(bd->client.icccm.icon_name);
|
|
||||||
|
|
||||||
name = ecore_x_netwm_icon_name_get(bd->client.win);
|
|
||||||
if (!name)
|
|
||||||
name = ecore_x_icccm_icon_name_get(bd->client.win);
|
|
||||||
if (!name)
|
|
||||||
name = strdup("");
|
|
||||||
|
|
||||||
bd->client.icccm.icon_name = name;
|
|
||||||
bd->changed = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
e_hints_window_desktop_set(E_Border *bd)
|
e_hints_window_desktop_set(E_Border *bd)
|
||||||
{
|
{
|
||||||
unsigned int deskpos[2];
|
unsigned int deskpos[2];
|
||||||
|
|
|
@ -14,9 +14,6 @@ EAPI void e_hints_client_stacking_set(void);
|
||||||
|
|
||||||
EAPI void e_hints_active_window_set(E_Manager *man, E_Border *bd);
|
EAPI void e_hints_active_window_set(E_Manager *man, E_Border *bd);
|
||||||
|
|
||||||
EAPI void e_hints_window_name_set(E_Border *bd);
|
|
||||||
EAPI void e_hints_window_name_get(E_Border *bd);
|
|
||||||
|
|
||||||
EAPI void e_hints_desktop_config_set(void);
|
EAPI void e_hints_desktop_config_set(void);
|
||||||
|
|
||||||
EAPI void e_hints_window_init(E_Border *bd);
|
EAPI void e_hints_window_init(E_Border *bd);
|
||||||
|
@ -41,8 +38,6 @@ EAPI void e_hints_window_fullscreen_set(E_Border *bd, int on);
|
||||||
EAPI void e_hints_window_sticky_set(E_Border *bd, int on);
|
EAPI void e_hints_window_sticky_set(E_Border *bd, int on);
|
||||||
EAPI void e_hints_window_stacking_set(E_Border *bd, E_Stacking stacking);
|
EAPI void e_hints_window_stacking_set(E_Border *bd, E_Stacking stacking);
|
||||||
|
|
||||||
EAPI void e_hints_window_icon_name_get(E_Border *bd);
|
|
||||||
|
|
||||||
EAPI void e_hints_window_desktop_set(E_Border *bd);
|
EAPI void e_hints_window_desktop_set(E_Border *bd);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -484,7 +484,12 @@ _e_int_menus_clients_pre_cb(void *data, E_Menu *m)
|
||||||
|
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_check_set(mi, 1);
|
e_menu_item_check_set(mi, 1);
|
||||||
e_menu_item_label_set(mi, bd->client.icccm.title);
|
if (bd->client.netwm.name)
|
||||||
|
e_menu_item_label_set(mi, bd->client.netwm.name);
|
||||||
|
else if (bd->client.icccm.title)
|
||||||
|
e_menu_item_label_set(mi, bd->client.icccm.title);
|
||||||
|
else
|
||||||
|
e_menu_item_label_set(mi, "No name!!");
|
||||||
/* ref the border as we implicitly unref it in the callback */
|
/* ref the border as we implicitly unref it in the callback */
|
||||||
e_object_ref(E_OBJECT(bd));
|
e_object_ref(E_OBJECT(bd));
|
||||||
e_menu_item_callback_set(mi, _e_int_menus_clients_item_cb, bd);
|
e_menu_item_callback_set(mi, _e_int_menus_clients_item_cb, bd);
|
||||||
|
|
|
@ -71,6 +71,7 @@ e_manager_new(Ecore_X_Window root)
|
||||||
|
|
||||||
man->win = ecore_x_window_override_new(man->root, man->x, man->y, man->w, man->h);
|
man->win = ecore_x_window_override_new(man->root, man->x, man->y, man->w, man->h);
|
||||||
ecore_x_icccm_title_set(man->win, "Enlightenment Manager");
|
ecore_x_icccm_title_set(man->win, "Enlightenment Manager");
|
||||||
|
ecore_x_netwm_name_set(man->win, "Enlightenment Manager");
|
||||||
mwin = e_menu_grab_window_get();
|
mwin = e_menu_grab_window_get();
|
||||||
if (!mwin) mwin = e_init_window_get();
|
if (!mwin) mwin = e_init_window_get();
|
||||||
if (!mwin)
|
if (!mwin)
|
||||||
|
|
Loading…
Reference in New Issue