From 9b9c96be1b9c4d5f6de0c6442699eb5219f9412f Mon Sep 17 00:00:00 2001 From: Emmanuel Lepage Vallee Date: Sat, 22 Mar 2014 17:03:04 -0400 Subject: [PATCH] Fix a bug when table (widgets) are resized --- widgets/table.lua | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/widgets/table.lua b/widgets/table.lua index 3d7bbd6..130e9e8 100644 --- a/widgets/table.lua +++ b/widgets/table.lua @@ -15,11 +15,12 @@ local function textbox_draw(self, w, cr, width, height) wibox.widget.textbox.draw(self, w, cr, width, height) end -local function create_textbox(w,col_c,has_v_header,row_height) +local function create_textbox(w,col_c,col,has_v_header,row_height) local t = wibox.widget.textbox() - t.fit = function(...) - local fw,fh = wibox.widget.textbox.fit(...) - return w/(col_c + (has_v_header and 1 or 0)),row_height or fh + + t.fit = function(s,w2,h) + local fw,fh = wibox.widget.textbox.fit(s,w2,h) + return (w2/(col_c+2 - col)),row_height or fh end t.draw = textbox_draw t:set_align("center") @@ -33,12 +34,12 @@ local function create_h_header(main_l,cols,w,args) bg:set_bg(beautiful.menu_bg_header or beautiful.fg_normal) bg:set_widget(row_l) if args.v_header then - local t = create_textbox(w,cols,args.v_header ~= nil,args.row_height) + local t = create_textbox(w,cols,1,args.v_header ~= nil,args.row_height) t:set_markup("--") row_l:add(t) end for i=1,cols do - local t = create_textbox(w,cols,args.v_header ~= nil,args.row_height) + local t = create_textbox(w,cols,i+1,args.v_header ~= nil,args.row_height) t:set_markup("".. (args.h_header[i] or "-") .."") row_l:add(t) end @@ -62,12 +63,12 @@ local function new(content,args) return wibox.layout.fixed.fit(self,width,height) end create_h_header(main_l,cols,w,args) - + local j,widgets =1,{} for k,v in ipairs(content) do local row_l,row_w = wibox.layout.fixed.horizontal(),{} if args.v_header then - local t = create_textbox(w,cols,args.v_header ~= nil,args.row_height) + local t = create_textbox(w,cols,1,args.v_header ~= nil,args.row_height) t:set_markup("".. (args.v_header[j] or "-") .."") local bg = wibox.widget.background() bg:set_bg(beautiful.menu_bg_header or beautiful.fg_normal) @@ -75,7 +76,7 @@ local function new(content,args) row_l:add(bg) end for i=1,cols do - local t = create_textbox(w,cols,args.v_header ~= nil,args.row_height) + local t = create_textbox(w,cols,i+1,args.v_header ~= nil,args.row_height) t:set_text(v[i]) row_l:add(t) row_w[#row_w+1] =t