[awesome bugs] #1293 - Systray won't show with margin layout

2014-08-20 Thread awesome
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

2014-08-20 Thread awesome
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

2014-08-17 Thread awesome
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

2014-08-17 Thread awesome
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

2014-08-17 Thread awesome
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

2014-08-17 Thread awesome
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.