client: merge screen_{set,get} into index
Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
49466fa385
commit
014214794a
43
client.c
43
client.c
|
@ -969,36 +969,6 @@ client_setborder(client_t *c, int width)
|
|||
globalconf.screens[c->screen].need_arrange = true;
|
||||
}
|
||||
|
||||
/** Move the client to another screen.
|
||||
* \param L The Lua VM state.
|
||||
* \luastack
|
||||
* \lvalue A client.
|
||||
* \lparam A screen number.
|
||||
*/
|
||||
static int
|
||||
luaA_client_screen_set(lua_State *L)
|
||||
{
|
||||
client_t **c = luaA_checkudata(L, 1, "client");
|
||||
int screen = luaL_checknumber(L, 2) - 1;
|
||||
luaA_checkscreen(screen);
|
||||
screen_client_moveto(*c, screen, true);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Get the screen number the client is onto.
|
||||
* \param L The Lua VM state.
|
||||
* \luastack
|
||||
* \lvalue A client.
|
||||
* \lreturn A screen number.
|
||||
*/
|
||||
static int
|
||||
luaA_client_screen_get(lua_State *L)
|
||||
{
|
||||
client_t **c = luaA_checkudata(L, 1, "client");
|
||||
lua_pushnumber(L, 1 + (*c)->screen);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/** Tag a client with a specified tag.
|
||||
* \param L The Lua VM state.
|
||||
* \luastack
|
||||
|
@ -1299,6 +1269,7 @@ luaA_client_newindex(lua_State *L)
|
|||
const char *buf = luaL_checklstring(L, 2, &len);
|
||||
bool b;
|
||||
double d;
|
||||
int i;
|
||||
xcolor_t color;
|
||||
|
||||
switch(a_tokenize(buf, len))
|
||||
|
@ -1309,6 +1280,11 @@ luaA_client_newindex(lua_State *L)
|
|||
a_iso2utf8(&(*c)->name, buf, len);
|
||||
widget_invalidate_cache((*c)->screen, WIDGET_CACHE_CLIENTS);
|
||||
break;
|
||||
case A_TK_SCREEN:
|
||||
i = luaL_checknumber(L, 3) - 1;
|
||||
luaA_checkscreen(i);
|
||||
screen_client_moveto(*c, i, true);
|
||||
break;
|
||||
case A_TK_HIDE:
|
||||
b = luaA_checkboolean(L, 3);
|
||||
if(b != (*c)->ishidden)
|
||||
|
@ -1375,6 +1351,9 @@ luaA_client_index(lua_State *L)
|
|||
case A_TK_NAME:
|
||||
lua_pushstring(L, (*c)->name);
|
||||
break;
|
||||
case A_TK_SCREEN:
|
||||
lua_pushnumber(L, 1 + (*c)->screen);
|
||||
break;
|
||||
case A_TK_HIDE:
|
||||
lua_pushboolean(L, (*c)->ishidden);
|
||||
break;
|
||||
|
@ -1411,15 +1390,13 @@ const struct luaL_reg awesome_client_meta[] =
|
|||
{ "floating_placement_set", luaA_client_floating_placement_set },
|
||||
{ "titlebar_set", luaA_client_titlebar_set },
|
||||
{ "titlebar_get", luaA_client_titlebar_get },
|
||||
{ "screen_set", luaA_client_screen_set },
|
||||
{ "screen_get", luaA_client_screen_get },
|
||||
{ "tag", luaA_client_tag },
|
||||
{ "istagged", luaA_client_istagged },
|
||||
{ "coords_get", luaA_client_coords_get },
|
||||
{ "coords_set", luaA_client_coords_set },
|
||||
{ "kill", luaA_client_kill },
|
||||
{ "swap", luaA_client_swap },
|
||||
{ "focus_set", luaA_client_focus_set },
|
||||
{ "focus_set", luaA_client_focus_set },
|
||||
{ "raise", luaA_client_raise },
|
||||
{ "redraw", luaA_client_redraw },
|
||||
{ "class_get", luaA_client_class_get },
|
||||
|
|
|
@ -38,6 +38,7 @@ plot_properties_set
|
|||
position
|
||||
resize
|
||||
right
|
||||
screen
|
||||
selected
|
||||
shadow
|
||||
shadow_offset
|
||||
|
|
|
@ -81,7 +81,7 @@ function P.client.next(i, c)
|
|||
local sel = c or client.focus_get()
|
||||
if sel then
|
||||
-- Get all visible clients
|
||||
local cls = client.visible_get(sel:screen_get())
|
||||
local cls = client.visible_get(sel.screen)
|
||||
-- Loop upon each client
|
||||
for idx, c in ipairs(cls) do
|
||||
if c == sel then
|
||||
|
@ -143,7 +143,7 @@ function P.screen.focus(i)
|
|||
local sel = client.focus_get()
|
||||
local s
|
||||
if sel then
|
||||
s = sel:screen_get()
|
||||
s = sel.screen
|
||||
else
|
||||
s = mouse.screen_get()
|
||||
end
|
||||
|
@ -283,7 +283,7 @@ end
|
|||
-- @para c Optional client to move, otherwise the focused one is used.
|
||||
function P.client.movetotag(target, c)
|
||||
local sel = c or client.focus_get();
|
||||
local tags = tag.get(sel:screen_get())
|
||||
local tags = tag.get(sel.screen)
|
||||
for k, t in pairs(tags) do
|
||||
sel:tag(t, false)
|
||||
end
|
||||
|
@ -299,7 +299,7 @@ function P.client.toggletag(target, c)
|
|||
if sel then
|
||||
-- Count how many tags has the client
|
||||
-- an only toggle tag if the client has at least one tag other than target
|
||||
for k, v in pairs(tag.get(sel:screen_get())) do
|
||||
for k, v in pairs(tag.get(sel.screen)) do
|
||||
if target ~= v and sel:istagged(v) then
|
||||
toggle = true
|
||||
break
|
||||
|
@ -328,10 +328,10 @@ function P.client.movetoscreen(c, s)
|
|||
if sel then
|
||||
local sc = screen.count()
|
||||
if not s then
|
||||
s = sel:screen_get() + 1
|
||||
s = sel.screen + 1
|
||||
end
|
||||
if s > sc then s = 1 elseif s < 1 then s = sc end
|
||||
sel:screen_set(s)
|
||||
sel.screen = s
|
||||
mouse.coords_set(screen.coords_get(s))
|
||||
sel:focus_set()
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue