-Currently, there are **7** layouts.
+Currently, there are **8** layouts.
lain/layout
.
+ |-- termfair
+ |-- centerfair
|-- cascade
|-- cascadetile
|-- centerwork
- |-- termfair
|-- uselessfair
|-- uselesspiral
`-- uselesstile
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
-------
lain.layout.cascadetile.cascade_offset_x = 2
lain.layout.cascadetile.cascade_offset_y = 32
lain.layout.cascadetile.extra_padding = 5
- lain.layout.cascadetile.nmaster = 5
- lain.layout.ncol = 1
+ lain.layout.cascadetile.nmaster = 5
+ lain.layout.ncol = 1
`extra_padding` reduces the size of the master window if "overlapping
slave column" is activated. This allows you to see if there are any
Here's an example:
globalkeys = awful.util.table.join(
- ...
+ ...
awful.key({ modkey }, "j",
function()
awful.client.focus.bydirection("down")
...
)
-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.
+
However, "useless gaps" (see below) have been added.
Useless gaps
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?
========================
To use them, add lines to your ``theme.lua`` like this:
- ...
theme.lain_icons = os.getenv("HOME") .. "/.config/awesome/lain/icons/layout/default/"
theme.layout_termfair = theme.lain_icons .. "termfairw.png"
theme.layout_cascade = theme.lain_icons .. "cascadew.png"
theme.layout_cascadetile = theme.lain_icons .. "cascadetilew.png"
theme.layout_centerwork = theme.lain_icons .. "centerworkw.png"
- ...
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