[awesome bugs] #1293 - Systray won't show with margin layout
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY. The following task is now closed: FS#1293 - Systray won't show with margin layout User who did this - Uli Schlachter (psychon) Reason for closing: Fixed Additional comments about closing: commit ac50f4b4121c84060bde9457d6cd3b02d6328271 Author: memeplex Date: Mon Aug 18 02:32:11 2014 -0300 Fix for FS#1293 FS#1293 - Systray won't show with margin layout https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1293&project=1&order=dateopened&sort=desc More information can be found at the following URL: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1293 You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above. -- To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.
[awesome bugs] #1293 - Systray won't show with margin layout
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY. The following task has a new comment added: FS#1293 - Systray won't show with margin layout User who did this - Uli Schlachter (psychon) -- Uhm. With that change, we will keep calling systray_register() on every redraw as long as the systray is empty. That's not really a good thing -- More information can be found at the following URL: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1293#comment4124 You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above. -- To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.
[awesome bugs] #1293 - Systray won't show with margin layout
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY. The following task has a new comment added: FS#1293 - Systray won't show with margin layout User who did this - Carlos (memeplex) -- Pull request here: https://github.com/awesomeWM/awesome/pull/42 -- More information can be found at the following URL: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1293#comment4121 You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above. -- To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.
[awesome bugs] #1293 - Systray won't show with margin layout
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY. The following task has a new comment added: FS#1293 - Systray won't show with margin layout User who did this - Carlos (memeplex) -- Well, I've found a cure. As the systray was never drawn it never got a chance to update and, by the same token, to emit update events. This is because of the way systray.c is implemented and the way capi.awesome.systray() is called. Notice that capi.awesome.systray() is called without arguments from systray.fit(), so systray_register() is not reached in luaA_systray(). The consequence of this is that the systray won't get any client and thus won't be updated. This implies systray.draw() is never called. One fix is to call systray_register() before the if(lua_gettop(L) != 0) conditional: int luaA_systray(lua_State *L) { // do this first if(globalconf.systray.parent == NULL) systray_register(); This way as soon as systray.fit() is called clients are able to register with the systray and update events get generated. -- More information can be found at the following URL: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1293#comment4120 You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above. -- To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.
[awesome bugs] #1293 - Systray won't show with margin layout
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY. The following task has a new comment added: FS#1293 - Systray won't show with margin layout User who did this - Carlos (memeplex) -- I've found out where the problem is. systray.fit is returning 0 both when the margin layout is used and also when not. So the problem couldn't be there. But systray.draw is called only when the margin layout is not used. So there must be something in margin.draw that makes reaching systray.draw impossible. Indeed: if not self.widget or width <= x + w or height <= y + h then return end This will fail because of the condition width <= x + w. As num_entries = 0, it must be width == x + w. One way out is to ask for width (and height) to be strictly less than x+w (and y+h), although this will render the borders of a zero width (or height) component. Another way out is to avoid having widgets that aren't able to calculate their geometry before draw is called for the first time. I'm not sure, I'm no expert. -- More information can be found at the following URL: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1293#comment4119 You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above. -- To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.
[awesome bugs] #1293 - Systray won't show with margin layout
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY. A new Flyspray task has been opened. Details are below. User who did this - Carlos (memeplex) Attached to Project - awesome Summary - Systray won't show with margin layout Task Type - Bug Report Category - awful Status - Unconfirmed Assigned To - Operating System - All Severity - Medium Priority - Normal Reported Version - 3.5.5 Due in Version - Undecided Due Date - Undecided Details - I took the default rc.lua and modified it this way: -- Widgets that are aligned to the right local right_layout = wibox.layout.fixed.horizontal() if s == 1 then local systray = wibox.widget.systray() local systray_margin = wibox.layout.margin() systray_margin:set_margins(1) systray_margin:set_widget(systray) right_layout:add(systray_margin) end right_layout:add(mytextclock) right_layout:add(mylayoutbox[s]) But the systray is not shown anymore. If I do the same for, say, the clock, everything works as expected. The systray won't work even when margins = 0. The problem is in systray:fit. It's getting num_entries = 0 so the returned width is also 0. After that systray:draw is never called. I assume this is because the fit geometry request returned a 0 width. If I force num_entries to be the effective number of icons in my tray, the margin layout is then shown as expected (the right margin size with the icons inside). I don't know why capi.awesome.systray() is returning 0 when called from systray:fit. If I remove the margin layout then systray:draw is called and num_entries is correctly computed. It's possible that fit is called too early when using the margin layout and at that point the systray is still empty. More information can be found at the following URL: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1293 You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above. -- To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.