X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/0c3c9e43f01a7d6987528f5fbebd5e54861aab54..6870633a0a9a5c0481d35aaa2655a116c4cce997:/Layouts.md?ds=inline diff --git a/Layouts.md b/Layouts.md index 7f50efe..045c2c9 100644 --- a/Layouts.md +++ b/Layouts.md @@ -1,11 +1,12 @@ -Currently, there are **7** layouts. +Currently, there are **8** layouts. lain/layout . + |-- termfair + |-- centerfair |-- cascade |-- cascadetile |-- centerwork - |-- termfair |-- uselessfair |-- uselesspiral `-- uselesstile @@ -27,12 +28,80 @@ Or set them on specific tags like this: How do layouts work? ========================= +termfair +-------- + +I do a lot of work on terminals. The common tiling algorithms usually +maximize windows, so you'll end up with a terminal that has about 200 +columns or more. That's way too much. Have you ever read a manpage in a +terminal of this size? + +This layout restricts the size of each window. Each window will have the +same width but is variable in height. Furthermore, windows are +left-aligned. The basic workflow is as follows (the number above the +screen is the number of open windows, the number in a cell is the fixed +number of a client): + + (1) (2) (3) + +---+---+---+ +---+---+---+ +---+---+---+ + | | | | | | | | | | | | + | 1 | | | -> | 2 | 1 | | -> | 3 | 2 | 1 | -> + | | | | | | | | | | | | + +---+---+---+ +---+---+---+ +---+---+---+ + + (4) (5) (6) + +---+---+---+ +---+---+---+ +---+---+---+ + | 4 | | | | 5 | 4 | | | 6 | 5 | 4 | + +---+---+---+ -> +---+---+---+ -> +---+---+---+ + | 3 | 2 | 1 | | 3 | 2 | 1 | | 3 | 2 | 1 | + +---+---+---+ +---+---+---+ +---+---+---+ + +The first client will be located in the left column. When opening +another window, this new window will be placed in the left column while +moving the first window into the middle column. Once a row is full, +another row above it will be created. + +Default number of columns and rows are respectively taken from `nmaster` +and `ncol` values in `awful.tag`, but you can set your own. + +For example, this sets `termfair` to 3 columns and at least 1 row: + + lain.layout.termfair.nmaster = 3 + lain.layout.termfair.ncol = 1 + +centerfair +---------- + +Similar to `termfair`, but with fixed number of vertical columns. Cols are centerded until there are `nmaster` columns, then windows are stacked as slaves, with possibly `ncol` clients per column at most. + + (1) (2) (3) + +---+---+---+ +-+---+---+-+ +---+---+---+ + | | | | | | | | | | | | | + | | 1 | | -> | | 1 | 2 | | -> | 1 | 2 | 3 | -> + | | | | | | | | | | | | | + +---+---+---+ +-+---+---+-+ +---+---+---+ + + (4) (5) + +---+---+---+ +---+---+---+ + | | | 3 | | | 2 | 4 | + + 1 + 2 +---+ -> + 1 +---+---+ + | | | 4 | | | 3 | 5 | + +---+---+---+ +---+---+---+ + +Like `termfair`, default number of columns and rows are respectively taken from `nmaster` +and `ncol` values in `awful.tag`, but you can set your own. + +For example: + + lain.layout.centerfair.nmaster = 3 + lain.layout.centerfair.ncol = 1 + cascade ------- Cascade all windows of a tag. -You can control the offsets by setting those two variables: +You can control the offsets by setting these two variables: lain.layout.cascade.cascade_offset_x = 64 lain.layout.cascade.cascade_offset_y = 16 @@ -174,47 +243,6 @@ Here's an example: ... ) -termfair --------- - -I do a lot of work on terminals. The common tiling algorithms usually -maximize windows, so you'll end up with a terminal that has about 200 -columns or more. That's way too much. Have you ever read a manpage in a -terminal of this size? - -This layout restricts the size of each window. Each window will have the -same width but is variable in height. Furthermore, windows are -left-aligned. The basic workflow is as follows (the number above the -screen is the number of open windows, the number in a cell is the fixed -number of a client): - - (1) (2) (3) - +---+---+---+ +---+---+---+ +---+---+---+ - | | | | | | | | | | | | - | 1 | | | -> | 2 | 1 | | -> | 3 | 2 | 1 | -> - | | | | | | | | | | | | - +---+---+---+ +---+---+---+ +---+---+---+ - - (4) (5) (6) - +---+---+---+ +---+---+---+ +---+---+---+ - | 4 | | | | 5 | 4 | | | 6 | 5 | 4 | - +---+---+---+ -> +---+---+---+ -> +---+---+---+ - | 3 | 2 | 1 | | 3 | 2 | 1 | | 3 | 2 | 1 | - +---+---+---+ +---+---+---+ +---+---+---+ - -The first client will be located in the left column. When opening -another window, this new window will be placed in the left column while -moving the first window into the middle column. Once a row is full, -another row above it will be created. - -Default number of columns and rows are respectively taken from `nmaster` -and `ncol` values in `awful.tag`, but you can set your own. - -For example, this sets `termfair` to 3 columns and at least 1 row: - - lain.layout.termfair.nmaster = 3 - lain.layout.termfair.ncol = 1 - uselessfair, uselesspiral & uselesstile --------------------------------------- These are duplicates of the stock `fair`, `spiral` and `tile` layouts. @@ -247,7 +275,7 @@ you have to add an item called `useless_gap_width` in your `theme.lua`. If it doesn't exist, the width will default to 0. Example: - theme.useless_gap_width = "5" + theme.useless_gap_width = 10 What about layout icons? ======================== @@ -265,4 +293,6 @@ To use them, add lines to your ``theme.lua`` like this: Credits goes to [Nicolas Estibals](https://github.com/nestibal) for creating layout icons for default theme. -You can use them as a template for your custom versions. \ No newline at end of file +You can use them as a template for your custom versions. + +[<- home](https://github.com/copycat-killer/lain/wiki) \ No newline at end of file