2015-01-30 14:26:37 +01:00
|
|
|
--[[
|
2017-09-04 12:43:00 +02:00
|
|
|
|
|
|
|
Licensed under GNU General Public License v2
|
2017-09-11 06:51:52 +02:00
|
|
|
* (c) 2015, Luca CPZ
|
2017-09-04 12:43:00 +02:00
|
|
|
* (c) 2015, plotnikovanton
|
|
|
|
|
2015-01-30 14:26:37 +01:00
|
|
|
--]]
|
|
|
|
|
2018-11-28 20:43:04 +01:00
|
|
|
local wibox = require("wibox")
|
|
|
|
local gears = require("gears")
|
2015-01-30 14:26:37 +01:00
|
|
|
|
2015-02-01 11:39:26 +01:00
|
|
|
-- Lain Cairo separators util submodule
|
2015-01-30 14:26:37 +01:00
|
|
|
-- lain.util.separators
|
2017-01-22 02:13:02 +01:00
|
|
|
local separators = { height = 0, width = 9 }
|
2015-01-30 14:26:37 +01:00
|
|
|
|
|
|
|
-- [[ Arrow
|
|
|
|
|
|
|
|
-- Right
|
|
|
|
function separators.arrow_right(col1, col2)
|
|
|
|
local widget = wibox.widget.base.make_widget()
|
2018-11-05 01:57:54 +01:00
|
|
|
widget.col1 = col1
|
|
|
|
widget.col2 = col2
|
2015-01-30 14:26:37 +01:00
|
|
|
|
2020-11-29 22:48:32 +01:00
|
|
|
widget.fit = function(_, _, _)
|
2017-01-22 02:13:02 +01:00
|
|
|
return separators.width, separators.height
|
|
|
|
end
|
2015-01-30 14:26:37 +01:00
|
|
|
|
2020-11-29 22:48:32 +01:00
|
|
|
widget.update = function(_, _)
|
2018-11-05 01:57:54 +01:00
|
|
|
widget.col1 = col1
|
|
|
|
widget.col2 = col2
|
|
|
|
widget:emit_signal("widget::redraw_needed")
|
|
|
|
end
|
|
|
|
|
2020-11-29 22:48:32 +01:00
|
|
|
widget.draw = function(_, _, cr, width, height)
|
2018-11-05 01:57:54 +01:00
|
|
|
if widget.col2 ~= "alpha" then
|
|
|
|
cr:set_source_rgb(gears.color.parse_color(widget.col2))
|
2015-01-30 14:26:37 +01:00
|
|
|
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
|
|
|
|
|
2018-11-05 01:57:54 +01:00
|
|
|
if widget.col1 ~= "alpha" then
|
|
|
|
cr:set_source_rgb(gears.color.parse_color(widget.col1))
|
2015-01-30 14:26:37 +01:00
|
|
|
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()
|
2018-11-05 01:57:54 +01:00
|
|
|
widget.col1 = col1
|
|
|
|
widget.col2 = col2
|
2015-01-30 14:26:37 +01:00
|
|
|
|
2020-11-29 22:48:32 +01:00
|
|
|
widget.fit = function(_, _, _)
|
2017-01-22 02:13:02 +01:00
|
|
|
return separators.width, separators.height
|
|
|
|
end
|
2015-01-30 14:26:37 +01:00
|
|
|
|
2018-11-05 01:57:54 +01:00
|
|
|
widget.update = function(col1, col2)
|
|
|
|
widget.col1 = col1
|
|
|
|
widget.col2 = col2
|
|
|
|
widget:emit_signal("widget::redraw_needed")
|
|
|
|
end
|
|
|
|
|
2020-11-29 22:48:32 +01:00
|
|
|
widget.draw = function(_, _, cr, width, height)
|
2018-11-05 01:57:54 +01:00
|
|
|
if widget.col1 ~= "alpha" then
|
|
|
|
cr:set_source_rgb(gears.color.parse_color(widget.col1))
|
2015-01-30 14:26:37 +01:00
|
|
|
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
|
|
|
|
|
2018-11-05 01:57:54 +01:00
|
|
|
if widget.col2 ~= "alpha" then
|
2015-01-30 14:26:37 +01:00
|
|
|
cr:new_path()
|
|
|
|
cr:move_to(width, 0)
|
|
|
|
cr:line_to(0, height/2)
|
|
|
|
cr:line_to(width, height)
|
|
|
|
cr:close_path()
|
|
|
|
|
2018-11-05 01:57:54 +01:00
|
|
|
cr:set_source_rgb(gears.color.parse_color(widget.col2))
|
2015-01-30 14:26:37 +01:00
|
|
|
cr:fill()
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
return widget
|
|
|
|
end
|
|
|
|
|
|
|
|
-- ]]
|
|
|
|
|
|
|
|
return separators
|