Should I use one over the other?
Kdiff3 is a three-way diff application, so it can be used as git difftool. It’s useful for instance when you need to rebase. You see the original, your changes, and the remote changes, hence “three-way”.
The UI seems rather outdated, and it seems to be geared for keyboard use.
IIRC Kompare is not three-way, only two-way. It can’t be used as git difftool but it can be used for things like checking the difference between two whole folders, which I’ve used myself to identify faulty configuration files in the past.
I remember liking its UI better and it being nicer with the mouse, though it’s been a while.
The other answer is such a (unintentionally) bad answer, I had to create an account, just to correct it.
First of all, KDiff3 of course supports comparing directories (or as the Microsoft customers call them, “folders”). It’s right there when you open the program the first time, so I doubt Herzenschein ever even did that.
Second of all, what kind of “developer” prefers the slow and cumbersome mouse to the keyboard? KDiff3 works great with any of them, but of course it is targeted at professionals. Who want to get things done and not move their hand over to a mouse, find one of those ridiculous 4px click areas, hit it too, and then move it back. That takes forever! The movie meme about “hackers” (computer experts) typing like crazy has a reason: Because they do! You need to, to get work done quickly enough to be satisfied.
And regarding the UI… This is not Apple. Form follows function, and not the other way around. There’s a reason many pros use Emacs and VI etc. KDiff3 may aswell be a text program. (In fact many simply use vimdiff, which in some aspects is superior to any mentioned here.)
So to talk about the current trends and fashion of UI design … is like a submarine operator complaining about the lack of shiny glass and touch screens and the colors clashing with this year’s blouses. You sure you didn’t want to pick marketing for a fashion company (like Apple) instead? XD
(And to make that clear: Nothing wrong with pretty things or being into that sort of thing. It’s the blind follower mentality that is harmful.)
KDE simply has software that is part of the core, with a promise to be maintained (because modern software always has to be maintained, and strangely never is finished .Just like Soviet Russia’s everlasting “transition to communism”. ;), and software that is not integrated into that. Sadly, KDE’s developers fell for the race to the dumbest common denominator popular with software businesses, and always choose the wishes of the most clueless over what would be most useful, leading to the software becoming more and more simple, as opposed to emergent, and hence becoming less and less powerful. And conveniently, it’s a lot less effort to maintain a weak featureless application, so that is why Kompare is part of the core and KDiff3 is more on the sidelines, maintained by those who care.
As a result, it always takes quite some time to port it to yet another new version of the framework whose innovations have become mostly pointless job creation schemes, decades ago. In short: It serves no point to “upgrade” KDiff3 to the new UI. It’s gonna be deprecated and changed for the latest trend soon anyway. (As we’re speaking, the “trend” is featureless colorless minimalism (well, ‘depression gray melange’ is the “color” of the decade) on a mentally troublesome level… (Minimalism is actually just a precursor to suicidal tendencies in introverts. [Disclaimer: I have worked in the field, as does half my family]) I think that says it all.)
The hard fact is simply: There is no properly good diffing application for Linux.
I’ve had Beyond Compare on Windows, ~20 years ago, and that was already lightyears ahead of any of the previously mentioned. We can only dream of finally diffing pictures, structured documents, and even 3D models. Even though all of that is quite easy. I’ve literally written small tools to do that in bash on one evening.
Both KDiff3 and Kompare lack functions that I consider essential. Like telling the diffing algorithm that a a line matches a different line in the other file than what it thought it did, and forcing them to be side-by-side, without much hassle. But yeah, the key difference is that KDiff3 is like the “pro” version, allowing three-way diffs. (Though it could easily support unlimited n-way.)
So the difference between KDiff3 and Kompare is more like the difference between something from Aliexpress and something from Temu. There are some, sure, … one says “pro” … but in reality, does it matter? XD
I had made a distinct effort to make my comment nuanced back then, but I guess it wasn’t clear.
I wasn’t saying KDiff3 lacks folder comparison or that what I find about the appearance is an objective fact. I was saying that to compensate for the lack of three way diff people might want to look at its folder comparison feature since it’s good and I tested it myself, and that Kompare looks more modern than KDiff3 and I personally like it.
The comment was this neutral and equivalent so people could make a judgement by themselves:
- Oh I like those old style UIs and I prefer a keyboard workflow, so I’ll try KDiff3.
- Well I need three way diff, so I’ll use KDiff3.
- Oh I like modern UI style and I prefer clicking buttons, so I’ll try Kompare.
- Well I don’t need three way diff, so I can use Kompare.
I could have refrained from mentioning my tastes I guess, but just because I like the UI of one over the other doesn’t mean the one I like is better, that should be evident.
On the thing about shortcuts and mouse usage: I wasn’t saying “mouse better than keyboard”.
Regardless of whether you think shortcuts are objectively better or the way to gatekeep professionals from alleged fakes:
- KDiff3 has no context menu when right clicking a diff, has smaller toolbar buttons that require hovering to see what they are, and it’s very efficient with keyboard shortcuts (it needs to, it provides way more actions to the user)
- Kompare has a context menu when right clicking a diff, has large toolbar buttons with text by default, and it’s okay with keyboard shortcuts (it has way less actions to deal with after all)
Really.
One thing that is common with those is that both don’t support polkit
, so one is forced to use sudo
.
Really why is that, when most KDE apps support this, maybe a bugreport->wishlist is needed.
/edit: Ah yes it exists 462696 – [Kompare] Doesn't Request Permission to Save Changes to SuperUser-owned Files