Add a tile_grid_vertical layout that split vertically unlike the tile_grid
layout that split horizontally. Add tile_grid_horizontal too that is the same as tile_grid. You should use the tile_grid_horizontal, tile_grid is kept for backward compatibility
This commit is contained in:
parent
fb0ddc6b73
commit
cee16d6f7f
@ -386,7 +386,6 @@ conf_layout_section(void)
|
||||
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"))
|
||||
conf.layout_system = True;
|
||||
|
||||
|
||||
@ -40,8 +40,10 @@ const func_name_list_t layout_list[] =
|
||||
{"tile_left", tile_left },
|
||||
{"tile_top", tile_top },
|
||||
{"tile_bottom", tile_bottom },
|
||||
{"tile_grid", grid },
|
||||
{"grid", grid },
|
||||
{"tile_grid", grid_horizontal },
|
||||
{"tile_grid_horizontal", grid_horizontal },
|
||||
{"tile_grid_vertical", grid_vertical },
|
||||
{"grid", grid_horizontal },
|
||||
{"mirror_vertical", mirror_vertical },
|
||||
{"tile_mirror_vertical", mirror_vertical },
|
||||
{"mirror_horizontal", mirror_horizontal },
|
||||
|
||||
30
src/layout.c
30
src/layout.c
@ -270,7 +270,7 @@ uicb_set_layer(uicb_t cmd)
|
||||
/** Grid layout function
|
||||
*/
|
||||
void
|
||||
grid(int screen)
|
||||
grid(int screen, Bool horizontal)
|
||||
{
|
||||
Client *c;
|
||||
XRectangle sg = sgeo[screen];
|
||||
@ -288,6 +288,14 @@ grid(int screen)
|
||||
? rows - 1
|
||||
: rows;
|
||||
|
||||
if(!horizontal)
|
||||
{
|
||||
unsigned int tmp;
|
||||
tmp = cols;
|
||||
cols = rows;
|
||||
rows = tmp;
|
||||
}
|
||||
|
||||
for(i = 0, c = tiled_client(screen, clients); c; c = tiled_client(screen, c->next), ++i)
|
||||
{
|
||||
/* Set client property */
|
||||
@ -757,6 +765,26 @@ mirror_horizontal(int screen)
|
||||
return;
|
||||
}
|
||||
|
||||
/** Horizontal grid function
|
||||
*/
|
||||
void
|
||||
grid_horizontal(int screen)
|
||||
{
|
||||
grid(screen, True);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/** Vertical grid function
|
||||
*/
|
||||
void
|
||||
grid_vertical(int screen)
|
||||
{
|
||||
grid(screen, False);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/** Put the selected client to the master postion
|
||||
* \param cmd uicb_t type unused
|
||||
*/
|
||||
|
||||
@ -486,8 +486,10 @@ tag_new(int s, char *name)
|
||||
|
||||
++conf.ntag[s];
|
||||
|
||||
if((!name || strlen(name) == 0)){
|
||||
if(conf.tagnamecount){
|
||||
if((!name || strlen(name) == 0))
|
||||
{
|
||||
if(conf.tagnamecount)
|
||||
{
|
||||
displayedName = (char*) malloc( sizeof(char)*2 );
|
||||
sprintf(displayedName, "[%d]", conf.ntag[s]);
|
||||
}
|
||||
|
||||
@ -347,7 +347,7 @@ void layoutswitch(Bool b);
|
||||
void maxlayout(int screen);
|
||||
Client *tiled_client(int screen, Client *c);
|
||||
/* tile {{{ */
|
||||
void grid(int screen);
|
||||
void grid(int screen, Bool horizontal);
|
||||
void tile(int screen);
|
||||
void tile_left(int screen);
|
||||
void tile_top(int screen);
|
||||
@ -355,6 +355,8 @@ Client *tiled_client(int screen, Client *c);
|
||||
void mirror_vertical(int screen);
|
||||
void mirror_horizontal(int screen);
|
||||
void layer(int screen);
|
||||
void grid_vertical(int screen);
|
||||
void grid_horizontal(int screen);
|
||||
/* }}} */
|
||||
void uicb_togglemax(uicb_t);
|
||||
void uicb_togglefree(uicb_t);
|
||||
|
||||
15
wmfsrc.in
15
wmfsrc.in
@ -52,13 +52,14 @@
|
||||
keep_layout_geo = false
|
||||
|
||||
# Tiling layouts.
|
||||
[layout] type = "tile_right" symbol = "RIGHT" [/layout]
|
||||
[layout] type = "tile_left" symbol = "LEFT" [/layout]
|
||||
[layout] type = "tile_top" symbol = "TOP" [/layout]
|
||||
[layout] type = "tile_bottom" symbol = "BOTTOM" [/layout]
|
||||
[layout] type = "tile_grid" symbol = "GRID" [/layout]
|
||||
[layout] type = "mirror_vertical" symbol = "MIRROR_V" [/layout]
|
||||
[layout] type = "mirror_horizontal" symbol = "MIRROR_H" [/layout]
|
||||
[layout] type = "tile_right" symbol = "RIGHT" [/layout]
|
||||
[layout] type = "tile_left" symbol = "LEFT" [/layout]
|
||||
[layout] type = "tile_top" symbol = "TOP" [/layout]
|
||||
[layout] type = "tile_bottom" symbol = "BOTTOM" [/layout]
|
||||
[layout] type = "tile_grid" symbol = "GRID_H" [/layout]
|
||||
[layout] type = "tile_grid_vertical" symbol = "GRID_V" [/layout]
|
||||
[layout] type = "mirror_vertical" symbol = "MIRROR_V" [/layout]
|
||||
[layout] type = "mirror_horizontal" symbol = "MIRROR_H" [/layout]
|
||||
|
||||
# Other layouts.
|
||||
[layout] type = "max" symbol = "MAX" [/layout]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user