1 00:00:22,333 --> 00:00:27,599 Nicolas will present what Plasma 6 has in store for the future for us. 2 00:00:27,599 --> 00:00:30,566 Hello everybody, let's talk about Plasma 6. 3 00:00:30,566 --> 00:00:34,566 We'll get to the technical part of things with Marco, 4 00:00:34,566 --> 00:00:39,866 I don't know anything about that, but we'll talk about design and style first. 5 00:00:39,866 --> 00:00:45,766 So about that, the idea from the VDG that we had like some months ago was like to 6 00:00:45,766 --> 00:00:50,500 try to do some incremental style change, so without any 7 00:00:50,500 --> 00:00:53,599 big revolution in the design and the style. 8 00:00:53,599 --> 00:00:58,500 But whilst I was putting together the presentation, I realized that we did 9 00:00:58,500 --> 00:01:03,133 not do that and in fact we're still months away from the release 10 00:01:03,133 --> 00:01:09,133 and yet we have a lot of visual changes and redesigns and such. 11 00:01:09,133 --> 00:01:15,700 Not all of them have landed and are ready to be used in master, 12 00:01:15,700 --> 00:01:24,100 but everything that I'm gonna talk about today should be in Plasma 6 if I'm not too lazy. 13 00:01:24,100 --> 00:01:27,766 So starting off with some stuff about Plasma itself, 14 00:01:27,766 --> 00:01:35,199 we've got a completely redesigned overview, which yet again is currently not in master, 15 00:01:35,199 --> 00:01:40,899 it's in a branch, it's almost done, it looks completely different compared to what we have 16 00:01:40,966 --> 00:01:44,899 currently, it looks much more like to the GNOME overview, 17 00:01:46,100 --> 00:01:52,899 with the BlurMyShell extension, which I did use as a reference whilst implementing this. 18 00:01:54,100 --> 00:02:00,333 In here it's just a design that's different, but it actually works completely different because 19 00:02:00,333 --> 00:02:07,600 it also now includes the GridView and the idea is that there are three states, 20 00:02:08,400 --> 00:02:14,266 no overview at all, and then normal overview, and then the GridView, 21 00:02:14,266 --> 00:02:20,800 and you should be able to switch from one to the next one or to the previous one instead of having 22 00:02:21,933 --> 00:02:29,066 two different effects, it's just a single one that has both the GridView and the overview. 23 00:02:29,533 --> 00:02:37,933 Whilst doing that, the touch screen and touchpad animation gestures changed completely as well, 24 00:02:37,933 --> 00:02:45,300 so now you can switch between the three states, so as an example just by doing one swipe up with 25 00:02:45,300 --> 00:02:49,766 three fingers you're gonna switch to the next state, which is gonna be the overview, if you 26 00:02:49,766 --> 00:02:55,700 do it again then you're going to switch to the GridView, and if you yet again do three finger 27 00:02:55,700 --> 00:03:01,533 ups you're gonna get back to normal, and the opposite things happen if you go three fingers 28 00:03:01,533 --> 00:03:08,966 down as an example, and the same applies to the touchpad, so the gestures are consistent between 29 00:03:08,966 --> 00:03:17,133 the touch screen and the touchpad, so it's a pretty big rework of how you interact with your 30 00:03:17,133 --> 00:03:24,166 open applications, and ideally this should make all the transitions a bit nicer, and also if 31 00:03:24,166 --> 00:03:31,066 you're switching virtual desktop whilst in the overview that looks much nicer as well. 32 00:03:31,066 --> 00:03:38,566 Next up we would like to have, oh no sorry, we do have already, we have this already in master, 33 00:03:38,566 --> 00:03:45,366 it's ready, the settings for the panels have been completely redesigned, now they have these little 34 00:03:46,266 --> 00:03:52,566 drawings to show you what would happen if you click on each setting, which I think are super 35 00:03:52,566 --> 00:04:01,300 nice looking and should be applied to everywhere in system settings, and these however cannot be 36 00:04:01,300 --> 00:04:07,933 the last revision of the panel settings, because we do have to change them again to change how we 37 00:04:08,666 --> 00:04:14,900 set the position of the panels and such, because of some technical things that I think already 38 00:04:14,900 --> 00:04:21,533 happened but I completely lost track of them. Next up we would like to have floating panels 39 00:04:21,533 --> 00:04:27,600 by default, ideally it's a discussion that we're having, but to do that they need to work a bit 40 00:04:27,600 --> 00:04:35,200 better, so there is a merge request, again not landed yet, which reimplements a lot of the 41 00:04:35,200 --> 00:04:41,533 features that floating panels have, so now they do have a shadow, they didn't previously, and also 42 00:04:41,533 --> 00:04:49,933 whenever there's a window maximized they just defloat vertically without taking any more space 43 00:04:49,933 --> 00:04:56,500 as they used to do previously, they had this big margin around them, people didn't like those 44 00:04:56,500 --> 00:05:03,200 margins rightfully, now they're just gone, it just floats towards the top or the bottom, so that's 45 00:05:03,200 --> 00:05:11,366 nice and ideally, who knows, that might make the floating panels usable by default. Next up, 46 00:05:11,366 --> 00:05:17,766 the applets are going to be redesigned too, again this is very ongoing work, so what we do have 47 00:05:17,766 --> 00:05:26,666 already are this couple of very pretty switches, and the idea is that everything that gets applied 48 00:05:26,666 --> 00:05:33,933 immediately as soon as you click them is going to be a switch, not a checkbox, and checkboxes are 49 00:05:33,933 --> 00:05:39,766 going to be used for things that you click, and then you also have to click apply or it's some 50 00:05:39,766 --> 00:05:45,599 settings inside of an application, but yeah I do think that these switches within the applets look 51 00:05:45,599 --> 00:05:53,700 very pretty. We do also have a redesigned task switcher, this comes from the plasma sprint just 52 00:05:53,700 --> 00:06:00,000 a couple of months ago, and the idea is that we couldn't quite agree on which one was the prettiest 53 00:06:00,000 --> 00:06:06,966 task switcher, so we took a couple of them and just smashed them together, so now we do have thumbnails 54 00:06:06,966 --> 00:06:14,333 for each application and we also have the icons on top of the thumbnail, so that's gonna make it 55 00:06:14,333 --> 00:06:21,133 much easier to switch to the right one. So these are the things that are gonna happen to the plasma 56 00:06:21,133 --> 00:06:28,666 shell itself, I hope that I'm not forgetting anything, I probably am, but we'll also get more 57 00:06:28,666 --> 00:06:35,533 stuff when we get closer to the release date. There's also some more stuff, ah yes, I almost forgot 58 00:06:35,599 --> 00:06:42,000 about this one, sorry. So these are floating dialogues, these are again not in master, almost 59 00:06:42,000 --> 00:06:50,266 3D, and the only thing left is to decide how to expose them to the user, and we also kind of have 60 00:06:50,266 --> 00:06:57,533 to decide if we want them at all. If we do want them, then they're gonna look kind of like this, 61 00:06:57,533 --> 00:07:06,099 not by default but as an option, either that can be toggled by the user or by the plasma theme 62 00:07:06,099 --> 00:07:13,866 itself, so you just put some margin in the SVG file as an example and then that's gonna be applied 63 00:07:13,866 --> 00:07:20,266 around the dialogue so that it's floating. This used together with the floating panel actually 64 00:07:20,266 --> 00:07:29,366 helps reduce the number of margin errors, like some ugly stuff that happens when you open kickoff 65 00:07:29,366 --> 00:07:35,299 and it just like floats into nothing, so it's a bit better looking with this option. Again, 66 00:07:36,166 --> 00:07:44,166 might not be in Plasma 6, but who knows. Next up is not plasmashell itself stuff, as an example 67 00:07:44,166 --> 00:07:52,000 some things that are like stuff that can be reverted. As an example we do have a merge request 68 00:07:52,000 --> 00:08:00,566 ongoing for a completely redesigned icons for places and you know dolphin stuff, so this was 69 00:08:00,566 --> 00:08:08,966 started by Kenver and Matt a couple, a year ago or something, and luckily he wasn't able due to 70 00:08:08,966 --> 00:08:16,733 stuff to finish up the work, but we now do have the draft and all the python code that went with 71 00:08:16,733 --> 00:08:25,366 it and in fact it's a lot of python code that completely automatizes the process of creating 72 00:08:25,366 --> 00:08:34,900 new MIME type icons and folder icons. It's a super big thing that needs some python developer help, 73 00:08:34,900 --> 00:08:39,766 so if you know a bit of python and want to contribute to KDE, this could be a good starting 74 00:08:39,766 --> 00:08:47,533 point, it's just some tooling that needs to be finished. Next up we do have a redesigned mouse 75 00:08:47,533 --> 00:08:55,600 icon theme that if I recall correctly is currently in master. I think it was done by manual, 76 00:08:55,600 --> 00:09:04,566 again some thumbs up, so I didn't look much at it. It looks slightly different, this might not be the 77 00:09:04,966 --> 00:09:11,600 final version, but that's it. So this is the final version that will for sure be in plasma6 78 00:09:11,600 --> 00:09:19,200 and I think it's like a bit darker and a bit prettier. It's a bit incremental but it looks good. 79 00:09:19,200 --> 00:09:28,666 We also have a redesigned, if that's the word used for it, sound theme which isn't on master yet, 80 00:09:28,666 --> 00:09:35,066 but it is done. It is a bit weird from a technological point of view how to deliver 81 00:09:35,066 --> 00:09:42,000 this one to the user because currently we do not have the concept of sound themes that you can just 82 00:09:42,000 --> 00:09:48,333 swap out, we don't have a system settings page with a lot of sound themes that you can switch 83 00:09:48,333 --> 00:09:56,733 between. So one idea would be just to replace all old oxygen sounds with these new ones. It would 84 00:09:56,733 --> 00:10:02,566 be a bit weird but we can do that and there's a no from the audience so we're not gonna do that. 85 00:10:03,700 --> 00:10:09,766 Again I'm kind of outdated on the latest info about these ones but you can check it out. And 86 00:10:09,766 --> 00:10:17,866 finally there's also the idea of having some colorful window headers. So the context about 87 00:10:17,866 --> 00:10:25,366 this, this doesn't exist yet. These pictures are edited and they're also misleading because you 88 00:10:25,366 --> 00:10:31,066 see a lot of different colors between windows. That's not the idea. The idea is that you have 89 00:10:31,066 --> 00:10:38,500 an accent color as always and that accent color is slightly applied to the window header that 90 00:10:38,500 --> 00:10:44,733 you're currently using. It's going to be the same accent color for all the headers but only for the 91 00:10:44,733 --> 00:10:50,400 active window so that it's easier to actually distinguish what you're currently using from 92 00:10:50,400 --> 00:10:55,933 other windows. Also there's no merge request or patch that currently implements this. 93 00:10:56,500 --> 00:11:03,700 There are two different options. One to actually paint the header bars but it uses a different 94 00:11:03,700 --> 00:11:08,666 color that's way stronger. It's actually the same one as the accent color so we don't want to go 95 00:11:08,666 --> 00:11:15,933 that route. And the other one does tint the colors but it tints all of the colors of the window which 96 00:11:15,933 --> 00:11:24,400 is pretty cool but we didn't want to go that route by default. So this is the idea. You pick 97 00:11:24,400 --> 00:11:30,666 an accent color, it's going to be slightly tinted, it's probably not going to be as strong as I 98 00:11:30,666 --> 00:11:37,700 presented it right here. This is just to see what's going on. Just something very slight to help you 99 00:11:37,700 --> 00:11:44,966 identify what is the currently active window. And from the design point of view I think that was 100 00:11:44,966 --> 00:11:50,666 everything. If you have any questions I guess that's at the end we're gonna do. And if I forgot 101 00:11:50,666 --> 00:11:55,366 anything again I'm really sorry but that's what I was able to come up with. 102 00:11:58,500 --> 00:12:05,200 Okay so now unfortunately the pretty pictures are over and there are boring technical details 103 00:12:05,200 --> 00:12:13,700 and code samples so bear with me please. Most of the rest of the talk will be about things inside 104 00:12:13,700 --> 00:12:20,900 the Plasma Shell itself and how plasmoids are written but it would be unjust to talk about 105 00:12:20,900 --> 00:12:28,900 Plasma 6 without mentioning some important things that are coming in the other big very big component 106 00:12:28,900 --> 00:12:36,333 of a Plasma session which is KWin. Just three important things to mention. In master already 107 00:12:36,333 --> 00:12:45,933 KWin will support HDR so if you have the right hardware, the right monitor, if you run an 108 00:12:45,933 --> 00:12:52,333 application that natively supports HDR such as a particular game or a particular video it should 109 00:12:52,333 --> 00:13:00,166 work out of the box. Everything more colorful and beautiful. Another big feature on Wayland which is 110 00:13:00,166 --> 00:13:06,900 very important for future parity with X11 is the restart support. So until now on a Wayland session 111 00:13:07,866 --> 00:13:16,333 on any system on any desktop if you had a crash on your compositor or if you just wanted to restart 112 00:13:16,333 --> 00:13:24,100 your compositor then you lose the whole of your session or all of your applications. Now the 113 00:13:24,100 --> 00:13:30,333 applications will support the compositor going away at least every application that supports 114 00:13:30,333 --> 00:13:37,300 the protocol and then the compositor restarts and you should get all your applications running 115 00:13:37,300 --> 00:13:44,666 like nothing happened. Another thing not there yet but we are planning to support which 116 00:13:44,666 --> 00:13:50,800 could have quite some more applications. There is a new Wayland protocol floating around about 117 00:13:50,800 --> 00:13:58,000 workspaces that it's basically a virtual desktop protocol on steroids which will allow us to do 118 00:13:58,000 --> 00:14:03,700 things like different virtual desktop error activity or different virtual desktop error output 119 00:14:03,700 --> 00:14:12,500 which also ties on the further support of tiling that we will do in KWin since apparently for 120 00:14:12,500 --> 00:14:17,466 tiling window manager users having different virtual desktop screen it's quite of an important 121 00:14:17,766 --> 00:14:25,300 thing. Now passing on all the rest on what's happening in what is purely the Plasma session 122 00:14:25,300 --> 00:14:33,533 so your panels your widgets and what changes are in the Plasma library and in how you are writing 123 00:14:33,533 --> 00:14:40,966 plasmoids. The rest of the talk will be about that because there are many third-party plasmoids 124 00:14:40,966 --> 00:14:48,166 on the store whoever maintains that will have to do quite some work. The good news is that 125 00:14:48,166 --> 00:14:55,766 almost everything that is around on event everything on workspace and whatnot has already 126 00:14:55,766 --> 00:15:04,166 been ported but there are quite some important API changes so let's start with a thing we are 127 00:15:04,166 --> 00:15:11,466 getting rid of. Data engines that was that concept that we had at the beginning of KDE4. 128 00:15:11,466 --> 00:15:18,166 At the beginning we wanted to write plasmoids in javascript that was before QML again existed so 129 00:15:18,166 --> 00:15:28,400 we came up with a completely imperative API and the way to get data from your tasks like your 130 00:15:28,400 --> 00:15:35,466 notifications and whatnot from C++ source was we did that API. It worked very well in a 131 00:15:36,100 --> 00:15:42,266 imperative work it doesn't really work and we do have bindings from QML but doesn't really 132 00:15:42,800 --> 00:15:50,166 much well that job is done much better by QML extensions so you have you write your 133 00:15:50,166 --> 00:15:57,066 your QObject with properties and data models and whatnot and expose that to QML. Now it's the way 134 00:15:57,133 --> 00:16:05,200 to do that so everything about data engines has been moved out of libplasma it's seen in its own 135 00:16:05,933 --> 00:16:12,500 repo in workspace called Plasma 5 support so for the time being the existing data engines 136 00:16:12,500 --> 00:16:17,766 still work but we are planning to eventually get rid of all of that. Second thing, 137 00:16:17,766 --> 00:16:25,366 SVGs. We will still support SVG teams as they are you can think they are kind of getting 138 00:16:25,366 --> 00:16:33,533 long in the tooth that's correct and we eventually will have even some way to replace that 139 00:16:33,533 --> 00:16:39,766 will not be for plasma 6.0 it's something to think about in the future but in the meantime 140 00:16:40,333 --> 00:16:47,933 actually some things in all the SVG related libraries were quite useful for instance I 141 00:16:47,933 --> 00:16:55,600 heard many times that somebody wanted to have some simple SVG icons in its android application 142 00:16:56,266 --> 00:17:06,166 that but that wanted to color with with a color theme and a cache on disk because loading SVGs on 143 00:17:06,166 --> 00:17:12,566 android was not with Qt SVG was not really great in Plasma there were classes to do exactly that 144 00:17:12,566 --> 00:17:19,466 couldn't use them because all of the dependencies of the Plasma that depended from everything now 145 00:17:19,466 --> 00:17:26,000 all of that has been moved to a different framework called ksvg basically recycling 146 00:17:26,000 --> 00:17:33,066 the name of an old dead one but that's fine so it's Plasma svg Plasma frame svg so still supporting 147 00:17:33,066 --> 00:17:39,699 the nine patches thing everything about Qt SVG is not exposed in the public API so in the in the 148 00:17:39,699 --> 00:17:47,600 future we could even in a compatible way switch the back end if need arises for now if you were 149 00:17:47,600 --> 00:17:54,566 using it porting it it's very simple it's just pretty much just the changing the import changing 150 00:17:54,566 --> 00:18:04,266 the namespace and it's okay all the old API still works for simple SVG items you are now just 151 00:18:04,266 --> 00:18:11,066 recommended to use this more compact form but the old form still worked a nice addition is that 152 00:18:11,066 --> 00:18:16,399 that this framework has compared to the plasma version if you had SVGs that support all the 153 00:18:16,399 --> 00:18:23,199 stylesheet stuff to to have like a rectangle with the with the same color of the system color 154 00:18:23,199 --> 00:18:31,699 background now this this works with normal system colors it integrates with Kirigami and the Kirigami 155 00:18:31,699 --> 00:18:39,866 team class so even if you by hand replace a color then in your svg that will be paints with the new 156 00:18:39,866 --> 00:18:49,133 color as well which is nice on the c++ side there is this image set class where you define where 157 00:18:49,133 --> 00:18:56,000 your SVGs are so you don't have to use a Plasma team in your application you can have any set of 158 00:18:56,000 --> 00:19:02,966 elements and files you want and you can ship it for instance in the data application of your 159 00:19:02,966 --> 00:19:09,766 application or or together with all the qml files or whatever you want you control it with this 160 00:19:09,766 --> 00:19:17,199 class yeah that's basically it the biggest headache if someone wrote a plasmoid third-party 161 00:19:17,199 --> 00:19:24,733 plasmoid on the store the biggest headache is a big change in the plasmoid api also the the 162 00:19:24,733 --> 00:19:35,199 plasmoid api still had many components from the old imperative javascript api and we wanted to get 163 00:19:35,199 --> 00:19:42,800 rid of all of them so you had this still this magical context property which is not a good 164 00:19:42,800 --> 00:19:51,699 thing to have in qml called plasmoid which was a qquik item that wrapped most not all kind of 165 00:19:52,166 --> 00:19:59,133 similar but not exactly the same api of the central class of plasma is plasma applet 166 00:19:59,133 --> 00:20:05,699 now you only have the uppercase plasmoid so an attached property version which is directly the 167 00:20:05,699 --> 00:20:12,333 plasma applet instance so you can use basically 100 of the api or everything that is exposed in 168 00:20:12,333 --> 00:20:20,333 the api has properties invocable signals and whatnot what was that qquik item it became 169 00:20:21,133 --> 00:20:26,800 graphical element called plasmoid item that now must be the root element of your plasmoid so 170 00:20:27,466 --> 00:20:35,600 comparing these we used to have any random item as the root item and then put the attached properties 171 00:20:36,266 --> 00:20:42,733 for like full representation so basically this full representation will always be basically your 172 00:20:42,733 --> 00:20:49,600 item so this in most of the plasmos these these actual graphical item was not shown anywhere 173 00:20:49,600 --> 00:20:56,966 in the in the scene which was kind of weird now you would declare it like that and and this 174 00:20:56,966 --> 00:21:04,100 will be the actual root object in the scene of your plasmoid the more semantic properties like 175 00:21:04,100 --> 00:21:10,166 title like the status if it's expanded or not are still of plasmoid which is not the applet 176 00:21:10,733 --> 00:21:15,699 and the purely graphical ones like the actual representation or compact representation for 177 00:21:15,699 --> 00:21:21,600 representation are direct properties of that plasma item that the main thing that changes 178 00:21:22,399 --> 00:21:30,266 another thing that was completely taken from the javascript api was the actions api basically 179 00:21:30,266 --> 00:21:37,133 a plasma can just add an arbitrary number of context menu action if you right click like on 180 00:21:37,133 --> 00:21:46,800 its icon on the panel or whatnot it used to have this api that it's very imperative so in uncompleted 181 00:21:46,800 --> 00:21:55,133 then a bunch of javascript which created internally this is called created internally a qaction and 182 00:21:55,133 --> 00:22:02,333 then if you wanted to bind something you even had to use an imperative api for for property bindings 183 00:22:02,333 --> 00:22:08,500 and then to react when when the user clicked that you had to declare a function with a kind 184 00:22:08,500 --> 00:22:13,866 of magical name so if this was previous it was action previous and then you have your code 185 00:22:13,866 --> 00:22:21,066 now on the attached plasmoid object contextual action is a list property so you just declare a 186 00:22:21,066 --> 00:22:26,899 list of everything you need and then and then the action you just you just put it declaratively 187 00:22:26,899 --> 00:22:32,166 with all the bindings and whatnot this action type is actually a natural qaction because are 188 00:22:32,166 --> 00:22:39,533 things that still go from qml to c++ back and forth so they are not qml actions it's something 189 00:22:39,533 --> 00:22:46,566 that i would really like that was supported in qml the fact that the qml actions are not real 190 00:22:46,566 --> 00:22:53,366 actions it's still something i'm not completely happy so hopefully in the future something better 191 00:22:54,333 --> 00:23:05,199 another thing that that changes in how things are done so in kirigami when we first designed it 192 00:23:06,100 --> 00:23:13,066 we had lifted pretty much one-to-one some concept that we were using and like in plasma 193 00:23:13,600 --> 00:23:21,066 that that we could not use there again because of dependencies that brought out quite some code 194 00:23:21,066 --> 00:23:28,800 duplication basically to two big classes plasma team and plasma units so plasma team for all the 195 00:23:28,800 --> 00:23:36,399 colors so i want a background color i want a text color whatnot that come magically from the proper 196 00:23:36,399 --> 00:23:43,600 color team but over over over the the years the the kirigami version got much more advanced 197 00:23:44,166 --> 00:23:52,266 than the plasma version like this inheritance so i can say the kirigami theme of this item is 198 00:23:52,266 --> 00:23:59,366 an header so if if a header has different colors everything in that item also the sub items will 199 00:23:59,366 --> 00:24:06,100 have colors from the header which is possible because it's an attached property that that's 200 00:24:06,733 --> 00:24:13,366 narrates in the whole tree of of the scene while the plasma version was a singleton so this was 201 00:24:13,366 --> 00:24:19,199 the same for the whole application didn't really work also in kirigami for some reason the 202 00:24:19,199 --> 00:24:25,699 application wants that in that particular part in all its children the background color is not 203 00:24:25,699 --> 00:24:34,266 normal but it's a particular shade of purple for reasons it works so in plasma six a team 204 00:24:34,266 --> 00:24:40,899 will go away just use the kirigami version units that it's for for duration animation and duration 205 00:24:41,699 --> 00:24:48,166 layout spacing and whatnot also that use the kirigami version another class that was in plasma 206 00:24:48,166 --> 00:24:55,366 was color scope that was implementing that in color inheritance that i talked before also that 207 00:24:55,366 --> 00:25:01,199 goes away from plasma 6 so so yeah just just use the kirigami version a blocker that we couldn't 208 00:25:01,199 --> 00:25:10,399 do that in in in plasma 5 was that we may have to need two different teams so like plasmoids need 209 00:25:10,399 --> 00:25:15,866 colors that come from the plasma team configuration dialogues needs colors that come from the system 210 00:25:15,866 --> 00:25:23,066 team by default those two are the same thing but some plasma teams have their own core set so we 211 00:25:23,066 --> 00:25:30,666 have to base where we are we have to return the proper colors now this works in plasma 6 so so 212 00:25:30,666 --> 00:25:39,133 that's fine so also yeah units i use the kirigami version icons we had a particular widget for 213 00:25:39,133 --> 00:25:44,166 displaying icons in plasma that was also duplicated in kirigami didn't make any sense 214 00:25:44,166 --> 00:25:52,733 so use only the the kirigami version it's kind of unfortunate that one to display icons that 215 00:25:52,733 --> 00:25:59,466 properly works is not really in qml base but at least we have only one implementation instead of 216 00:25:59,466 --> 00:26:04,899 two so yeah most of most of the work in plasma 6 was actually to make it way smaller with much 217 00:26:04,899 --> 00:26:12,000 less code to maintain so hopefully less bug so any question both of my part and nicolo part 218 00:26:17,766 --> 00:26:25,766 so regarding the floating dialogues are you gonna like have a way to have a little arrow that points 219 00:26:25,766 --> 00:26:33,533 to the part to the little applet that's been requested actually implementing that would be 220 00:26:33,533 --> 00:26:39,866 quite painful to say the least so i would be inclined to say currently no like ideally i 221 00:26:39,866 --> 00:26:47,699 would like to have that but understandable it's it's possible it's it's yeah it's painful it's 222 00:26:47,699 --> 00:26:54,000 not technically impossible all the dialogue also one thing that i forgot to mention all the 223 00:26:54,000 --> 00:27:00,566 implementation of those pop-ups the edi class was quite of a mess internally as being rewritten 224 00:27:01,133 --> 00:27:09,933 so that may make it a bit easier to do in the future so i must say i'm sick and tired of oxygen 225 00:27:09,933 --> 00:27:15,133 sound so i'm glad that there's finally something new coming up i'm also happy that you log into the 226 00:27:15,133 --> 00:27:20,166 xg sound scheme spec which is something i've wanted to implement for the longest time so 227 00:27:20,166 --> 00:27:23,533 we should have a chat about all of that if there's anything else you need or if there's 228 00:27:23,533 --> 00:27:28,399 something that might be still floating around on my computer that you could find useful but yeah so 229 00:27:28,399 --> 00:27:33,133 very nice work on the whole sound stuff and let's bring back the broken glass sound 230 00:27:38,966 --> 00:27:45,699 so now that we have the ability to use kirigami themes theme stuff can you touch a little bit on 231 00:27:45,699 --> 00:27:52,000 the blockers to unifying the actual component sets themselves such that we could also get rid 232 00:27:52,100 --> 00:27:58,733 of the duplication between say the kirigami and plasma versions of things like placeholder message 233 00:27:58,733 --> 00:28:06,733 label things like that right so there is still one problem to just use every single kirigami 234 00:28:06,733 --> 00:28:16,399 components in plasmoid still for the same problem of having to support two teams in the same process 235 00:28:16,399 --> 00:28:23,699 so for everything that is just colors like just label headers and and things like that we now can 236 00:28:23,699 --> 00:28:31,699 use it without problems everything that uses Qt Quick controls so like if a controller is inside 237 00:28:31,699 --> 00:28:39,866 a button then that becomes a problem because simply the import import Qt Quick controls 238 00:28:39,866 --> 00:28:48,666 gives you only possible team per process because it's how the button type is registered 239 00:28:48,666 --> 00:28:55,300 so we cannot have two and that is still an unsolved problem in Qt 6 unfortunately 240 00:28:56,100 --> 00:29:03,300 no more questions and thank you Marco and Nuclo 241 00:29:09,866 --> 00:29:10,833 you