summaryrefslogtreecommitdiff
path: root/lain/util/separators.lua
blob: 6e5ef96f9be785b53e470090fc438b1f0cff5f2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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