quality: Fix more luacheck warnings
And remove unmaintained and broken files
This commit is contained in:
parent
2d0a957506
commit
f3124b761d
|
@ -1,7 +1,7 @@
|
||||||
local type = type
|
local type = type
|
||||||
local capi = {timer = timer}
|
|
||||||
local beautiful = require("beautiful")
|
local beautiful = require("beautiful")
|
||||||
local theme = require("radical.theme")
|
local theme = require("radical.theme")
|
||||||
|
local timer = require("gears.timer")
|
||||||
local object = require("radical.object")
|
local object = require("radical.object")
|
||||||
|
|
||||||
local module = {
|
local module = {
|
||||||
|
@ -98,7 +98,7 @@ end
|
||||||
-- end
|
-- end
|
||||||
|
|
||||||
local function new_item(data,args)
|
local function new_item(data,args)
|
||||||
local args = args or {}
|
args = args or {}
|
||||||
local item,private_data = object({
|
local item,private_data = object({
|
||||||
private_data = {
|
private_data = {
|
||||||
text = args.text or "" ,
|
text = args.text or "" ,
|
||||||
|
@ -203,16 +203,15 @@ local function new_item(data,args)
|
||||||
text_w:set_markup(text)
|
text_w:set_markup(text)
|
||||||
end
|
end
|
||||||
|
|
||||||
if data.auto_resize then
|
--TODO find new largest is item is smaller
|
||||||
local fit_w,fit_h = text_w:get_preferred_size()
|
-- if data.auto_resize then
|
||||||
local is_largest = item == data._internal.largest_item_h
|
-- local fit_w,fit_h = text_w:get_preferred_size()
|
||||||
|
-- local is_largest = item == data._internal.largest_item_h
|
||||||
--TODO find new largest is item is smaller
|
|
||||||
-- if not data._internal.largest_item_h_v or data._internal.largest_item_h_v < fit_h then
|
-- if not data._internal.largest_item_h_v or data._internal.largest_item_h_v < fit_h then
|
||||||
-- data._internal.largest_item_h =item
|
-- data._internal.largest_item_h =item
|
||||||
-- data._internal.largest_item_h_v = fit_h
|
-- data._internal.largest_item_h_v = fit_h
|
||||||
-- end
|
-- end
|
||||||
end
|
-- end
|
||||||
|
|
||||||
item._private_data.text = text
|
item._private_data.text = text
|
||||||
end
|
end
|
||||||
|
@ -248,8 +247,8 @@ local function new_item(data,args)
|
||||||
main_timer.timeout = 1.5
|
main_timer.timeout = 1.5
|
||||||
main_timer:connect_signal("timeout",function()
|
main_timer:connect_signal("timeout",function()
|
||||||
item._internal._is_long_hover = true
|
item._internal._is_long_hover = true
|
||||||
item:emit_signal("long::hover",item,mod,geo)
|
item:emit_signal("long::hover",item,{},geo)
|
||||||
data:emit_signal("long::hover",item,mod,geo)
|
data:emit_signal("long::hover",item,{},geo) --TODO mouse::enter should have modifiers
|
||||||
main_timer:stop()
|
main_timer:stop()
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,7 +3,6 @@ local beautiful = require( "beautiful" )
|
||||||
local color = require( "gears.color" )
|
local color = require( "gears.color" )
|
||||||
local wibox = require( "wibox" )
|
local wibox = require( "wibox" )
|
||||||
local checkbox = require( "radical.widgets.checkbox" )
|
local checkbox = require( "radical.widgets.checkbox" )
|
||||||
local horizontal = require( "radical.item.layout.horizontal" )
|
|
||||||
local util = require( "awful.util" )
|
local util = require( "awful.util" )
|
||||||
local margins2 = require( "radical.margins" )
|
local margins2 = require( "radical.margins" )
|
||||||
local common = require( "radical.item.common" )
|
local common = require( "radical.item.common" )
|
||||||
|
@ -29,7 +28,7 @@ local function icon_fit(data,...)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function icon_draw(self, context, cr, width, height)
|
local function icon_draw(self, context, cr, width, height)
|
||||||
local w,h = wibox.widget.imagebox.fit(self,context,width,height)
|
local w = wibox.widget.imagebox.fit(self,context,width,height)
|
||||||
cr:save()
|
cr:save()
|
||||||
cr:translate((width-w)/2,0)
|
cr:translate((width-w)/2,0)
|
||||||
wibox.widget.imagebox.draw(self, context, cr, width, height)
|
wibox.widget.imagebox.draw(self, context, cr, width, height)
|
||||||
|
@ -37,8 +36,10 @@ local function icon_draw(self, context, cr, width, height)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function create_item(item,data,args)
|
local function create_item(item,data,args)
|
||||||
|
local pref, subArrow, ck = nil, nil, nil
|
||||||
|
|
||||||
if data.fkeys_prefix == true then
|
if data.fkeys_prefix == true then
|
||||||
local pref = wibox.widget.textbox()
|
pref = wibox.widget.textbox()
|
||||||
|
|
||||||
function pref:draw(context, cr, width, height)
|
function pref:draw(context, cr, width, height)
|
||||||
cr:set_source(color(beautiful.fg_normal))
|
cr:set_source(color(beautiful.fg_normal))
|
||||||
|
@ -54,7 +55,7 @@ local function create_item(item,data,args)
|
||||||
local has_children = item._private_data.sub_menu_f or item._private_data.sub_menu_m
|
local has_children = item._private_data.sub_menu_f or item._private_data.sub_menu_m
|
||||||
|
|
||||||
if has_children then
|
if has_children then
|
||||||
local subArrow = wibox.widget.imagebox() --TODO, make global
|
subArrow = wibox.widget.imagebox() --TODO, make global
|
||||||
|
|
||||||
function subArrow:fit(context, w, h)
|
function subArrow:fit(context, w, h)
|
||||||
return subArrow._image:get_width(),item.height
|
return subArrow._image:get_width(),item.height
|
||||||
|
@ -69,20 +70,18 @@ local function create_item(item,data,args)
|
||||||
else
|
else
|
||||||
return wibox.container.background.fit(box,context, w,h)
|
return wibox.container.background.fit(box,context, w,h)
|
||||||
end
|
end
|
||||||
|
|
||||||
return 0,0
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if item.checkable then
|
if item.checkable then
|
||||||
function item.get_checked(data,item)
|
function item.get_checked(_, i)
|
||||||
if type(item._private_data.checked) == "function" then
|
if type(i._private_data.checked) == "function" then
|
||||||
return item._private_data.checked()
|
return i._private_data.checked()
|
||||||
else
|
else
|
||||||
return item._private_data.checked
|
return i._private_data.checked
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local ck = wibox.widget.imagebox()
|
ck = wibox.widget.imagebox()
|
||||||
ck:set_image(item.checked and checkbox.checked() or checkbox.unchecked())
|
ck:set_image(item.checked and checkbox.checked() or checkbox.unchecked())
|
||||||
|
|
||||||
function item:set_checked(value)
|
function item:set_checked(value)
|
||||||
|
@ -95,7 +94,7 @@ local function create_item(item,data,args)
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
data.fkeys_prefix and pref or nil,
|
pref or nil,
|
||||||
args.prefix_widget ,
|
args.prefix_widget ,
|
||||||
icon,
|
icon,
|
||||||
{
|
{
|
||||||
|
@ -110,8 +109,8 @@ local function create_item(item,data,args)
|
||||||
-- Suffix
|
-- Suffix
|
||||||
|
|
||||||
-- Widgets
|
-- Widgets
|
||||||
has_children and subArrow or nil ,
|
subArrow or nil ,
|
||||||
item.checkable and ck or nil ,
|
ck or nil ,
|
||||||
args.suffix_widget ,
|
args.suffix_widget ,
|
||||||
|
|
||||||
-- Attributes
|
-- Attributes
|
||||||
|
|
|
@ -6,19 +6,13 @@ local common = require( "radical.item.common" )
|
||||||
|
|
||||||
local module = {}
|
local module = {}
|
||||||
|
|
||||||
-- Force the width or compute the minimum space
|
|
||||||
local function align_fit(box,context,w,h)
|
|
||||||
if box._item.width then return box._item.width - box._data.item_style.margins.LEFT - box._data.item_style.margins.RIGHT,h end
|
|
||||||
return box.first:fit(context,w,h)+wibox.widget.textbox.fit(box.second,context,w,h)+box.third:fit(context,w,h),h
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Create the actual widget
|
-- Create the actual widget
|
||||||
local function create_item(item,data,args)
|
local function create_item(item,data,args)
|
||||||
-- Background
|
-- Background
|
||||||
local bg = wibox.container.background()
|
local bg = wibox.container.background()
|
||||||
|
|
||||||
-- Margins
|
-- Margins
|
||||||
local m = wibox.container.margin(la)
|
local m = wibox.container.margin()
|
||||||
local mrgns = margins2(m,(item.item_style or data.item_style).margins)
|
local mrgns = margins2(m,(item.item_style or data.item_style).margins)
|
||||||
item.get_margins = function()
|
item.get_margins = function()
|
||||||
return mrgns
|
return mrgns
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local print = print
|
|
||||||
local pairs = pairs
|
|
||||||
local color = require( "gears.color" )
|
local color = require( "gears.color" )
|
||||||
local base = require( "radical.base" )
|
|
||||||
local theme = require( "radical.theme" )
|
local theme = require( "radical.theme" )
|
||||||
|
|
||||||
local module = {
|
local module = {
|
||||||
|
@ -27,8 +24,6 @@ local c1 = color("#474e56dd")
|
||||||
local c2 = color("#5b646cdd")
|
local c2 = color("#5b646cdd")
|
||||||
local c3 = color("#212429dd")
|
local c3 = color("#212429dd")
|
||||||
local c4 = color("#3b4249dd")
|
local c4 = color("#3b4249dd")
|
||||||
local padding = 1
|
|
||||||
local p2 = 2
|
|
||||||
|
|
||||||
local function widget_draw23(self, context, cr, width, height)
|
local function widget_draw23(self, context, cr, width, height)
|
||||||
cr:save()
|
cr:save()
|
||||||
|
@ -70,9 +65,7 @@ local function new_set_bg(self,bg)
|
||||||
self.radical_bg = color(bg)
|
self.radical_bg = color(bg)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw(item,args)
|
local function draw(item)
|
||||||
local args = args or {}
|
|
||||||
|
|
||||||
if not item.widget._overlay_init and not item.widget._draw then
|
if not item.widget._overlay_init and not item.widget._draw then
|
||||||
item.widget.__drawbasic = item.widget.draw
|
item.widget.__drawbasic = item.widget.draw
|
||||||
item.widget.draw = widget_draw23
|
item.widget.draw = widget_draw23
|
||||||
|
|
|
@ -1,137 +0,0 @@
|
||||||
local setmetatable = setmetatable
|
|
||||||
local print = print
|
|
||||||
local debug=debug
|
|
||||||
local ipairs = ipairs
|
|
||||||
local math = math
|
|
||||||
local base = require( "radical.base" )
|
|
||||||
local beautiful = require("beautiful")
|
|
||||||
local color = require("gears.color")
|
|
||||||
local cairo = require("lgi").cairo
|
|
||||||
local wibox = require("wibox")
|
|
||||||
local theme = require( "radical.theme" )
|
|
||||||
|
|
||||||
local module = {
|
|
||||||
margins = {
|
|
||||||
TOP = 2,
|
|
||||||
BOTTOM = 2,
|
|
||||||
RIGHT = 20,
|
|
||||||
LEFT = 3
|
|
||||||
},
|
|
||||||
need_full_repaint = true
|
|
||||||
}
|
|
||||||
|
|
||||||
local hcode = {"#7777ff","#ff7777","#77ff77","#77ffff","#ffff77"}
|
|
||||||
|
|
||||||
local end_cache = {}
|
|
||||||
module.get_end_arrow = function(args)
|
|
||||||
local args = args or {}
|
|
||||||
local default_height = beautiful.default_height or 16
|
|
||||||
local bgt = type(args.bg_color)
|
|
||||||
local width,height = (args.width or default_height/2+1),args.height or default_height
|
|
||||||
local img = cairo.ImageSurface(cairo.Format.ARGB32, width+(args.padding or 0), height)
|
|
||||||
local cr = cairo.Context(img)
|
|
||||||
cr:set_source(color(args.bg_color or beautiful.bg_normal))
|
|
||||||
cr:set_antialias(cairo.ANTIALIAS_NONE)
|
|
||||||
cr:new_path()
|
|
||||||
if (args.direction == "left") then
|
|
||||||
cr:move_to(0,width+(args.padding or 0))
|
|
||||||
cr:line_to(0,height/2)
|
|
||||||
cr:line_to(width+(args.padding or 0),height)
|
|
||||||
cr:line_to(0,height)
|
|
||||||
cr:line_to(0,0)
|
|
||||||
cr:line_to(width+(args.padding or 0),0)
|
|
||||||
else
|
|
||||||
cr:line_to(width+(args.padding or 0),0)
|
|
||||||
cr:line_to(width+(args.padding or 0),height)
|
|
||||||
cr:line_to(0,height)
|
|
||||||
cr:line_to(width-1,height/2)
|
|
||||||
cr:line_to(0,0)
|
|
||||||
end
|
|
||||||
cr:close_path()
|
|
||||||
cr:fill()
|
|
||||||
return img
|
|
||||||
end
|
|
||||||
|
|
||||||
local beg_cache = {}
|
|
||||||
module.get_beg_arrow = function(args)
|
|
||||||
local args = args or {}
|
|
||||||
local default_height = beautiful.default_height or 16
|
|
||||||
local bgt = type(args.bg_color)
|
|
||||||
local width,height = (args.width or default_height/2+1)+(args.padding or 0),args.height or default_height
|
|
||||||
local img = cairo.ImageSurface(cairo.Format.ARGB32, width, height)
|
|
||||||
local cr = cairo.Context(img)
|
|
||||||
cr:set_source(color(args.bg_color or beautiful.fg_normal))
|
|
||||||
cr:set_antialias(cairo.ANTIALIAS_NONE)
|
|
||||||
cr:new_path()
|
|
||||||
if (args.direction == "left") then
|
|
||||||
cr:move_to(0,width)
|
|
||||||
cr:line_to(0,height/2)
|
|
||||||
cr:line_to(width,height)
|
|
||||||
cr:line_to(width,0)
|
|
||||||
else
|
|
||||||
cr:line_to(width,height/2)
|
|
||||||
cr:line_to(0,height)
|
|
||||||
cr:line_to(0,0)
|
|
||||||
end
|
|
||||||
cr:close_path()
|
|
||||||
cr:fill()
|
|
||||||
return img
|
|
||||||
end
|
|
||||||
|
|
||||||
local function draw_real(self, context, cr, width, height)
|
|
||||||
-- wibox.container.background.draw(self, context, cr, width, height)
|
|
||||||
cr:save()
|
|
||||||
|
|
||||||
-- This item style require negative padding, this is a little dangerous to
|
|
||||||
-- do as it can corrupt area outside of the widget
|
|
||||||
local col = self._item.bg_prefix or beautiful.icon_grad or beautiful.fg_normal
|
|
||||||
cr:set_source(color(self.background))
|
|
||||||
cr:move_to(-height/2-2,0)
|
|
||||||
cr:line_to(width-height+2,0)
|
|
||||||
cr:rel_line_to(height*.6,height/2)
|
|
||||||
cr:line_to(width-height+2,height)
|
|
||||||
cr:line_to(-height*.6,height)
|
|
||||||
cr:line_to(0,height/2)
|
|
||||||
cr:close_path()
|
|
||||||
cr:reset_clip()
|
|
||||||
cr:fill()
|
|
||||||
cr:restore()
|
|
||||||
|
|
||||||
if self._draw then
|
|
||||||
self._draw(self, context, cr, width, height)
|
|
||||||
end
|
|
||||||
|
|
||||||
if self.widget.draw then
|
|
||||||
self.widget:draw(context, cr, width, height)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function draw(item,args)
|
|
||||||
local args = args or {}
|
|
||||||
if item.widget.draw ~= draw_real then
|
|
||||||
item.widget._draw = item.widget.draw
|
|
||||||
item.widget.draw = draw_real
|
|
||||||
item.widget:emit_signal("widget::updated")
|
|
||||||
end
|
|
||||||
|
|
||||||
local color_idx = math.mod(item.f_key,#hcode) + 1
|
|
||||||
local next_idx = color_idx + 1 > #hcode and 1 or (color_idx + 1)
|
|
||||||
|
|
||||||
local state = item.state or {}
|
|
||||||
local current_state = state._current_key or nil
|
|
||||||
local state_name = base.colors_by_id[current_state]
|
|
||||||
|
|
||||||
if current_state == base.item_flags.SELECTED or (item._tmp_menu) then
|
|
||||||
item.widget:set_fg(item["fg_focus"])
|
|
||||||
item.widget:set_bg(args.color)
|
|
||||||
elseif state_name then --TODO untested, most likely broken
|
|
||||||
item.widget:set_bg(args.color or item["bg_"..state_name])
|
|
||||||
item.widget:set_fg( item["fg_"..state_name])
|
|
||||||
else
|
|
||||||
item.widget:set_bg(args.color or hcode[color_idx])
|
|
||||||
item.widget:set_fg(item["fg_normal"])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return setmetatable(module, { __call = function(_, ...) return draw(...) end })
|
|
||||||
-- kate: space-indent on; indent-width 2; replace-tabs on;
|
|
|
@ -1,7 +1,6 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local beautiful = require( "beautiful" )
|
local beautiful = require( "beautiful" )
|
||||||
local color = require( "gears.color" )
|
local color = require( "gears.color" )
|
||||||
local wibox = require( "wibox" )
|
|
||||||
local theme = require( "radical.theme" )
|
local theme = require( "radical.theme" )
|
||||||
local shape = require( "gears.shape" )
|
local shape = require( "gears.shape" )
|
||||||
|
|
||||||
|
@ -48,9 +47,7 @@ local function suffix_fit(box,context,w,h)
|
||||||
return width + h/2 + h/6,height
|
return width + h/2 + h/6,height
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw(item,args)
|
local function draw(item)
|
||||||
local args = args or {}
|
|
||||||
|
|
||||||
if not item.widget._overlay_init then
|
if not item.widget._overlay_init then
|
||||||
item.widget._overlay_init = true
|
item.widget._overlay_init = true
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local wibox = require("wibox" )
|
|
||||||
local theme = require( "radical.theme" )
|
local theme = require( "radical.theme" )
|
||||||
local shape = require( "gears.shape" )
|
local shape = require( "gears.shape" )
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local print = print
|
local theme = require( "radical.theme" )
|
||||||
local pairs=pairs
|
|
||||||
local base = require( "radical.base" )
|
|
||||||
local wibox = require("wibox" )
|
|
||||||
local theme = require( "radical.theme" )
|
|
||||||
|
|
||||||
local module = {
|
local module = {
|
||||||
margins = {
|
margins = {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local color = require( "gears.color" )
|
local color = require( "gears.color" )
|
||||||
local wibox = require( "wibox" )
|
|
||||||
local theme = require( "radical.theme" )
|
local theme = require( "radical.theme" )
|
||||||
|
|
||||||
local module = {
|
local module = {
|
||||||
|
|
|
@ -34,7 +34,7 @@ local function after_draw_children_bottom(self, context, cr, width, height)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw(item,args)
|
local function draw(item,args)
|
||||||
local args = args or {}
|
args = args or {}
|
||||||
|
|
||||||
item.widget.draw = widget_draw
|
item.widget.draw = widget_draw
|
||||||
item.widget.before_draw_children = args.pos == "top"
|
item.widget.before_draw_children = args.pos == "top"
|
||||||
|
|
|
@ -5,7 +5,7 @@ local unpack = unpack or table.unpack
|
||||||
|
|
||||||
-- Create a generic item_style
|
-- Create a generic item_style
|
||||||
local function generic(_, args)
|
local function generic(_, args)
|
||||||
local args = args or {}
|
args = args or {}
|
||||||
|
|
||||||
args.margins = args.margins or {
|
args.margins = args.margins or {
|
||||||
TOP = 0,
|
TOP = 0,
|
||||||
|
@ -30,12 +30,10 @@ end
|
||||||
return setmetatable({
|
return setmetatable({
|
||||||
basic = require("radical.item.style.basic" ),
|
basic = require("radical.item.style.basic" ),
|
||||||
classic = require("radical.item.style.classic" ),
|
classic = require("radical.item.style.classic" ),
|
||||||
subtle = require("radical.item.style.subtle" ),
|
|
||||||
rounded_shadow = rounded.shadow ,
|
rounded_shadow = rounded.shadow ,
|
||||||
rounded = rounded ,
|
rounded = rounded ,
|
||||||
holo = holo ,
|
holo = holo ,
|
||||||
holo_top = holo.top ,
|
holo_top = holo.top ,
|
||||||
arrow_alt = require("radical.item.style.arrow_alt" ),
|
|
||||||
arrow_prefix = require("radical.item.style.arrow_prefix" ),
|
arrow_prefix = require("radical.item.style.arrow_prefix" ),
|
||||||
arrow_single = require("radical.item.style.arrow_single" ),
|
arrow_single = require("radical.item.style.arrow_single" ),
|
||||||
arrow_3d = require("radical.item.style.arrow_3d" ),
|
arrow_3d = require("radical.item.style.arrow_3d" ),
|
||||||
|
|
|
@ -22,9 +22,7 @@ local function after_draw_children(self, context, cr, width, height)
|
||||||
cr:fill()
|
cr:fill()
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw(item,args)
|
local function draw(item)
|
||||||
local args = args or {}
|
|
||||||
|
|
||||||
if not item.widget._overlay_init then
|
if not item.widget._overlay_init then
|
||||||
item.widget.after_draw_children = after_draw_children
|
item.widget.after_draw_children = after_draw_children
|
||||||
item.widget._overlay_init = true
|
item.widget._overlay_init = true
|
||||||
|
@ -32,7 +30,7 @@ local function draw(item,args)
|
||||||
-- Build the 2 item border colors, this item_style doesn't support gradient
|
-- Build the 2 item border colors, this item_style doesn't support gradient
|
||||||
-- or patterns
|
-- or patterns
|
||||||
item.widget.col1 = color(item.item_border_color or item.border_color or beautiful.border_color)
|
item.widget.col1 = color(item.item_border_color or item.border_color or beautiful.border_color)
|
||||||
local s,r,g,b,a = item.widget.col1:get_rgba()
|
local _,r,g,b,a = item.widget.col1:get_rgba()
|
||||||
r,g,b = r-.2,g-.2,b-.2
|
r,g,b = r-.2,g-.2,b-.2
|
||||||
item.widget.col2 = cairo.Pattern.create_rgba(r,g,b,a)
|
item.widget.col2 = cairo.Pattern.create_rgba(r,g,b,a)
|
||||||
end
|
end
|
||||||
|
|
|
@ -41,8 +41,7 @@ local function suffix_fit(box,context,w,h)
|
||||||
return width + h/2 + h/6,height
|
return width + h/2 + h/6,height
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw(item,args)
|
local function draw(item)
|
||||||
local args = args or {}
|
|
||||||
|
|
||||||
if not item.widget._overlay_init then
|
if not item.widget._overlay_init then
|
||||||
item.widget._drawprefix = item.widget.draw
|
item.widget._drawprefix = item.widget.draw
|
||||||
|
|
|
@ -1,91 +0,0 @@
|
||||||
local setmetatable = setmetatable
|
|
||||||
local math = math
|
|
||||||
local base = require( "radical.base" )
|
|
||||||
local color = require( "gears.color" )
|
|
||||||
local cairo = require( "lgi" ).cairo
|
|
||||||
local theme = require( "radical.theme" )
|
|
||||||
local print = print
|
|
||||||
|
|
||||||
local module = {
|
|
||||||
margins = {
|
|
||||||
TOP = 4,
|
|
||||||
BOTTOM = 4,
|
|
||||||
RIGHT = 4,
|
|
||||||
LEFT = 4
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
local state_cache = {}
|
|
||||||
|
|
||||||
local function gen(w,h,bg_color,border_color)
|
|
||||||
cr:save()
|
|
||||||
local img = cairo.ImageSurface(cairo.Format.ARGB32, w,h)
|
|
||||||
local cr = cairo.Context(img)
|
|
||||||
local rad = corner_radius or 3
|
|
||||||
cr:set_source(color(bg_color))
|
|
||||||
local radius = 3
|
|
||||||
cr:arc(radius,radius,radius,math.pi,3*(math.pi/2))
|
|
||||||
cr:arc(w-radius,radius,radius,3*(math.pi/2),math.pi*2)
|
|
||||||
cr:line_to(w,h)
|
|
||||||
cr:arc(radius,h-radius,radius,math.pi/2,math.pi)
|
|
||||||
cr:close_path()
|
|
||||||
cr:clip()
|
|
||||||
cr:paint_with_alpha(0.3)
|
|
||||||
cr:reset_clip()
|
|
||||||
cr:move_to(w,h-6)
|
|
||||||
cr:line_to(w,h)
|
|
||||||
cr:line_to(w-6,h)
|
|
||||||
cr:fill()
|
|
||||||
cr:restore()
|
|
||||||
return cairo.Pattern.create_for_surface(img)
|
|
||||||
end
|
|
||||||
|
|
||||||
local function before_draw_children(self, context, cr, width, height)
|
|
||||||
|
|
||||||
local state = self._item.state or {}
|
|
||||||
local current_state = state._current_key or ""
|
|
||||||
if not state_cache[current_state] then
|
|
||||||
state_cache[current_state] = {}
|
|
||||||
end
|
|
||||||
local cache = state_cache[current_state]
|
|
||||||
local hash = width+1234*height
|
|
||||||
|
|
||||||
local cached = cache[hash]
|
|
||||||
|
|
||||||
--Generate the pixmap
|
|
||||||
if not cached then
|
|
||||||
local state_name = current_state == "" and "bg" or "bg_"..(base.colors_by_id[current_state] or "")
|
|
||||||
cached = gen(width,height,self._item[state_name],bc)
|
|
||||||
cache[hash] = cached
|
|
||||||
end
|
|
||||||
|
|
||||||
if current_state ~= self._last_state then
|
|
||||||
self:set_bg(cached)
|
|
||||||
self._last_state = current_state
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function draw(item,args)
|
|
||||||
local args = args or {}
|
|
||||||
|
|
||||||
if not item.widget._overlay_init then
|
|
||||||
item.widget.before_draw_children = before_draw_children
|
|
||||||
item.widget._overlay_init = true
|
|
||||||
item.widget._item = item
|
|
||||||
end
|
|
||||||
|
|
||||||
local state = item.state or {}
|
|
||||||
local current_state = state._current_key or nil
|
|
||||||
local state_name = base.colors_by_id[current_state]
|
|
||||||
|
|
||||||
if current_state == base.item_flags.SELECTED or (item._tmp_menu) then
|
|
||||||
item.widget:set_fg(item["fg_focus"])
|
|
||||||
elseif state_name then
|
|
||||||
item.widget:set_fg( item["fg_"..state_name])
|
|
||||||
else
|
|
||||||
item.widget:set_fg(item["fg_normal"])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return setmetatable(module, { __call = function(_, ...) return draw(...) end })
|
|
||||||
-- kate: space-indent on; indent-width 2; replace-tabs on;
|
|
|
@ -1,5 +1,4 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local print = print
|
|
||||||
local ipairs = ipairs
|
local ipairs = ipairs
|
||||||
local math = math
|
local math = math
|
||||||
local wibox = require( "wibox" )
|
local wibox = require( "wibox" )
|
||||||
|
@ -49,7 +48,6 @@ local function item_fit(data,item,...)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function new(data)
|
local function new(data)
|
||||||
local counter = 0
|
|
||||||
local mode = data.column ~= nil
|
local mode = data.column ~= nil
|
||||||
local rows = {}
|
local rows = {}
|
||||||
local l = wibox.layout.fixed[mode and "horizontal" or "vertical"]()
|
local l = wibox.layout.fixed[mode and "horizontal" or "vertical"]()
|
||||||
|
@ -63,13 +61,13 @@ local function new(data)
|
||||||
local r1,r2 = data.item_height*math.ceil(data.rowcount/constraint),data.item_height*constraint
|
local r1,r2 = data.item_height*math.ceil(data.rowcount/constraint),data.item_height*constraint
|
||||||
return (mode and r2 or r1),(mode and r1 or r2)
|
return (mode and r2 or r1),(mode and r1 or r2)
|
||||||
end
|
end
|
||||||
l.add = function(l,item)
|
l.add = function(_, it)
|
||||||
for k,v in ipairs(rows) do
|
for k,v in ipairs(rows) do
|
||||||
v:reset()
|
v:reset()
|
||||||
end
|
end
|
||||||
local rc = data.rowcount+1
|
local rc = data.rowcount+1
|
||||||
for i=1,rc do
|
for i=1,rc do
|
||||||
rows[((i-1)%constraint)+1]:add((rc == i and item.widget or data.items[i].widget))
|
rows[((i-1)%constraint)+1]:add((rc == i and it.widget or data.items[i].widget))
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
|
@ -36,13 +36,7 @@ local function new(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Hack fit
|
-- Hack fit
|
||||||
local new_fit
|
function real_l.fit(self,context)
|
||||||
new_fit = function(self,context,w,h,force_values) --TODO use the context instead of extra argument
|
|
||||||
-- Get the original fit, the function need to be replaced to avoir a stack overflow
|
|
||||||
real_l.fit = real_l._fit
|
|
||||||
local result,r2 = self:get_preferred_size(context, force_values and w, force_values and h)
|
|
||||||
real_l.fit = new_fit
|
|
||||||
|
|
||||||
local w,h
|
local w,h
|
||||||
if data.auto_resize and data._internal.largest_item_h then
|
if data.auto_resize and data._internal.largest_item_h then
|
||||||
w,h = data.rowcount*(data.item_width or data.default_width),data._internal.largest_item_h_v > data.item_height and data._internal.largest_item_h_v or data.item_height
|
w,h = data.rowcount*(data.item_width or data.default_width),data._internal.largest_item_h_v > data.item_height and data._internal.largest_item_h_v or data.item_height
|
||||||
|
@ -53,9 +47,6 @@ local function new(data)
|
||||||
return w,h
|
return w,h
|
||||||
end
|
end
|
||||||
|
|
||||||
real_l._fit = real_l.fit
|
|
||||||
real_l.fit = new_fit
|
|
||||||
|
|
||||||
return real_l
|
return real_l
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,8 @@ local function compute_geo(data,width,height,force_values)
|
||||||
|
|
||||||
local visblerow = data.visible_row_count
|
local visblerow = data.visible_row_count
|
||||||
|
|
||||||
local sw,sh = data._internal.suf_l:get_preferred_size()
|
local _,sh = data._internal.suf_l:get_preferred_size()
|
||||||
local pw,ph = data._internal.pref_l:get_preferred_size()
|
local _,ph = data._internal.pref_l:get_preferred_size()
|
||||||
if not data._internal.has_widget then
|
if not data._internal.has_widget then
|
||||||
return w, visblerow*data.item_height + ph + sh
|
return w, visblerow*data.item_height + ph + sh
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
local base = require( "radical.base" )
|
|
||||||
local print = print
|
|
||||||
local unpack = unpack
|
|
||||||
local setmetatable = setmetatable
|
|
||||||
local color = require( "gears.color" )
|
|
||||||
local wibox = require( "wibox" )
|
|
||||||
local beautiful = require( "beautiful" )
|
|
||||||
local cairo = require( "lgi" ).cairo
|
|
||||||
local awful = require( "awful" )
|
|
||||||
local util = require( "awful.util" )
|
|
||||||
local button = require( "awful.button" )
|
|
||||||
local checkbox = require( "radical.widgets.checkbox" )
|
|
||||||
|
|
||||||
local capi,module = { mouse = mouse , screen = screen, keygrabber = keygrabber },{}
|
|
||||||
|
|
||||||
local function get_direction(data)
|
|
||||||
return "left" -- Nothing to do
|
|
||||||
end
|
|
||||||
|
|
||||||
local function set_position(self)
|
|
||||||
return --Nothing to do
|
|
||||||
end
|
|
||||||
|
|
||||||
local function setup_drawable(data)
|
|
||||||
local internal = data._internal
|
|
||||||
local get_map,set_map,private_data = internal.get_map,internal.set_map,internal.private_data
|
|
||||||
|
|
||||||
--Init
|
|
||||||
-- internal.w = wibox({})
|
|
||||||
internal.margin = wibox.container.margin()
|
|
||||||
if not data.layout then
|
|
||||||
data.layout = layout.vertical
|
|
||||||
end
|
|
||||||
internal.layout = wibox.layout.fixed.horizontal() --data.layout(data) --TODO fix
|
|
||||||
internal.margin:set_widget(internal.layout)
|
|
||||||
|
|
||||||
--Getters
|
|
||||||
get_map.wibox = function() return nil end -- Will this break?
|
|
||||||
get_map.x = function() return 0 end
|
|
||||||
get_map.y = function() return 0 end
|
|
||||||
get_map.width = function() return 500 end
|
|
||||||
get_map.height = function() return 40 end
|
|
||||||
get_map.visible = function() return private_data.visible end
|
|
||||||
get_map.direction = function() return private_data.direction end
|
|
||||||
get_map.margins = function()
|
|
||||||
local ret = {left=data.border_width,right=data.border_width,top=data.style.margins.TOP,bottom=data.style.margins.BOTTOM}
|
|
||||||
if data.arrow_type ~= base.arrow_type.NONE then
|
|
||||||
ret[data.direction] = ret[data.direction]+13
|
|
||||||
end
|
|
||||||
return ret
|
|
||||||
end
|
|
||||||
|
|
||||||
--Setters
|
|
||||||
function internal:set_visible(value)
|
|
||||||
-- TODO
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
local function setup_item(data,item,args)
|
|
||||||
-- Add widgets
|
|
||||||
local tb = wibox.widget.textbox()
|
|
||||||
data._internal.layout:add(tb)
|
|
||||||
item.widget = tb
|
|
||||||
tb:set_text("bob")
|
|
||||||
end
|
|
||||||
|
|
||||||
local function new(args)
|
|
||||||
local args = args or {}
|
|
||||||
args.internal = args.internal or {}
|
|
||||||
args.internal.get_direction = args.internal.get_direction or get_direction
|
|
||||||
args.internal.set_position = args.internal.set_position or set_position
|
|
||||||
args.internal.setup_drawable = args.internal.setup_drawable or setup_drawable
|
|
||||||
args.internal.setup_item = args.internal.setup_item or setup_item
|
|
||||||
args.style = args.style or arrow_style
|
|
||||||
local ret = base(args)
|
|
||||||
ret:connect_signal("clear::menu",function(_,vis)
|
|
||||||
ret._internal.layout:reset()
|
|
||||||
end)
|
|
||||||
ret:connect_signal("_hidden::changed",function(_,item)
|
|
||||||
item.widget:emit_signal("widget::updated")
|
|
||||||
end)
|
|
||||||
return ret
|
|
||||||
end
|
|
||||||
|
|
||||||
return setmetatable(module, { __call = function(_, ...) return new(...) end })
|
|
||||||
-- kate: space-indent on; indent-width 2; replace-tabs on;
|
|
|
@ -5,7 +5,8 @@ local rawget = rawget
|
||||||
local pairs = pairs
|
local pairs = pairs
|
||||||
|
|
||||||
local function setup_object(args)
|
local function setup_object(args)
|
||||||
local data,args,private_data,signals = {},args or {},private_data or {},{}
|
args = args or {}
|
||||||
|
local data,signals = {},{}
|
||||||
local private_data = args.private_data or {}
|
local private_data = args.private_data or {}
|
||||||
|
|
||||||
function data:connect_signal(name,func)
|
function data:connect_signal(name,func)
|
||||||
|
|
|
@ -9,15 +9,12 @@
|
||||||
-- @release @AWESOME_VERSION@
|
-- @release @AWESOME_VERSION@
|
||||||
-- @module radical.smart_wibox
|
-- @module radical.smart_wibox
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
local capi = {mouse = mouse, screen = screen}
|
|
||||||
local wibox = require( "wibox" )
|
local wibox = require( "wibox" )
|
||||||
local util = require( "awful.util" )
|
local util = require( "awful.util" )
|
||||||
local surface = require( "gears.surface" )
|
local surface = require( "gears.surface" )
|
||||||
local glib = require( "lgi" ).GLib
|
local glib = require( "lgi" ).GLib
|
||||||
local beautiful = require( "beautiful" )
|
local beautiful = require( "beautiful" )
|
||||||
local color = require( "gears.color" )
|
local color = require( "gears.color" )
|
||||||
local screen = require( "awful.screen" )
|
|
||||||
local mouse = require( "awful.mouse" )
|
|
||||||
local placement = require( "awful.placement" )
|
local placement = require( "awful.placement" )
|
||||||
local unpack = unpack or table.unpack
|
local unpack = unpack or table.unpack
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@ local setmetatable = setmetatable
|
||||||
local unpack = unpack or table.unpack
|
local unpack = unpack or table.unpack
|
||||||
local beautiful = require( "beautiful" )
|
local beautiful = require( "beautiful" )
|
||||||
local color = require( "gears.color" )
|
local color = require( "gears.color" )
|
||||||
local cairo = require( "lgi" ).cairo
|
|
||||||
local base = require( "radical.base" )
|
local base = require( "radical.base" )
|
||||||
local shape = require( "gears.shape" )
|
local shape = require( "gears.shape" )
|
||||||
|
|
||||||
|
@ -89,16 +88,16 @@ local function update_margins(data, pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Generate a rounded cairo path with the arrow
|
-- Generate a rounded cairo path with the arrow
|
||||||
local function draw_roundedrect_path(cr, width, height, radius, data, direction)
|
local function draw_roundedrect_path(cr, width, height, rad, data, direction)
|
||||||
direction = direction or "right"
|
direction = direction or "right"
|
||||||
|
|
||||||
if data.arrow_type == base.arrow_type.NONE then
|
if data.arrow_type == base.arrow_type.NONE then
|
||||||
if direction == "left" then
|
if direction == "left" then
|
||||||
data._internal.w:set_yoffset(-radius)
|
data._internal.w:set_yoffset(-rad)
|
||||||
elseif direction == "right" then
|
elseif direction == "right" then
|
||||||
data._internal.w:set_yoffset(radius)
|
data._internal.w:set_yoffset(rad)
|
||||||
end
|
end
|
||||||
return shape.rounded_rect(cr, width, height, radius)
|
return shape.rounded_rect(cr, width, height, rad)
|
||||||
end
|
end
|
||||||
|
|
||||||
local angle, swap = angles[direction], swaps[direction]
|
local angle, swap = angles[direction], swaps[direction]
|
||||||
|
@ -118,12 +117,11 @@ local function draw_roundedrect_path(cr, width, height, radius, data, direction)
|
||||||
gen_arrow_x(data, data.direction, width, height)
|
gen_arrow_x(data, data.direction, width, height)
|
||||||
|
|
||||||
-- Forward to the real shape
|
-- Forward to the real shape
|
||||||
local ax = swap and width - (data._arrow_x or 20)-arrow_height - radius or (data._arrow_x or 20)
|
local ax = swap and width - (data._arrow_x or 20)-arrow_height - rad or (data._arrow_x or 20)
|
||||||
s(cr, width, height, radius, arrow_height, ax)
|
s(cr, width, height, rad, arrow_height, ax)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw(data,args)
|
local function draw(data)
|
||||||
local args = args or {}
|
|
||||||
|
|
||||||
if not data._internal.arrow_setup then
|
if not data._internal.arrow_setup then
|
||||||
data._internal.w:set_shape_border_width(data.border_width or 1)
|
data._internal.w:set_shape_border_width(data.border_width or 1)
|
||||||
|
@ -140,12 +138,10 @@ local function draw(data,args)
|
||||||
-- if dir then
|
-- if dir then
|
||||||
-- data._internal.w:set_shape(function(cr, w, h) draw_roundedrect_path(cr, w, h, radius, data, data._internal.w.position) end)
|
-- data._internal.w:set_shape(function(cr, w, h) draw_roundedrect_path(cr, w, h, radius, data, data._internal.w.position) end)
|
||||||
-- end
|
-- end
|
||||||
update_margins(data, dir)
|
update_margins(data, nil)
|
||||||
|
|
||||||
data._internal.arrow_setup = true
|
data._internal.arrow_setup = true
|
||||||
end
|
end
|
||||||
|
|
||||||
return w,w2
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return setmetatable(module, { __call = function(_, ...) return draw(...) end })
|
return setmetatable(module, { __call = function(_, ...) return draw(...) end })
|
||||||
|
|
|
@ -7,7 +7,7 @@ local module = {
|
||||||
TOP = 0 ,
|
TOP = 0 ,
|
||||||
BOTTOM = 0 ,
|
BOTTOM = 0 ,
|
||||||
LEFT = 0 ,
|
LEFT = 0 ,
|
||||||
BOTTOM = 0 ,
|
RIGHT = 0 ,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local base = require( "radical.base" )
|
|
||||||
local color = require( "gears.color" )
|
local color = require( "gears.color" )
|
||||||
local shape = require( "gears.shape" )
|
|
||||||
|
|
||||||
local module = {
|
local module = {
|
||||||
margins = {
|
margins = {
|
||||||
TOP = 0 ,
|
TOP = 0 ,
|
||||||
BOTTOM = 0 ,
|
BOTTOM = 0 ,
|
||||||
LEFT = 0 ,
|
LEFT = 0 ,
|
||||||
BOTTOM = 0 ,
|
RIGHT = 0 ,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,8 @@ end
|
||||||
local theme_colors = {}
|
local theme_colors = {}
|
||||||
|
|
||||||
local function load_section(data,priv,section,args)
|
local function load_section(data,priv,section,args)
|
||||||
local bg,fg,args = section.."_bg_", section.."_fg_",args or {}
|
args = args or {}
|
||||||
|
local bg,fg = section.."_bg_", section.."_fg_"
|
||||||
for k,v in pairs(theme_colors) do
|
for k,v in pairs(theme_colors) do
|
||||||
priv[bg..k] = args[bg..v.beautiful_name] or beautiful["menu_"..bg..v.beautiful_name] or beautiful[bg..v.beautiful_name]
|
priv[bg..k] = args[bg..v.beautiful_name] or beautiful["menu_"..bg..v.beautiful_name] or beautiful[bg..v.beautiful_name]
|
||||||
priv[fg..k] = args[fg..v.beautiful_name] or beautiful["menu_"..fg..v.beautiful_name] or beautiful[fg..v.beautiful_name]
|
priv[fg..k] = args[fg..v.beautiful_name] or beautiful["menu_"..fg..v.beautiful_name] or beautiful[fg..v.beautiful_name]
|
||||||
|
|
12
tooltip.lua
12
tooltip.lua
|
@ -2,7 +2,6 @@ local setmetatable,math = setmetatable,math
|
||||||
local beautiful = require( "beautiful" )
|
local beautiful = require( "beautiful" )
|
||||||
local surface = require( "gears.surface" )
|
local surface = require( "gears.surface" )
|
||||||
local wibox = require( "wibox" )
|
local wibox = require( "wibox" )
|
||||||
local cairo = require( "lgi" ).cairo
|
|
||||||
local object = require( "radical.object" )
|
local object = require( "radical.object" )
|
||||||
local shape = require( "gears.shape" )
|
local shape = require( "gears.shape" )
|
||||||
local capi = { screen = screen ,
|
local capi = { screen = screen ,
|
||||||
|
@ -91,7 +90,9 @@ end
|
||||||
|
|
||||||
|
|
||||||
local function new(widget,text, args)
|
local function new(widget,text, args)
|
||||||
local args,data = args or {},object({
|
args = args or {}
|
||||||
|
|
||||||
|
local data = object({
|
||||||
private_data = {
|
private_data = {
|
||||||
},
|
},
|
||||||
autogen_getmap = true,
|
autogen_getmap = true,
|
||||||
|
@ -114,7 +115,7 @@ local function new(widget,text, args)
|
||||||
function data:hide() hide_tooltip() end
|
function data:hide() hide_tooltip() end
|
||||||
|
|
||||||
function data:showToolTip(show,args2)
|
function data:showToolTip(show,args2)
|
||||||
local args2 = args2 or args or {}
|
args2 = args2 or args or {}
|
||||||
args.direction = args.direction or get_direction(args2)
|
args.direction = args.direction or get_direction(args2)
|
||||||
|
|
||||||
local vertical,textw = (args.direction == "left") or (args.direction == "right"),wibox.widget.textbox()
|
local vertical,textw = (args.direction == "left") or (args.direction == "right"),wibox.widget.textbox()
|
||||||
|
@ -151,10 +152,11 @@ local function new(widget,text, args)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
widget:connect_signal("mouse::enter" , function(widget,geometry) data:showToolTip( true , {parent=geometry}) end)
|
widget:connect_signal("mouse::enter" , function(_,geometry) data:showToolTip( true , {parent=geometry}) end)
|
||||||
widget:connect_signal("mouse::leave" , hide_tooltip)
|
widget:connect_signal("mouse::leave" , hide_tooltip)
|
||||||
widget:connect_signal("button::press" , hide_tooltip)
|
widget:connect_signal("button::press" , hide_tooltip)
|
||||||
data.set_text = set_text
|
data.set_text = set_text
|
||||||
|
data.set_markup = set_markup
|
||||||
data._args = args
|
data._args = args
|
||||||
return data
|
return data
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,7 +8,7 @@ local function set_data(self, data)
|
||||||
local info = self:get_children_by_id("infoshapes" )[1]
|
local info = self:get_children_by_id("infoshapes" )[1]
|
||||||
local tb = self:get_children_by_id("filter_text")[1]
|
local tb = self:get_children_by_id("filter_text")[1]
|
||||||
|
|
||||||
function self:fit(context,width,height)
|
function self.fit(_,context,width,height)
|
||||||
return width,data.item_height
|
return width,data.item_height
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local print = print
|
|
||||||
local color = require( "gears.color" )
|
local color = require( "gears.color" )
|
||||||
local cairo = require( "lgi" ).cairo
|
local cairo = require( "lgi" ).cairo
|
||||||
local pango = require( "lgi" ).Pango
|
local pango = require( "lgi" ).Pango
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local print = print
|
|
||||||
local color = require("gears.color")
|
|
||||||
local cairo = require( "lgi" ).cairo
|
|
||||||
local wibox = require("wibox")
|
local wibox = require("wibox")
|
||||||
|
|
||||||
local beautiful = require( "beautiful" )
|
local beautiful = require( "beautiful" )
|
||||||
|
@ -9,13 +6,12 @@ local beautiful = require( "beautiful" )
|
||||||
local module = {}
|
local module = {}
|
||||||
|
|
||||||
local function new(data,text,args)
|
local function new(data,text,args)
|
||||||
local args = args or {}
|
args = args or {}
|
||||||
local bg = wibox.container.background()
|
local bg = wibox.container.background()
|
||||||
local infoHeader = wibox.widget.textbox()
|
local infoHeader = wibox.widget.textbox()
|
||||||
infoHeader:set_font("")
|
infoHeader:set_font("")
|
||||||
infoHeader:set_markup( " <span color='".. beautiful.bg_normal .."' font='DejaVu Sans Mono' size='small' font_weight='bold'>".. text .."</span> " )
|
infoHeader:set_markup( " <span color='".. beautiful.bg_normal .."' font='DejaVu Sans Mono' size='small' font_weight='bold'>".. text .."</span> " )
|
||||||
local l = wibox.layout.align.horizontal()
|
local l = wibox.layout.align.horizontal()
|
||||||
print("\n\n\nAAAAAAAAAA",l.set_first, l.set_left)
|
|
||||||
l:set_left(infoHeader)
|
l:set_left(infoHeader)
|
||||||
bg:set_widget(l)
|
bg:set_widget(l)
|
||||||
bg:set_bg(data.bg_header)
|
bg:set_bg(data.bg_header)
|
||||||
|
|
|
@ -13,7 +13,7 @@ local infoshape = { mt = {} }
|
||||||
|
|
||||||
local default_shape = shape.rounded_bar
|
local default_shape = shape.rounded_bar
|
||||||
|
|
||||||
local default_font_description = nil
|
-- local default_font_description = nil
|
||||||
|
|
||||||
local pango_l = {}
|
local pango_l = {}
|
||||||
|
|
||||||
|
@ -56,11 +56,11 @@ local function get_group_extents(self, group, height)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Add the shape to the context
|
-- Add the shape to the context
|
||||||
local function draw_shape2(self, infoshape, cr, width, height, ...)
|
local function draw_shape2(self, is, cr, width, height, ...)
|
||||||
local shape = infoshape.shape or self._default_shape or default_shape
|
local s = is.shape or self._default_shape or default_shape
|
||||||
|
|
||||||
if shape then
|
if s then
|
||||||
shape(cr, width, height, ...)
|
s(cr, width, height, ...)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ end
|
||||||
local function draw_section_common(self, context, cr, width, height, section)
|
local function draw_section_common(self, context, cr, width, height, section)
|
||||||
cr:translate(0, padding)
|
cr:translate(0, padding)
|
||||||
for k, v in ipairs(section) do
|
for k, v in ipairs(section) do
|
||||||
local w, h = draw_shape(self, cr, width, height, v)
|
local w = draw_shape(self, cr, width, height, v)
|
||||||
cr:translate(w + (self._padding or 2) + height, 0)
|
cr:translate(w + (self._padding or 2) + height, 0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -163,7 +163,7 @@ end
|
||||||
-- Support multiple align modes
|
-- Support multiple align modes
|
||||||
function infoshape:layout(context, width, height)
|
function infoshape:layout(context, width, height)
|
||||||
if self.widget then
|
if self.widget then
|
||||||
local w, h = self.widget:fit(context, width, height)
|
local w = self.widget:fit(context, width, height)
|
||||||
if not self._align or self._align == "left" then --TODO use base.fit_widget
|
if not self._align or self._align == "left" then --TODO use base.fit_widget
|
||||||
return { base.place_widget_at(self.widget, 0, 0, w, height) }
|
return { base.place_widget_at(self.widget, 0, 0, w, height) }
|
||||||
else
|
else
|
||||||
|
@ -230,7 +230,7 @@ end
|
||||||
-- @treturn A unique identifier key
|
-- @treturn A unique identifier key
|
||||||
--
|
--
|
||||||
function infoshape:add_infoshape(args)
|
function infoshape:add_infoshape(args)
|
||||||
local args = args or {}
|
args = args or {}
|
||||||
local align = args.align or "right"
|
local align = args.align or "right"
|
||||||
local layer = args.layer or "below"
|
local layer = args.layer or "below"
|
||||||
if not self["_"..layer] then
|
if not self["_"..layer] then
|
||||||
|
@ -263,8 +263,8 @@ function infoshape:set_infoshapes(args)
|
||||||
end
|
end
|
||||||
|
|
||||||
--TODO fallback beautiful
|
--TODO fallback beautiful
|
||||||
function infoshape:set_shape(shape)
|
function infoshape:set_shape(s)
|
||||||
self._default_shape = shape
|
self._default_shape = s
|
||||||
end
|
end
|
||||||
|
|
||||||
--TODO fallback beautiful
|
--TODO fallback beautiful
|
||||||
|
@ -277,9 +277,9 @@ function infoshape:set_shape_border_width(col)
|
||||||
self._shape_border_width = col
|
self._shape_border_width = col
|
||||||
end
|
end
|
||||||
|
|
||||||
function infoshape:set_default_font_description(desc)
|
-- function infoshape:set_default_font_description(desc)
|
||||||
default_font_description = desc
|
-- default_font_description = desc
|
||||||
end
|
-- end
|
||||||
|
|
||||||
--TODO set default bg
|
--TODO set default bg
|
||||||
--TODO set default fg
|
--TODO set default fg
|
||||||
|
|
|
@ -77,7 +77,7 @@ end
|
||||||
local function new(data)
|
local function new(data)
|
||||||
if not colors then colors = {color(beautiful.fg_normal),color(beautiful.bg_alternate),color(beautiful.fg_focus),color(beautiful.bg_highlight)} end
|
if not colors then colors = {color(beautiful.fg_normal),color(beautiful.bg_alternate),color(beautiful.fg_focus),color(beautiful.bg_highlight)} end
|
||||||
local im = wibox.widget.imagebox()
|
local im = wibox.widget.imagebox()
|
||||||
im._data,im.draw,im.set_data = dummy_dataset,draw,set_data
|
im.draw,im.set_data = draw,set_data
|
||||||
im._cache = {}
|
im._cache = {}
|
||||||
return im
|
return im
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,7 +5,6 @@ local button = require( "awful.button" )
|
||||||
local beautiful = require( "beautiful" )
|
local beautiful = require( "beautiful" )
|
||||||
local shape = require( "gears.shape" )
|
local shape = require( "gears.shape" )
|
||||||
local surface = require( "gears.surface" )
|
local surface = require( "gears.surface" )
|
||||||
local theme = require( "radical.theme" )
|
|
||||||
|
|
||||||
local module = {}
|
local module = {}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
local print = print
|
|
||||||
local color = require( "gears.color")
|
local color = require( "gears.color")
|
||||||
local cairo = require( "lgi" ).cairo
|
|
||||||
local wibox = require( "wibox" )
|
local wibox = require( "wibox" )
|
||||||
local beautiful = require( "beautiful" )
|
local beautiful = require( "beautiful" )
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@ local wibox = require("wibox")
|
||||||
local beautiful = require("beautiful")
|
local beautiful = require("beautiful")
|
||||||
local color = require("gears.color")
|
local color = require("gears.color")
|
||||||
local ipairs = ipairs
|
local ipairs = ipairs
|
||||||
local print = print
|
|
||||||
|
|
||||||
local function textbox_draw(self, context, cr, width, height)
|
local function textbox_draw(self, context, cr, width, height)
|
||||||
cr:save()
|
cr:save()
|
||||||
|
@ -15,11 +14,11 @@ local function textbox_draw(self, context, cr, width, height)
|
||||||
wibox.widget.textbox.draw(self, context, cr, width, height)
|
wibox.widget.textbox.draw(self, context, cr, width, height)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function create_textbox(context,col_c,col,has_v_header,row_height)
|
local function create_textbox(col_c,col,has_v_header,row_height)
|
||||||
local t = wibox.widget.textbox()
|
local t = wibox.widget.textbox()
|
||||||
|
|
||||||
t.fit = function(s,context,w2,h)
|
t.fit = function(s,context,w2,h)
|
||||||
local fw,fh = wibox.widget.textbox.fit(s,context,w2,h)
|
local _,fh = wibox.widget.textbox.fit(s,context,w2,h)
|
||||||
return (w2/(col_c+2 - col)),row_height or fh
|
return (w2/(col_c+2 - col)),row_height or fh
|
||||||
end
|
end
|
||||||
t.draw = textbox_draw
|
t.draw = textbox_draw
|
||||||
|
@ -27,19 +26,19 @@ local function create_textbox(context,col_c,col,has_v_header,row_height)
|
||||||
return t
|
return t
|
||||||
end
|
end
|
||||||
|
|
||||||
local function create_h_header(main_l,cols,context,args)
|
local function create_h_header(main_l,cols,args)
|
||||||
if args.h_header then
|
if args.h_header then
|
||||||
local bg = wibox.container.background()
|
local bg = wibox.container.background()
|
||||||
local row_l = wibox.layout.fixed.horizontal()
|
local row_l = wibox.layout.fixed.horizontal()
|
||||||
bg:set_bg(beautiful.menu_table_bg_header or beautiful.menu_bg_header or beautiful.fg_normal)
|
bg:set_bg(beautiful.menu_table_bg_header or beautiful.menu_bg_header or beautiful.fg_normal)
|
||||||
bg:set_widget(row_l)
|
bg:set_widget(row_l)
|
||||||
if args.v_header then
|
if args.v_header then
|
||||||
local t = create_textbox(context,cols,1,args.v_header ~= nil,args.row_height)
|
local t = create_textbox(cols,1,args.v_header ~= nil,args.row_height)
|
||||||
t:set_markup("<span color='".. beautiful.bg_normal .."'>--</span>")
|
t:set_markup("<span color='".. beautiful.bg_normal .."'>--</span>")
|
||||||
row_l:add(t)
|
row_l:add(t)
|
||||||
end
|
end
|
||||||
for i=1,cols do
|
for i=1,cols do
|
||||||
local t = create_textbox(context,cols,i+1,args.v_header ~= nil,args.row_height)
|
local t = create_textbox(cols,i+1,args.v_header ~= nil,args.row_height)
|
||||||
t:set_markup("<span color='".. beautiful.bg_normal .."'>".. (args.h_header[i] or "-") .."</span>")
|
t:set_markup("<span color='".. beautiful.bg_normal .."'>".. (args.h_header[i] or "-") .."</span>")
|
||||||
row_l:add(t)
|
row_l:add(t)
|
||||||
end
|
end
|
||||||
|
@ -48,8 +47,7 @@ local function create_h_header(main_l,cols,context,args)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function new(content,args)
|
local function new(content,args)
|
||||||
local args = args or {}
|
args = args or {}
|
||||||
local rows = #content
|
|
||||||
local cols = 0
|
local cols = 0
|
||||||
for k,v in ipairs(content) do
|
for k,v in ipairs(content) do
|
||||||
if #v > cols then
|
if #v > cols then
|
||||||
|
@ -57,18 +55,18 @@ local function new(content,args)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local main_l = wibox.layout.fixed.vertical()
|
local main_l = wibox.layout.fixed.vertical()
|
||||||
local w =200
|
|
||||||
main_l.fit = function(self,context,width,height)
|
main_l.fit = function(self,context,width,height)
|
||||||
w = width
|
|
||||||
return wibox.layout.fixed.fit(self,context,width,height)
|
return wibox.layout.fixed.fit(self,context,width,height)
|
||||||
end
|
end
|
||||||
create_h_header(main_l,cols,w,args)
|
|
||||||
|
create_h_header(main_l,cols,args)
|
||||||
|
|
||||||
local j,widgets =1,{}
|
local j,widgets =1,{}
|
||||||
for k,v in ipairs(content) do
|
for k,v in ipairs(content) do
|
||||||
local row_l,row_w = wibox.layout.fixed.horizontal(),{}
|
local row_l,row_w = wibox.layout.fixed.horizontal(),{}
|
||||||
if args.v_header then
|
if args.v_header then
|
||||||
local t = create_textbox(w,cols,1,args.v_header ~= nil,args.row_height)
|
local t = create_textbox(cols,1,args.v_header ~= nil,args.row_height)
|
||||||
t:set_markup("<span color='".. beautiful.bg_normal .."'>".. (args.v_header[j] or "-") .."</span>")
|
t:set_markup("<span color='".. beautiful.bg_normal .."'>".. (args.v_header[j] or "-") .."</span>")
|
||||||
local bg = wibox.container.background()
|
local bg = wibox.container.background()
|
||||||
bg:set_bg(beautiful.menu_table_bg_header or beautiful.menu_bg_header or beautiful.fg_normal)
|
bg:set_bg(beautiful.menu_table_bg_header or beautiful.menu_bg_header or beautiful.fg_normal)
|
||||||
|
@ -76,7 +74,7 @@ local function new(content,args)
|
||||||
row_l:add(bg)
|
row_l:add(bg)
|
||||||
end
|
end
|
||||||
for i=1,cols do
|
for i=1,cols do
|
||||||
local t = create_textbox(w,cols,i+1,args.v_header ~= nil,args.row_height)
|
local t = create_textbox(cols,i+1,args.v_header ~= nil,args.row_height)
|
||||||
t:set_text(v[i])
|
t:set_text(v[i])
|
||||||
row_l:add(t)
|
row_l:add(t)
|
||||||
row_w[#row_w+1] =t
|
row_w[#row_w+1] =t
|
||||||
|
|
Loading…
Reference in New Issue