]> git.madduck.net Git - etc/awesome.git/blobdiff - Layouts.md

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Updated alsabar (markdown)
[etc/awesome.git] / Layouts.md
index b5aacc555acc8f0aab6f2594ca0da81ea217d45b..045c2c97b8c8884713c62e944cb17fb482bd3c88 100644 (file)
@@ -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
@@ -63,8 +132,8 @@ Usage example:
        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
@@ -150,7 +219,7 @@ Thus, use of `awful.client.focus.bydirection()` is suggested.
 Here's an example:
 
        globalkeys = awful.util.table.join(
-            ...
+        ...
            awful.key({ modkey }, "j",
                function()
                    awful.client.focus.bydirection("down")
@@ -174,50 +243,10 @@ 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.
+
 However, "useless gaps" (see below) have been added.
 
 Useless gaps
@@ -246,9 +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?
 ========================
@@ -257,15 +284,15 @@ They are located in ``lain/icons/layout``.
 
 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