<div dir="ltr"><div><div>In short - SNI is broken by design...<br><br></div>As application author you know nothing - you can provide some properties, but you can not know if anyone will use them. You can implement methods, but you can not now if any of them will be called. There is no way to know if host even shows your item...<br><br></div>As host you need to deal with random stuff items provide. One provides icon-name, next one has icon-pixmap with size 24x24px... One item provides symbolic icon, but other not. As bonus one item will use dbus menu, next one will use only available methods. You have zero options to control it.<br><div><div><br></div><div>For example desktop notification specification has GetCapabilities method. So before sending notification you have option to check if it will be displayed correctly and/or send other data/info if you know that something you relay on is not supported by current implementation.<br></div><br></div><div>Since we can not guarantee that ContextMenu, Activate and SecondaryActivate will correctly work we should remove them. So if dbus menu is implemented in all active SNI implementations then how about making things simple? Icon + menu.<br><br></div><div>How application developers are supposed to debug problems? As example - ubuntu that only shows items that have dbus menu. I know it, but others might not. When you create item without menu it is not displayed - why? Did I forgot to set Title? Or maybe it requires WindowId property with valid xwindow?<br><br></div><div>And no - looking at all existing implementations is not answer. If I can not write working sni item by just reading specification then there are problems - that is not good specification...<br></div><div><br></div><div>Would not be better if we would have some item <-> host communication? When item is registered host checks required properties. If there is problem it sends message to item - missing property x or something like that, I will not show you. So now when I debug SNI i will got message/error - required property Menu is not set / valid.<br></div><div><div><br></div><div>Previously mentioned thing - icons. Why item should send over dbus icon pixmaps at random size when host could ask for icon at needed size? What if hosts displays icon at 44px? If SNI has icon-name then it might be ok, but with icon pixmaps it will be scaled down or in worst case up.<br></div><br><div>Can we agree on improvements / changes? By using versioned dbus names we will have option to support old and new specification...<br></div><div><br><div><div><div class="gmail_extra"><div class="gmail_quote">On Mon, Jan 23, 2017 at 10:12 PM, David Edmundson <span dir="ltr"><<a href="mailto:david@davidedmundson.co.uk" target="_blank">david@davidedmundson.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><span class="gmail-">On Mon, Jan 23, 2017 at 7:08 PM, Alberts Muktupāvels <span dir="ltr"><<a href="mailto:alberts.muktupavels@gmail.com" target="_blank">alberts.muktupavels@gmail.com</a><wbr>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="gmail-m_7009271579178520373m_8023162377735864279gmail-m_-5891473711066111381gmail-">On Mon, Jan 23, 2017 at 8:53 PM, David Edmundson <span dir="ltr"><<a href="mailto:david@davidedmundson.co.uk" target="_blank">david@davidedmundson.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-m_7009271579178520373m_8023162377735864279gmail-m_-5891473711066111381gmail-m_-7996624464551946230gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>--<br><br></div><div>Wayland. How item is supposed to open/position context menu? x and y parameters are useless, no? Clients in wayland does not know global position....<br></div></div></blockquote><div><br></div></span><div>You're right, but this has been phased out as a legacy fallback for years.<br></div></div></div></div></blockquote><div><br></div></span><div>Is that documented somewhere? Or how am I / was supposed to know that.<br><br></div></div></div></div></blockquote><div><br></div></span><div>It's in the introspection header for our implementation and Qt's implementation's. <br>I've also copied this onto the wiki just now.<br> <br></div><span class="gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>What about Activate, SecondaryActivate? They also have x and y parameters...<br></div></div></div></div></blockquote><div><div>> What if I want provide sound indicator with slider to adjust sound level?<br></div><span class="gmail-m_7009271579178520373m_8023162377735864279gmail-m_-5891473711066111381gmail-"><br></span> </div></span><div>They're maybe slightly useless but not entirely.<br></div><div>Whilst wl_surface doesn't allow you to explicitly set a window position a custom compositor extensions could. Kwin has one already for certain trusted applications.</div><br><div>In any case that's a communication needed between the client and the compositor. I don't think that could be solved with any change to SNI.<span class="gmail-HOEnZb"><font color="#888888"><br><br></font></span></div><span class="gmail-HOEnZb"><font color="#888888"><div>David<br></div><div></div></font></span></div><br></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">Alberts Muktupāvels<br></div></div>
</div></div></div></div></div></div>