9 comments

[ 585 ms ] story [ 166 ms ] thread
KDE 3 was on DCOP, which would be fascinating to try to revive too. Unlike DBus where the programmer has to implement a DBus world, iirc every app was basically wired for automation from the start via DCOP, that it was just baked in. That would be fascinating to see.

I do really appreciate Klassik here though in general. There's so much nostalgia work for recreating or preserving various old systems. It's a noble tribute to see classic linux desktops also paid that honor.

AFAIK, there was nothing in DCOP that automatically exposed functionality, and this old documentation seems to confirm it: https://techbase.kde.org/Development/Architecture/DCOP
> Currently the only real way to receive data from DCOP is to multiply inherit from the normal class that you are inheriting (usually some sort of QWidget subclass or QObject) as well as the DCOPObject class.

I could be wrong but I believe the QWidget's that make up nearly every KDE app had DCOP built in to them.

It would have been possible to automatically wire up Qt slots from its signals and slots system because these are introspectable, but AFAIK that was not done. For any arguments that needed to be serialized as more than one element of a QDataStream, it would have required additional marshalling code. Objects would also have needed consistent and unique names.

It would have been hacky and questionable to incidentally expose application internals like that.

How it was apparently done was that eligible objects inherited DCOPObject, for which marshalling code was generated at build time using dcopidl2cpp.

https://api-staging.kde.org/legacy/3.0-api/classref/dcop/DCO...

Thanks for digging in further! I'd done some poking around but I appreciate the deeper look! This has always been a fascinating topic for me, but it was only a month or two ago I actually poked around, saw that same architecture page you'd linked, etc. Obviously you went further though & I appreciate it!
Unlike modern Gnome, KDE Plasma is _really_ good. In fact, you can configure it to almost perfectly mirror Gnome 2.

That being said, this is really cool, and brings back a lot of memories.

My only problem with modern gnome is that it is a bit too opinionated. Their design team may decide to remove something people use every day just because it doesnt fit their vision of how a computer should be used.

Otherwise is it a great DE. It is good looking and runs extremely smooth and I prefer it to macos and windows 11 every day of the week.

KDE on the other hand, for some reason feels to me like going back to windows 98.

You can configure KDE Plasma to be nearly identical to Gnome 2 / Mate.

It's great.

> KDE on the other hand, for some reason feels to me like going back to windows 98.

...which tbh is a good thing, because the Windows desktop of that time was pretty much the peak of the desktop UI paradigm, with actual research going into the UX instead of 'whims and vibes' like today (I would pick Win2k though since it had a much more solid technological foundation than Win95/98).

KDE has found its own way since it was a mere Windows desktop copy though (e.g. it's much better now - even more visually consistent - than both modern Windows and macOS). But unlike GNOME, KDE never abandondend what made it great.