Looks like I have hit a bug with awful.tooltip.
Tooltip creation:
gmailwidget = wibox.widget.textbox()
gmailwidget_t = awful.tooltip({ objects = { gmailwidget, mailicon
}, timer_function = function () return 'meh' end})
Now when I point my mouse at `gmailwidget` or `mailicon`, I get the
following backtrace:
W: awesome: luaA_dofunction:108: error while running function
stack traceback:
[C]: ?
/usr/local/share/awesome/lib/awful/placement.lua:113: in function
'no_offscreen'
/usr/local/share/awesome/lib/awful/tooltip.lua:74: in function 'place'
/usr/local/share/awesome/lib/awful/tooltip.lua:85: in function
'set_geometry'
/usr/local/share/awesome/lib/awful/tooltip.lua:213: in function
'timer_function'
/usr/local/share/awesome/lib/awful/tooltip.lua:107: in function 'show'
/usr/local/share/awesome/lib/awful/tooltip.lua:196: in function 'func'
/usr/local/share/awesome/lib/gears/object.lua:71: in function
'emit_signal'
/usr/local/share/awesome/lib/wibox/init.lua:177: in function
'emit_difference'
/usr/local/share/awesome/lib/wibox/init.lua:202: in function 'func'
/usr/local/share/awesome/lib/gears/object.lua:71: in function
'emit_signal'
/usr/local/share/awesome/lib/wibox/init.lua:214: in function
</usr/local/share/awesome/lib/wibox/init.lua:213>
error: /usr/local/share/awesome/lib/awful/placement.lua:113: bad
argument #2 to '?' (number expected, got nil)
So I looked into placement.lua, line 113, which is:
local screen_geometry = capi.screen[c.screen].workarea
There is only one argument in there, `c.screen`. So I put a print
statement there:
print(' **** in placement.no_offscreen *** ')
print(c.screen)
print(' **** ')
Compiled and re-installed awesome. And, lo:
...
**** in placement.no_offscreen ***
nil
****
...
WTF! `c.screen` is nil.
So I went looking in tooltip.lua to see how tooltip is created and the
screen is set. Looks like the following line in the function `show`:
self.wibox.screen = mouse.screen
I added some print statements there:
print(' **** in tooltip.show **** ')
print(mouse.screen)
print(self.wibox.screen)
self.wibox.screen = mouse.screen
print(self.wibox.screen)
print(' **** ')
Compiled and re-installed awesome. And the output this time is pretty weird:
...
**** in tooltip.show ****
1
nil
nil
****
...
How would you explain that?
--
Anurag Priyam
--
To unsubscribe, send mail to [email protected].