THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#810 - System tray fails to resize windows correctly
User who did this - Sebastian Pipping (sping)
----------
An example of this problem can be observed with nm-applet of network mananger.
Running these commands reproduces the issue for me:
# Xephyr -ac -br -noreset -screen 400x300 :1
# DISPLAY=:1.0 awesome
# NMA_SIZE_DEBUG=1 DISPLAY=:1.0 nm-applet
What I get is the mis-drawn icon as seen on the screenshot attached and this
output from nm-applet:
# NMA_SIZE_DEBUG=1 DISPLAY=:1.0 nm-applet
** Message: applet now removed from the notification area
** Message: applet now embedded in the notification area
** Message: status_icon_size_changed_cb(): status icon size 19 requested
** Message: status_icon_size_changed_cb(): status icon size 20 requested
** Message: status_icon_size_changed_cb(): status icon size 24 requested
** Message: status_icon_size_changed_cb(): status icon size 28 requested
Note that all of width 20, 24 and 28 are larger than the height of the wibox on
top (which is 19 pixels).
>From the debugging I have done so far it seems that:
- Awesome's calls to xcb_configure_window in systray.c seem to be fed sane
values, only
(meaning {19, 19} and {0, 0, 19, 19} only for the above case)
- nm-applet registers to GTK+ signal "size-changed" which actually reveices
19, 20, 24, 28
and at a time where it's GtkStatusIcon really takes that much width
- The handler for "size-changed" puts an update-the-icon job into an when-idle
queue
and returns TRUE. When changing that to unqueued instant action and return
of FALSE
(as the experimental but mis-leading patch attached does) the behaviour
changes to
# NMA_SIZE_DEBUG=1 DISPLAY=:1.0 ./src/nm-applet
** Message: applet now removed from the notification area
** Message: applet now embedded in the notification area
** Message: status_icon_size_changed_cb(): status icon size 19 requested
** Message: status_icon_size_changed_cb(): status icon size 20 requested
which only looks somewhat right, but
- still should be a request(s) for width 19, only
- breaks the nm-applet systray icon for XFCE (it does not show up any more
at all)
so the patch will not work for upstream or a Linux distribution
- might intruces race bugs or something in nm-applet
(not sure what nm-applet really needs the queue)
To make a long story short, someone needs to figure out where the resize
requests for widths 20, 24, 28 come from.
This is what I need your help for. Thanks in advance!
Best,
Sebastian
Versions involved over here:
- Awesome 3.5.1
- GTK+ 2.24.19
- nm-applet 0.9.6.4 + off-grid icon size patch from
<https://bugzilla.gnome.org/show_bug.cgi?id=698901>
- X server 1.14.1.901
PS: GtkStatusIcon seems to have some padding math that could be inspected
further.
----------
One or more files have been attached.
More information can be found at the following URL:
https://awesome.naquadah.org/bugs/index.php?do=details&task_id=810#comment3633
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 [email protected].