diff options
Diffstat (limited to '')
-rw-r--r-- | .config/awesome/lain/util/markup.lua | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/.config/awesome/lain/util/markup.lua b/.config/awesome/lain/util/markup.lua new file mode 100644 index 0000000..d367bca --- /dev/null +++ b/.config/awesome/lain/util/markup.lua @@ -0,0 +1,69 @@ + +--[[ + + Licensed under MIT License + * (c) 2013, Luke Bonham + * (c) 2009, Uli Schlachter + * (c) 2009, Majic + +--]] + +local beautiful = require("beautiful") +local tostring = tostring +local setmetatable = setmetatable + +-- Lain markup util submodule +-- lain.util.markup +local markup = {} + +local fg = {} +local bg = {} + +-- Convenience tags. +function markup.bold(text) return '<b>' .. tostring(text) .. '</b>' end +function markup.italic(text) return '<i>' .. tostring(text) .. '</i>' end +function markup.strike(text) return '<s>' .. tostring(text) .. '</s>' end +function markup.underline(text) return '<u>' .. tostring(text) .. '</u>' end +function markup.monospace(text) return '<tt>' .. tostring(text) .. '</tt>' end +function markup.big(text) return '<big>' .. tostring(text) .. '</big>' end +function markup.small(text) return '<small>' .. tostring(text) .. '</small>' end + +-- Set the font. +function markup.font(font, text) + return '<span font="' .. tostring(font) .. '">' .. tostring(text) ..'</span>' +end + +-- Set the foreground. +function fg.color(color, text) + return '<span foreground="' .. tostring(color) .. '">' .. tostring(text) .. '</span>' +end + +-- Set the background. +function bg.color(color, text) + return '<span background="' .. tostring(color) .. '">' .. tostring(text) .. '</span>' +end + +-- Context: focus +function fg.focus(text) return fg.color(beautiful.fg_focus, text) end +function bg.focus(text) return bg.color(beautiful.bg_focus, text) end +function markup.focus(text) return bg.focus(fg.focus(text)) end + +-- Context: normal +function fg.normal(text) return fg.color(beautiful.fg_normal, text) end +function bg.normal(text) return bg.color(beautiful.bg_normal, text) end +function markup.normal(text) return bg.normal(fg.normal(text)) end + +-- Context: urgent +function fg.urgent(text) return fg.color(beautiful.fg_urgent, text) end +function bg.urgent(text) return bg.color(beautiful.bg_urgent, text) end +function markup.urgent(text) return bg.urgent(fg.urgent(text)) end + +markup.fg = fg +markup.bg = bg + +-- link markup.{fg,bg}(...) calls to markup.{fg,bg}.color(...) +setmetatable(markup.fg, { __call = function(_, ...) return markup.fg.color(...) end }) +setmetatable(markup.bg, { __call = function(_, ...) return markup.bg.color(...) end }) + +-- link markup(...) calls to markup.fg.color(...) +return setmetatable(markup, { __call = function(_, ...) return markup.fg.color(...) end }) |