 This is a talk about Ayatana indicators. Ayatana indicators is some upstream initiative that I've started and Before I actually go into technical details. It's going to be a really technical talk about indicators I want to show you what indicators actually are so so The indicators concept actually comes from the KDE people And they thought we have all these we have these zoo We have the zoo of applications actually dogging into some sort of a thing. That's called system tray and the system tray is Well here where people normally find the clock and the battery status Shutdown button stuff like that so and Quite a while ago like ten years maybe from now the KDE people actually thought maybe maybe let's have a uniform Layout for this. Let's do it So it looks let's do it in a way so it looks really really Being one thing and not being loads of different applications docked to the panel And when you click on one of those menus that that drop down from from the icons Like I do here With the with the recent concept that's in Debian except from the gnome desktop It's like one could be in gray the other one could be in a dark theme the next one could be With a different font so they all look similar depending on the implementation of the actual tool you are listing there Depending on what widget toolkit is used what the theming for this widget toolkit is used Sometimes you have a matching theming between Qt applications and gdk applications So the KDE people actually thought let's have some infrastructure in the panel that allows other people's to Incept the menu information that should be rendered But the desktop itself or the the panel actually renders this this menu and renders all the different like tick boxes sub menus, etc. So and then round 2007 2008 Something like that was initiated by you a canonical for Ubuntu to actually port this contact to gdk desktop based surfaces So this is a marty desktop and it's based now on gdk3. It was based on gdk2 formally It was derived from gnome2 which was also a gdk based desktop and They started actually releasing that I think with Ubuntu 10.04 So they had these nice icons and you can also go through that with a mouse Hang on. Let's move my mouse pointer outside of that. So it's really it's really one application I actually showing you several icons belonging to several applications and And it's all rendered the same so it looks actually really uniform Um So what happened to that it never appeared well It's sort of there was some initiative in deviant to actually have that appear you find my notes on gobby by the way How many marty users are here or desktop users actually? desktop so marty desktop Xfce gnome KDE Okay Unity i3 unity unity seven I suppose okay good. Goodbye So um, I have some if you if you have the gobby If you have the gobby document open, please visit these links I won't show all of them here because we have 20 minutes or 50 minutes maybe for the talk left and I can't show you all these examples of how this all happened in history, but I put all the references actually On the document and also I always for each chapter sort of I have a Notes section so you can put notes in there and actually let me know what you think about the stuff So that is the original spec document From the KDE world and it's like from 2004 2005. I can't remember really so that That that is a technical document that shows how it should work in three It was the white paper draft and from then on the people started actually developing that developing that for Plasma Which is KDE for so and then? The Ayatana name has been picked from a project at Canonica And it's the I a team or Ayatana project on launchpad That actually combines all the different efforts by in Ubuntu not by Canonica, but in Ubuntu to bring forth upstream software So in Ubuntu you have one initiative actually working on upstream code and then the other initiative is working on downstream packaging But you can't really differentiate so because it's done in a sorry, but it's done in a dirty way the split between upstream and Downstream is absolutely not clear anymore So you see patches in the downstream packages that appear in the distribution directly that actually should go in the upstream repos you find Upstream projects with release tar balls dating back to a years But in the in the distribution there is more recent software of that same thing so it's a bit of a mess and Also So let's go through the URLs first So for so there's this general Ayatana team page, which is quite informative the unity desktop unity 7 is also part of that Then there is there are quite some links actually that show you why it sketches describe the design describe the idea behind Ubuntu indicators, so that is the KDE indicators now in GDK and You might you might want to look at that there are also some screenshots, but it's basically what you see here In in my little desktop example So what is really nice to look at other sketches because there was some graphic designer that actually drew everything on paper before actually was Implemented so they are really really nice to look at and and and the why I'm actually spending time on that Which is my private time. I think the concept is great For all desktop except gnome because gnome has a different they do it differently now, so they had indicators for some time available But they superseded them by by their own concept, so that's fine But like for desktops like Marta, maybe also lxqd Xfce all these more like For us older people desktops, I'd say but not necessarily That is really cool concept And of course I'm talking about the GDK based desktops Can we have a mic hello, can we have a mic? Thank you Yeah, check your mates later, please I Mean the indicators did grow additional interface, and they are portable to Qt4 and Qt5 and QML But that support is now stalled again, but it's out there, so you could you so like Alex cute The LXD with Qt it can have indicators as well for example. Is there a plug-in for the panel? Yes, good Okay, so at the very end actually they it all comes back on on a couple of libraries shared libraries that you have to build your panel application against and the Application that should dock into the panel, so it's actually all there And and that's that's my reason for giving this talk I want to sort of bundle the efforts and you know bring people together and maybe if they're not in the room they watch this video and We get some feedback later on Okay, so that's the history Original target gnome grown version 2 then ported to unity 7 based on GDK 3 and then with what we are Seeing now the whole thing is about to be abandoned by canonical directly So there are community groups that continue maintenance of the unity 7 desktop Like a good cooperation partner Jeremy be bigger Be sure I would say in German So so he's he's really it's it's about getting unity 7 really to survive and having it as a non. Ubuntu centric desktop, hopefully at the end So I already said that canonical is a sufficient upstream for Debian quite often actually So for example, I was actually packaging I was I was doing I took over the lip D bus menu package And I said, okay, what what upstream shall I use for that? So I don't really like you know doing VCS packages from BCR because I don't know what branch to really use for that Etc. So I said well, I want the same version. That's an input Ubuntu So I use the table that I find in the unit Ubuntu archives pool So which is which is really suboptimal because then the Ubuntu maintainer said oh I copy the one that's in Debian So so it's actually a circular a thing I can't really tell when there's an option release because I look at what is in Ubuntu Which is the same which is in Debian? So it's that was a bad idea actually at that point But there's no better source Except the bzr, but which branch and who's maintaining that so? Yeah, so it's dodgy. It's dodgy really dodgy So and you can also tell all the packages actually that are not really optimal for being Pulled over to Debian because they use Debian source format one Which means you don't actually need an or a original table You can just build the source folder with the Debian folder inside And you can upload your package So it shows that this downstream upstream split is not clear at all at the moment in Ubuntu So, yeah, you find the outdated table releases on launchpad, which is really frustrating You don't have a you you always have the Debian folder in the upstream projects, which is also unclear then You you actually have an upstream repository with the Debian folder inside and Debian patches in that oh Wow, so Why not commit the stuff to the upstream code directly, but place patches into Debian patches So that's really I mean it's it was it's actually like what? that goes all the time like that so stopping to run now Another issue actually with upstream projects Initiated by canonical is on the one hand. They are great. Most of them are really was them not all but Some of them are really hey, that's good So there's a good concept behind that the the inner design is done really well the The code looks good And then there's a strategy change in Ubuntu and it gets dropped So if you if you build projects on top of that, you never know if you actually have to maintain the code yourself some time Which is a pity it's I mean it's it's good ideas coming up and In the past we have seen it several times Also with the unity greeter with which which is the login manager in Ubuntu and the remote logon Capabilities in the greeter so you can actually use unity greeter and log into free RDP So RDP servers or Citrix servers I think that was not finished that work, but the RDP server login worked so it was also dropped so And I know people that actually build up a business model on that So which is which is you know, I mean Good Okay, so there was in Debian. There is a PKG Ayatana project It's a project on Ali of and it's the Ayatana developers in real with a real name and they actually started looking at what is done in Ubuntu and back porting or porting that to Debian and So that effort started at some time and then it became habit in Ubuntu that you actually build upstream projects that depend on Gdk in Ubuntu, which has tons of patches and That it that these upstream project as you fail failed to build if they are not building against the gdk3 library in Ubuntu So that's not really usable on Debian either At that point, I guess the efforts with in Debian Came to a halt. I'm not quite sure I spoke to the people who were doing that and they said, oh, we are not interested anymore so it would be interesting actually if if there is if there is if there could be actually someone to actually pick up his former initiative and Say, okay, let's do it differently and then those ideas in Ubuntu having them in Debian is actually great So and what I did um, I Had it started with a customer that wanted this remote log-on capability in unity greeter, but forex to go servers. Thank you So I Worked on that and the patches never got upstream because There's not stream. Yeah at the end there is not stream There was a time when there was an upstream and they didn't get upstreamed so And and then I said, okay, there's no upstream that accepts my packages And the customer is a good friend of mine and he uses that in his business. Why not? Well, let's look at unity greeter how it actually works. So I actually forked it and Fixed the remote log-on stuff in there, but I didn't have the indicator icons because in unity greeter You also have these icons here. They look a bit differently and have a bit reduced of a bit of reduced functionality But they basically do the job Yeah, yeah So and then I said, okay, well, let's get those icons in there Which ended up in me actually forking all the lip indicator lip app indicator Indicator session indicator power indicator blah blah blah and strip all the Ubuntu centric code from that So it builds on Debian and it possibly also builds on Fedora and on up Susie if you want to So D. Ubuntu nice code. That's the You're not you're not on please switch your mic on good Is all of that in Debian now? It is in Debian experimental. Yes In experimental experimental. Yeah, so I can just think that to Ubuntu. No Why not because we need proper uploads and I did some more work upstream and then we need to do proper packages So one reason for me being here is actually asking you is that a good idea what I'm actually doing? So I mean I'm spending my time on that. So is that something that could be wanted in Debian and Well, also beyond Debian Or Ubuntu point of view Ideally I would want to drop the functionality that depends on the phone in some of the indicators like the URL dispatcher dependencies and So I want to remove all of those But I want to keep the indicators such that they do work on the Ubuntu Marta port and the Ubuntu Xfc port and etc And and for that I do need to pull indicators from somewhere Which do not have URL dispatch and all the phone dependencies, but they're just stock normal indicators Yeah, and ideally I would want to just force sync from Debian Because there's no more upstream and launch pad So if there's something I would take it show me your name take please so that we consider So what's your name? Dimitri. Oh, okay Nice to meet you good Yeah, so the basic idea behind behind Ayatana integrators is actually It's a fork and it's actually a namespace fork completely So it's not lip indicator anymore It's lip Ayatana indicator and actually can install the lip indicator and the Ayatana indicator just next to each other They don't share any file in common and that's actually the goal for all Subcomponents that actually belong to that So the idea is actually having that all in Debian making your work in Debian make and I'll Intend to actually file bug reports against all packages that That use lip indicator and lip app indicator and switch over with a patch to to the Ayatana indicators so and And the idea is actually that all people interested in indicators as well in Ubuntu as well as in Debian That they are in Fedora and where else it might spread that they actually come together in the upstream World of Ayatana indicators and that they actually just filed pull requests on get up in the upstream code and that we do Regular releases pull them into Debbie and pull them into Fedora and then have them You know nearly everywhere so that is the basic idea that I have and the reason for giving this talk is I don't want to Do it alone so I think I found someone who's interested in joining in If there are more out there, I'd be really happy to actually see you and and talk to you and receive mail from you so So to get in touch actually so source code is on get up And it's currently under the realm or the organization roof of the Arctic a project which might be not optimal So I'm very open to actually opening up an Ayatana project or on it Well, whatever the name is and and collect the stuff there so it doesn't have to be under that it's just it was an infrastructure we already had and We have nightly birds of the code already So it might also be just a good idea to leave it there Because because some workflows are already implemented and it would be quite a bunch of work to actually move that away To and migrated to some other namespace um so and and the the status quo actually is that all indicator related libraries now work on non-Ubuntu systems and I have ported the generic generic application indicator, which allows third-party applications to dock into the indicator area okay, and there is still some some of work to do and Basically You can contact me as Sunweaver, Debbie and org Sunweaver on IRC free note Or use the PKG Ayatana mailing list to get in touch Thanks for your attention