+markup
+------
+
+Made markup easier!
+
+First, require it like this:
+
+ local markup = lain.util.markup
+
+then you can call its functions:
+
+ +-- markup
+ |
+ |`-- bold() Set bold.
+ |`-- italic() Set italicized text.
+ |`-- strike() Set strikethrough text.
+ |`-- underline() Set underlined text.
+ |`-- monospace() Set monospaced text.
+ |`-- big() Set bigger text.
+ |`-- small() Set smaller text.
+ |`-- font() Set the font of the text.
+ |
+ |`--+ bg
+ | |
+ | |`-- color() Set background color.
+ | |`-- focus() Set focus background color.
+ | |`-- normal() Set normal background color.
+ | `-- urgent() Set urgent background color.
+ |
+ |`--+ fg
+ | |
+ | |`-- color() Set foreground color.
+ | |`-- focus() Set focus foreground color.
+ | |`-- normal() Set normal foreground color.
+ | `-- urgent() Set urgent foreground color.
+ |
+ |`-- focus() Set both foreground and background focus colors.
+ |`-- normal() Set both foreground and background normal colors.
+ `-- urgent() Set both foreground and background urgent colors.
+
+they all take one argument, which is the text to markup, except `fg.color` and `bg.color`:
+
+ markup.fg.color(text, color)
+ markup.bg.color(text, color)
+
+dynamic tagging
+---------------
+
+That is:
+
+- add a new tag;
+- rename current tag;
+- move current tag;
+- remove current tag.
+
+If you delete a tag, any rule set on it shall be broken, so be careful.
+
+Use it with key bindings like these:
+
+ awful.key({ modkey, "Shift" }, "n", function () lain.util.add_tag(mypromptbox) end),
+ awful.key({ modkey, "Shift" }, "r", function () lain.util.rename_tag(mypromptbox) end),
+ awful.key({ modkey, "Shift" }, "r", function () lain.util.move_tag(1) end), -- move to next tag
+ awful.key({ modkey, "Shift" }, "r", function () lain.util.move_tag(-1) end), -- move to previous tag
+ awful.key({ modkey, "Shift" }, "d", function () lain.util.remove_tag() end),
+
+**Note** that these function won't work properly with [Copland theme](https://github.com/copycat-killer/awesome-copycats) or any other configuration that already uses a dynamic tagging module like [Eminent](https://github.com/copycat-killer/awesome-copycats/tree/master/eminent).
+
+useless\_gaps\_resize
+---------------------
+
+Changes `beautiful.useless_gaps_width` on the fly.
+
+The function takes an integer argument, being the amount of pixel to add/remove to gaps.
+
+You could use it with these keybindings:
+
+ -- On the fly useless gaps change
+ awful.key({ altkey, "Control" }, "+", function () lain.util.useless_gaps_resize(1) end),
+ awful.key({ altkey, "Control" }, "-", function () lain.util.useless_gaps_resize(-1) end),
+
+where `altkey=Mod1`, or you could use it like this:
+
+ mywidget:buttons(awful.util.table.join (
+ awful.button({}, 4, function() lain.util.useless_gaps_resize(-1) end),
+ awful.button({}, 5, function() lain.util.useless_gaps_resize(1) end)
+ end)
+ ))
+
+so when hovering the mouse over `mywidget`, you can adjust useless gaps size by scrolling with the mouse wheel.
+
+tag\_view\_nonempty
+-------------------
+
+This function lets you jump to the next/previous non-empty tag.
+It takes two arguments:
+
+* `direction`: `1` for next non-empty tag, `-1` for previous.
+* `sc`: Screen which the taglist is in. Default is `mouse.screen` or `1`. This
+ argument is optional.
+
+You can use it with key bindings like these:
+
+ -- Non-empty tag browsing
+ awful.key({ altkey }, "Left", function () lain.util.tag_view_nonempty(-1) end),
+ awful.key({ altkey }, "Right", function () lain.util.tag_view_nonempty(1) end),
+
+where `altkey = "Mod1"`.