Add more TOVOv5 for unfixable APIs.

Another pull request at some point will add proper API levels,
it will then become possible to fix these without breaking
the API for everybody. However right now there is no way around
the problems.
This commit is contained in:
Emmanuel Lepage Vallee 2019-12-01 00:01:05 -05:00 committed by Emmanuel Lepage-Vallee
parent c5202a4870
commit e77dd01e5a
3 changed files with 8 additions and 0 deletions

5
ewmh.c
View File

@ -412,14 +412,17 @@ ewmh_process_state_atom(client_t *c, xcb_atom_t state, int set)
{
if(set == _NET_WM_STATE_REMOVE) {
lua_pushboolean(L, false);
/*TODO v5: Add a context */
luaA_object_emit_signal(L, -2, "request::urgent", 1);
}
else if(set == _NET_WM_STATE_ADD) {
lua_pushboolean(L, true);
/*TODO v5: Add a context */
luaA_object_emit_signal(L, -2, "request::urgent", 1);
}
else if(set == _NET_WM_STATE_TOGGLE) {
lua_pushboolean(L, !c->urgent);
/*TODO v5: Add a context */
luaA_object_emit_signal(L, -2, "request::urgent", 1);
}
}
@ -436,6 +439,7 @@ ewmh_process_desktop(client_t *c, uint32_t desktop)
{
luaA_object_push(L, c);
lua_pushboolean(L, true);
/*TODO v5: Move the context argument to arg1 */
luaA_object_emit_signal(L, -2, "request::tag", 1);
/* Pop the client, arguments are already popped */
lua_pop(L, 1);
@ -444,6 +448,7 @@ ewmh_process_desktop(client_t *c, uint32_t desktop)
{
luaA_object_push(L, c);
luaA_object_push(L, globalconf.tags.tab[idx]);
/*TODO v5: Move the context argument to arg1 */
luaA_object_emit_signal(L, -2, "request::tag", 1);
/* Pop the client, arguments are already popped */
lua_pop(L, 1);

View File

@ -1697,6 +1697,7 @@ capi.client.connect_signal("property::screen", function(c)
end
if #new_tags == 0 then
--TODO v5: Add a context as first param
c:emit_signal("request::tag", nil, {reason="screen"})
elseif #new_tags < #tags then
c:tags(new_tags)
@ -1785,6 +1786,7 @@ capi.screen.connect_signal("removed", function(s)
end
-- Give other code yet another change to save clients
for _, c in pairs(capi.client.get(s)) do
--TODO v5: Add a context as first param
c:emit_signal("request::tag", nil, { reason = "screen-removed" })
end
-- Then force all clients left to go somewhere random

View File

@ -199,6 +199,7 @@ property_update_wm_hints(client_t *c, xcb_get_property_cookie_t cookie)
luaA_object_push(L, c);
/*TODO v5: Add a context */
lua_pushboolean(L, xcb_icccm_wm_hints_get_urgency(&wmh));
luaA_object_emit_signal(L, -2, "request::urgent", 1);