Conf/Layout/Client: Add option keep_layout_geo (requested by Armael)

This commit is contained in:
Martin Duquesnoy 2010-06-10 15:41:53 +02:00
parent f683022678
commit 6e05fd498d
4 changed files with 7 additions and 1 deletions

View File

@ -820,7 +820,8 @@ client_moveresize(Client *c, XRectangle geo, Bool r)
c->geo = c->ogeo = geo;
if(c->flags & FreeFlag || tags[c->screen][c->tag].layout.func == freelayout)
if(c->flags & FreeFlag || tags[c->screen][c->tag].layout.func == freelayout
|| conf.keep_layout_geo)
c->free_geo = geo;
if((c->screen = screen_get_with_geo(c->geo.x, c->geo.y)) != os

View File

@ -384,6 +384,7 @@ conf_layout_section(void)
conf.border.layout = fetch_opt_first(layouts, "false", "border").bool;
conf.colors.layout_fg = fetch_opt_first(layouts, "#ffffff", "fg").str;
conf.colors.layout_bg = getcolor((fetch_opt_first(layouts, "#000000", "bg").str));
conf.keep_layout_geo = fetch_opt_first(layouts, "false", "keep_layout_geo").bool;
if((tmp = fetch_opt_first(layouts, "menu", "system").str) && !strcmp(tmp, "menu"))

View File

@ -437,6 +437,7 @@ typedef struct
Bool client_round;
Bool layout_system; /* Switch: False, Menu: True. */
Bool layout_placement; /* Right (normal): False, Left: True. */
Bool keep_layout_geo;
/* Number of... */
int nkeybind;
int nlayout;

View File

@ -48,6 +48,9 @@
# Value left or right.
placement = "right"
# Keep layout geo for free layout
keep_layout_geo = false
# Tiling layouts.
[layout] type = "tile_right" symbol = "RIGHT" [/layout]
[layout] type = "tile_left" symbol = "LEFT" [/layout]