From eac077ace2153bc949a304d91fa1e899108a4b30 Mon Sep 17 00:00:00 2001 From: luke bonham Date: Fri, 30 Jan 2015 14:26:37 +0100 Subject: [PATCH 1/1] new submodule: lain.util.separators --- util/separators.lua | 102 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 util/separators.lua diff --git a/util/separators.lua b/util/separators.lua new file mode 100644 index 0000000..0eb0658 --- /dev/null +++ b/util/separators.lua @@ -0,0 +1,102 @@ + +--[[ + + Licensed under GNU General Public License v2 + * (c) 2015, luke bonham + * (c) 2015, plotnikovanton + +--]] + +local wibox = require("wibox") +local beautiful = require("beautiful") +local gears = require("gears") + +-- Lain cairo separators util submodule +-- lain.util.separators +local separators = {} + +local height = beautiful.awful_widget_height or 0 +local width = beautiful.separators_width or 9 + +-- [[ Arrow + +-- Right +function separators.arrow_right(col1, col2) + local widget = wibox.widget.base.make_widget() + + widget.fit = function(m, w, h) return width, height end + + widget.draw = function(mycross, wibox, cr, width, height) + if col2 ~= "alpha" then + cr:set_source_rgb(gears.color.parse_color(col2)) + cr:new_path() + cr:move_to(0, 0) + cr:line_to(width, height/2) + cr:line_to(width, 0) + cr:close_path() + cr:fill() + + cr:new_path() + cr:move_to(0, height) + cr:line_to(width, height/2) + cr:line_to(width, height) + cr:close_path() + cr:fill() + end + + if col1 ~= "alpha" then + cr:set_source_rgb(gears.color.parse_color(col1)) + cr:new_path() + cr:move_to(0, 0) + cr:line_to(width, height/2) + cr:line_to(0, height) + cr:close_path() + cr:fill() + end + end + + return widget +end + +-- Left +function separators.arrow_left(col1, col2) + local widget = wibox.widget.base.make_widget() + + widget.fit = function(m, w, h) return width, height end + + widget.draw = function(mycross, wibox, cr, width, height) + if col1 ~= "alpha" then + cr:set_source_rgb(gears.color.parse_color(col1)) + cr:new_path() + cr:move_to(width, 0) + cr:line_to(0, height/2) + cr:line_to(0, 0) + cr:close_path() + cr:fill() + + cr:new_path() + cr:move_to(width, height) + cr:line_to(0, height/2) + cr:line_to(0, height) + cr:close_path() + cr:fill() + end + + if col2 ~= "alpha" then + cr:new_path() + cr:move_to(width, 0) + cr:line_to(0, height/2) + cr:line_to(width, height) + cr:close_path() + + cr:set_source_rgb(gears.color.parse_color(col2)) + cr:fill() + end + end + + return widget +end + +-- ]] + +return separators -- 2.39.5