ewmh: remove _NET_WORKAREA support (FS#732)
This fixes problem with Qt 4.6. Our implementation cannot be standard, and was not standard, so just stop using this EWMH crap. Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
b04a75c697
commit
9c020877dd
|
@ -6,7 +6,6 @@ _NET_NUMBER_OF_DESKTOPS
|
||||||
_NET_CURRENT_DESKTOP
|
_NET_CURRENT_DESKTOP
|
||||||
_NET_DESKTOP_NAMES
|
_NET_DESKTOP_NAMES
|
||||||
_NET_ACTIVE_WINDOW
|
_NET_ACTIVE_WINDOW
|
||||||
_NET_WORKAREA
|
|
||||||
_NET_DESKTOP_GEOMETRY
|
_NET_DESKTOP_GEOMETRY
|
||||||
_NET_SUPPORTING_WM_CHECK
|
_NET_SUPPORTING_WM_CHECK
|
||||||
_NET_CLOSE_WINDOW
|
_NET_CLOSE_WINDOW
|
||||||
|
|
24
ewmh.c
24
ewmh.c
|
@ -70,7 +70,6 @@ ewmh_init(int phys_screen)
|
||||||
_NET_CURRENT_DESKTOP,
|
_NET_CURRENT_DESKTOP,
|
||||||
_NET_DESKTOP_NAMES,
|
_NET_DESKTOP_NAMES,
|
||||||
_NET_ACTIVE_WINDOW,
|
_NET_ACTIVE_WINDOW,
|
||||||
_NET_WORKAREA,
|
|
||||||
_NET_DESKTOP_GEOMETRY,
|
_NET_DESKTOP_GEOMETRY,
|
||||||
_NET_CLOSE_WINDOW,
|
_NET_CLOSE_WINDOW,
|
||||||
_NET_WM_NAME,
|
_NET_WM_NAME,
|
||||||
|
@ -214,29 +213,6 @@ ewmh_update_net_desktop_names(int phys_screen)
|
||||||
buffer_wipe(&buf);
|
buffer_wipe(&buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Update the work area space for each physical screen and each desktop.
|
|
||||||
* \param phys_screen The physical screen id.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
ewmh_update_workarea(int phys_screen)
|
|
||||||
{
|
|
||||||
tag_array_t *tags = &globalconf.screens.tab[phys_screen].tags;
|
|
||||||
uint32_t *area = p_alloca(uint32_t, tags->len * 4);
|
|
||||||
area_t geom = screen_area_get(&globalconf.screens.tab[phys_screen], true);
|
|
||||||
|
|
||||||
for(int i = 0; i < tags->len; i++)
|
|
||||||
{
|
|
||||||
area[4 * i + 0] = geom.x;
|
|
||||||
area[4 * i + 1] = geom.y;
|
|
||||||
area[4 * i + 2] = geom.width;
|
|
||||||
area[4 * i + 3] = geom.height;
|
|
||||||
}
|
|
||||||
|
|
||||||
xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE,
|
|
||||||
xutil_screen_get(globalconf.connection, phys_screen)->root,
|
|
||||||
_NET_WORKAREA, CARDINAL, 32, tags->len * 4, area);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ewmh_update_net_active_window(int phys_screen)
|
ewmh_update_net_active_window(int phys_screen)
|
||||||
{
|
{
|
||||||
|
|
1
ewmh.h
1
ewmh.h
|
@ -36,7 +36,6 @@ void ewmh_update_net_client_list_stacking(int);
|
||||||
void ewmh_client_check_hints(client_t *);
|
void ewmh_client_check_hints(client_t *);
|
||||||
void ewmh_client_update_hints(client_t *);
|
void ewmh_client_update_hints(client_t *);
|
||||||
void ewmh_client_update_desktop(client_t *);
|
void ewmh_client_update_desktop(client_t *);
|
||||||
void ewmh_update_workarea(int);
|
|
||||||
void ewmh_process_client_strut(client_t *, xcb_get_property_reply_t *);
|
void ewmh_process_client_strut(client_t *, xcb_get_property_reply_t *);
|
||||||
void ewmh_update_strut(xcb_window_t, strut_t *);
|
void ewmh_update_strut(xcb_window_t, strut_t *);
|
||||||
xcb_get_property_cookie_t ewmh_window_icon_get_unchecked(xcb_window_t);
|
xcb_get_property_cookie_t ewmh_window_icon_get_unchecked(xcb_window_t);
|
||||||
|
|
|
@ -116,7 +116,6 @@ tag_append_to_screen(lua_State *L, int udx, screen_t *s)
|
||||||
tag_array_append(&s->tags, luaA_object_ref_class(globalconf.L, udx, &tag_class));
|
tag_array_append(&s->tags, luaA_object_ref_class(globalconf.L, udx, &tag_class));
|
||||||
ewmh_update_net_numbers_of_desktop(phys_screen);
|
ewmh_update_net_numbers_of_desktop(phys_screen);
|
||||||
ewmh_update_net_desktop_names(phys_screen);
|
ewmh_update_net_desktop_names(phys_screen);
|
||||||
ewmh_update_workarea(phys_screen);
|
|
||||||
|
|
||||||
luaA_object_push(globalconf.L, tag);
|
luaA_object_push(globalconf.L, tag);
|
||||||
luaA_object_emit_signal(L, -1, "property::screen", 0);
|
luaA_object_emit_signal(L, -1, "property::screen", 0);
|
||||||
|
@ -152,7 +151,6 @@ tag_remove_from_screen(tag_t *tag)
|
||||||
|
|
||||||
ewmh_update_net_numbers_of_desktop(phys_screen);
|
ewmh_update_net_numbers_of_desktop(phys_screen);
|
||||||
ewmh_update_net_desktop_names(phys_screen);
|
ewmh_update_net_desktop_names(phys_screen);
|
||||||
ewmh_update_workarea(phys_screen);
|
|
||||||
|
|
||||||
screen_t *s = tag->screen;
|
screen_t *s = tag->screen;
|
||||||
tag->screen = NULL;
|
tag->screen = NULL;
|
||||||
|
|
Loading…
Reference in New Issue