/** Return window struts (reserved space at the edge of the screen). * \param L The Lua VM state. * \return The number of elements pushed on stack. */ static int luaA_window_struts(lua_State *L) { window_t *window = luaA_checkudata(L, 1, &window_class); if(lua_gettop(L) == 2) { luaA_tostrut(L, 2, &window->strut); ewmh_update_strut(window->window, &window->strut); luaA_object_emit_signal(L, 1, "property::struts", 0); /* We don't know the correct screen, update them all */ foreach(s, globalconf.screens) screen_update_workarea(*s); } return luaA_pushstrut(L, window->strut); }
/** Return window struts (reserved space at the edge of the screen). * \param L The Lua VM state. * \return The number of elements pushed on stack. */ static int luaA_window_struts(lua_State *L) { window_t *window = luaA_checkudata(L, 1, &window_class); if(lua_gettop(L) == 2) { luaA_tostrut(L, 2, &window->strut); ewmh_update_strut(window->window, &window->strut); luaA_object_emit_signal(L, 1, "property::struts", 0); /* FIXME: Only emit if the workarea actually changed * (= window is visible, only on the right screen)? */ foreach(s, globalconf.screens) screen_emit_signal(L, s, "property::workarea", 0); } return luaA_pushstrut(L, window->strut); }