client: disallow client border change when fullscreen

Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
Julien Danjou 2009-08-20 10:37:21 +02:00
parent 6dc68905dc
commit 90bca51390
1 changed files with 9 additions and 5 deletions

View File

@ -936,13 +936,11 @@ client_set_fullscreen(lua_State *L, int cidx, bool s)
{ {
area_t geometry; area_t geometry;
/* Make sure the current geometry is stored without titlebar. */
if(s)
titlebar_ban(c->titlebar);
/* become fullscreen! */ /* become fullscreen! */
if((c->fullscreen = s)) if(s)
{ {
/* Make sure the current geometry is stored without titlebar. */
titlebar_ban(c->titlebar);
/* remove any max state */ /* remove any max state */
client_set_maximized_horizontal(L, cidx, false); client_set_maximized_horizontal(L, cidx, false);
client_set_maximized_vertical(L, cidx, false); client_set_maximized_vertical(L, cidx, false);
@ -955,10 +953,12 @@ client_set_fullscreen(lua_State *L, int cidx, bool s)
c->geometries.fullscreen = c->geometry; c->geometries.fullscreen = c->geometry;
c->border_width_fs = c->border_width; c->border_width_fs = c->border_width;
client_set_border_width(L, cidx, 0); client_set_border_width(L, cidx, 0);
c->fullscreen = true;
} }
else else
{ {
geometry = c->geometries.fullscreen; geometry = c->geometries.fullscreen;
c->fullscreen = false;
client_set_border_width(L, cidx, c->border_width_fs); client_set_border_width(L, cidx, c->border_width_fs);
} }
client_resize(c, geometry, false); client_resize(c, geometry, false);
@ -1344,6 +1344,10 @@ client_set_border_width(lua_State *L, int cidx, int width)
if(width == c->border_width || width < 0) if(width == c->border_width || width < 0)
return; return;
/* disallow change of border width if the client is fullscreen */
if(c->fullscreen)
return;
/* Update geometry with the new border. */ /* Update geometry with the new border. */
c->geometry.width -= 2 * c->border_width; c->geometry.width -= 2 * c->border_width;
c->geometry.height -= 2 * c->border_width; c->geometry.height -= 2 * c->border_width;