KWin and Plasma Won’t Merge – Not Even in “KDE 5”

Today reading through planetkde gave me quite a WTF moment. The merge of KWin and Plasma was announced for KDE 5. This is quite a WTF if I do not know about that. In fact I do not even know of anything “KDE 5”. So be assured: there are no plans to merge KWin and Plasma – not even in a hypothetical KDE 5. This does not make sense, would bring no benefits and the “advantages” posted in the blog post cannot be achieved by merging the code bases.

It would be nice if bloggers would at least ask one of the maintainers of the software in question if they have any plans in that direction before posting it on planetkde which is picked up by media. We have enough work to do without correcting non-sense or discussing how best to break the desktop.

=-=-=-=-=
Powered by Blogilo

15 Replies to “KWin and Plasma Won’t Merge – Not Even in “KDE 5””

  1. We have enough work to do without correcting non-sense or discussing how best to break the desktop.

    Very interesting that you are saying that. I have not announced anything, there are no plans and there have not been any plans. How often do I have to correct this nonsense? I have shared some thoughts, and you should be aware that there are different opinions about this. I still do not get your point why there should be an implementation for window-composition and a separate implementation for Plasmoid-composition.

    1. And you worded it as an announcement, and as “official” opinion, without any clarification that you aren’t a Plasma or KWin developer, and you don’t understand their codebases at all.

      1. No I did not, from the beginning I said that that are just thoughts, and I added a lot of clarifications, I do not understand how Martin can still say that I have announced anything. I am not a Plasma-developer, but I am a bit familiar with Plasma’s codebase, used it some time ago.

        1. Yes, you did, and more than one person has noticed that and commented on that fact, yet you deny it. You not seeing it is your own blindness.

        2. I think your blog post does not clearly state that it is your idea, that you are neither a KWin developer nor a Plasma developer, that there has not been any discussion about it between said developer groups, that there won’t be any discussion between said developer groups, that you do not know KWin’s and Plasma’s code base and so on and so on.

          I felt that I had to make sure that we won’t have media articles tomorrow stating “KDE discusses merge of Plasma and KWin”. There is nothing to discuss as such a merge would be plain stupid.

          1. That are just hallucinations, random thoughts for discussion, no concrete plans.

            That statement had been there even before your first comment, hallucinations ≠ announcements, that should be obvious. Btw I have had a closer look at some parts of Plasma’s codebase and architectures and a superficial look at KWin’s codebase, but that is not that important, PlanetKDE is for personal, KDE-related stuff, not for official announcements, you can find announcements at dot.kde.org.

            I am still interested why there should be two frameworks for widget/window-composition.

            1. Yes and the media will respect that planetKDE is for people and not for announcments. We cannot even discuss on the mailinglists without the media picking up on it. I as the maintainer of the one of the software in question saw a danger and because of that I had to write this post in a way to make clear that the complete idea is ridiculous – which it is.

              I am still interested why there should be two frameworks for widget/window-composition.

              Maybe because widgets are widgets and windows are windows?

                1. I agree, and there is no substantial difference, there are microblogging-clients, rss-readers, comic-viewers, (simplistic) file-browsers, games etc. implemented as “widgets”. And I do not think that simplistic applications need different composition than complex applications.

                  1. Ok, am a little late 😉

                    First off: There’s a MAJOR technical difference between windows and plasmoids.
                    I do see that this is not visible to users, but there is – trust me 😉

                    Windows come from separate processes which put onscreen drawables on the X11 server.
                    Plasmoids are part of the plasma shell. In a way, plasma-desktop is it’s own display server for plasmoids,
                    However these display server work entirely different.
                    “Normal” applications put (from external processes) content into a drawable of the X11 server, while plasmoids have direct access to the GUI thread of plasma.
                    There are two consequences reg. robustness.

                    If an X11 window enters an infinite loop (“livelock” – somewhere in it’s GUI thread) this will block this window. Nothing else.
                    If a plasmoid does so (has happened with at least one amarok plasmoid script), the entire plasma-shell will be locked (same process and even same GUI thread. There’s only one for tech. reasons)

                    If the process for an X11 window crashes (like calling 1 DIV 0), (ideally, there’re still some bugs in some effect plugins 🙁 nothing else happens. The application’s gone. Bad luck.
                    If a plasmoids crashes this way, it will take the plasma-shell with it.

                    Both plasmoids and X11 clients are 3rd party things with great to well, “debatable” quality. X11 is robust – plasma is like windows 3.11 (what actually doesn’t matter since plasmoids are ideally uncritical toys or frontends for off process data engines)

                    Now if you have a pot. killing plasmoid in the WM process the result of the above bugs would be:
                    a) The WM/compositor is blocked what means you can either not pass around focus or the entire screen (when compositing is used) is frozen.
                    b) The WM crashes (what happens too often anyway) what means you cannot pass around focus anymore, ie. “use your desktop” (unless kwin would do sth. like with compositing and at some point shut the plasma stuff off)

                    Therefore the plasma concept does entirely not fit a general WM. Afaik GNOME3 has kicked /all/ desklets and whatever 3rd party support for gnome-shell.
                    If you just want a wallpaper effectplugin for KWin – just call.
                    It’s a 4liner – well plus the license header ;-P

                    Aside this major technical blocker, there’s probably a strategical one.
                    KWin is a Window Manager for X11 and maybe later on for Wayland. There’s no point for sth. like this on windows or MacOS or mobile devices (they either ship WMs which are not easily replaced and replacing them would cause quite some trouble, or they do not require a window manager at all, since there are no “windows”)

                    Given plasma has (by it’s displayserver approach – is this actually some sort of MDI…? 😉 some “interest” in systems beyond X11 (frankly: i believe the gadget driven thing was designed with smartphones in mind and not so much for the desktop of a workstation… at least i can make nothing out of them on my desktop), it might be quite contraproductive to merge it with KWin, alas making it depend on X11 and a compositor, ie. a very certain system.

                    Enough spoken. Martin is right. Period.
                    You’ll have to reason other than “plasmoids seem like simplistic normal windows” for this discussion, sorry.
                    If you feel confused by the widgetoid dekletgadget thingy plasmoids:
                    I don’t know what’s that good for either, but if you just want to run a tiny scripted simplistic APPLET (it’s no application 😉 as a real window (in the window stack with alt+tab support etc.) – there’s still “plasma-windowed”

        3. Dude, most people only read the title and maybe skim a little bit of the text so few people actually care if what you said was just your own thoughts somewhere in the body of text.

          Something like “(Warning: I’m neither a developer of Plasma nor Kwin so this post should just be seen as a random idea, please offer constructive criticism as to whether or not this would work in the comments)” at the top in bold would help…

          And prepending your title with “Random musings from a non developer: ” would have been advisable idea, minimized confusion and gotten you a lot more constructive feedback.

          I’m just a random user who reads a lot of RSS feeds and your title certainly threw me off track.

  2. >> I am still interested why there should be two frameworks for widget/window-composition.

    The key difference is that widget/plasmoid is designed and optimized to do ONE job, and one job only.

    The applications are much more complex creatures. Of course there are exceptions, but they are rare cases.

    p.s. in similar multi-blog spread discussions, where shall the concerned reader posts its comments…

  3. I think it’s fair to say that widgets are very different from windows. Windows manage content, widgets *are* content. Maybe there are more opportunities for sharing code(maybe with acceleration?), but the tasks of a window manager are fundamentally different from plasma widgets. In Linux desktop architecture windows are just containers. Also… plasma containers lay out controls, window managers do not.

  4. I get the frustration from you, Martin, that this comes up again and again… But it will keep coming. For an end-user, widgets and windows DO seem very much alike. They see little area’s with defined dimensions which contain specific functionality (cf choqok vs the microblogging plasmoid). These objects can be moved and resized. And you can even bring them close to each other by running plasmoids in a window…

    Now technically, yes, they’re entirely different. But if you know nothing of technology, what does that buy you?

    And while I’m the type of person who simply takes the word of developers like you to be true (what do I know, after all?) there are plenty of people who despite their lack of knowledge keep argueing 😀

    Maybe you can write down a blog explaining the diff somehow. After all, with tiling, plasmoids-in-windows, xembed etc – having windows as widgets on the desktop is possible and having widgets as windows too. So indeed the lines are blurry for end users…

    xxx

    1. I will spent some time in a plane on Saturday and hope to use it for some blogging. I will consider to write something down.

Comments are closed.