szalkai posted on Mon, 24 Aug 2009 22:41:19 +0200 as excerpted: > Now that this exciting little flamewar has finished, and everybody is > friends again :), could you Duncan please give some examples of major > breakage in KDE4?
Altho some of it's covered down-thread by others, I did promise it if any one asked, and you did, so below you'll see a bit of a list, some mentioned in the followups I've read so far, some not. > I have been using it since 4.1.something and it is > getting better and better. Absolutely! I've been trying it on and off since before 4.0 actually came out, and you're 100% correct, it *IS* getting better and better. But 4.0 was NOT release quality and at least KDE has allowed /that/ much, tho we still differ on where release quality actually looks to be achieved, and they had a LONG way to go. Again, as noted previously, part of the problem is actually how exceedingly good kde 3.5. was, a point that's even more amazing when you consider the age of the technology involved. Kde4 was pretty much a ground-up rewrite, and no matter HOW you slice and dice that, it WILL take awhile, especially when the previous version was as good as 3.5 was/ is. I just wish they'd continue to properly support 3.5 until 4.5 or so, when I believe it'll finally be comparable, plus of course the new features 4.x has. And that they'd have handled the whole transition better, but that can't be helped now, tho they /could/ still actually support 3.5 another year if they wanted to. > Also, it took me nowhere near 80 hours to > switch from 3.5.10 to 4. Well, as you'll see below, I depended on much in kde3 that simply hasn't made the transfer, yet, at least not in fully functional form. That has been a HUGE problem, or rather, multiple problems, thus the 80 hours. > I admit that I have a konsole with seven tabs open all the time, and do > most of my work from there (and use firefox for browsing and thunderbird > for emails), so I am not a KDE poweruser by far (while definitely a > linux poweruser at least), I'd say that anyone actually using Gentoo (not just surviving it, following rote directions) is a Linux power user by definition, at least by definition of comparison to the average user on most of the binary distributions. That's not a putdown of the binary distributions, BTW. There's absolutely a place for the Ubuntus of the world, and their users, and we were all newbies at one point. But some of us at least don't stay newbies... And Gentoo is suitable for newbies too, if they're willing to actually pay attention, read docs, and learn! I know for a fact (from the postings on the docs list from the guy who developed and taught it) that Gentoo is used in at least one decently in- depth high school and college level intro to computers and computer technology class. He starts by explaining the basics of memory, etc, in a karate-kid/guru style format (the kid visits an old computer guru who starts teaching him what he knows). By the middle of the second week (in a semester class), they've covered the basics, and are getting into Gentoo. The rest of the semester, they do the install, I think from stage-1, gradually bootstrapping the system over the weeks, with the function of each new package in the system level explained along with configuration, etc. By the time they are done, they have a fully functional Gentoo system, AND know enough about the software components and how they fit together and work, to do a decent job of teaching it to those newbie Ubuntu users, given the chance! =:^) Now I **WISH** that's how I was taught computers! But there's at least /some/ folks getting that sort of quality instruction. =:^) > but even 4.2 already seemed stable enough for > me. Actually, the thing that made me switch in excitement was the > promise of the semantic desktop stuff, not the eyecandy, but it has > disappointed me so far. Actually, the semantic desktop and etc weren't a big sell for me at all. Rather the opposite, in fact, as I do reasonably well with the organization I've developed over the years, and the semantic desktop, while nice in theory, is sort of like the locate command and database update that always seemed to be running at the most inconvenient times (and I don't have a set enough schedule to really schedule it at a better time, because what's better this week might be terrible next week, and merely tolerable the week after that), so I quickly decided I didn't need it and shut it off. I don't think I ever merged it on Gentoo. I've not missed it. And I've kept as deactivated as possible all of the semantic desktop stuff too. And if I /do/ forget where that file is, grep and find are my friends. =:^) Of course, they don't necessarily work so well for say image files... but then, neither does the semantic desktop, unless you've tagged them effectively, and that's what choosing a proper name and directory layout is all about, only without all the trouble. At least it works that way for those who seem to groke computer style directory layouts and the like. I do understand that not everybody does,and that the semantic desktop should really help the types of folks that download something, and then can't remember where they told they system to save it when they want to open it. But that's just a problem I've never had, and the semantic desktop stuff seems, at least at this stage, to be more trouble than the hassle involved is worth. Maybe after a few years of further development. Not now. > BTW Duncan, I do enjoy and appreciate your posts here. Thanks, both to you and others. I've said before and I'll say it again, that the reason I'm here is to help and at times be helped. When that's no longer happening, I've no further interest in being here, and I'll find someplace else where I'm better able to contribute something worthwhile. So I'm glad people are still finding my posts useful. OK, to that list... Hotkeys: KDE bug 161009. In kde3 I used hotkeys extremely extensively, probably launching 95% or more of my apps that way, etc. Now, I have one of those Internet aka Multimedia style keyboards (a Logitech Cordless Desktop Pro, to be exact, it's also an ergonomic "wave" design -- I can type /hours/ on it, day in and day out, with no problems, but only a few minutes on a "straight" keyboard without PAIN), with a bunch of extra keys. However, it's FAR from enough extra keys to dedicate a key per function I want to hotkey. Thus, the way I had it arranged on kde3, while I had one hotkey to launch the (seldom used) kmenu, and another to use the (actually frequently used, but for different things) run dialog, now called krunner, most of those keys were setup as two-key menus with multiple functions. I'd hit the key, say XF86HomePage, and kde3's hotkeys would popup a menu that listed all the second-level keys I'd setup, "w" for web browser, "m" for mail, "e" for text editor, etc. Of course, the menu really didn't matter that much, as it was usually HomePage,W to launch the web browser, for example, in quick enough succession the menu may not have even fully displayed. And I'm a touch-typist and know the hotkeys by position and touch, so I never had to look at the keyboard OR shift to the mouse OR use the several more key sequence that would have been necessary to launch it from the kmenu, even if I remembered that longer sequence to do so. That's quite a productivity booster once someone's used to it, quickly becoming more of a necessity than a luxury. I had similar menus for window functions, display resolution changes (since the old Ctrl-Alt-Num+/ Num- zooming sequences died and were buried as xorg switched to RandR technology, better for monitor hotplugging, but RIP Num+/- zooming!), etc, plus the dedicated single-function media keys for changing volume and play/stop/next/prev. One of the nice things about it was that because those are non-ordinary "extra" keys, none of the sequences involving them interfered with any application built-in sequences using the more standard Ctrl/Alt/Shft/Meta keys, so those were still entirely free to be used by the applications themselves without any conflict or interference. That functionality, multi-key global hotkeys it's called in the bug, is flat broken on kde4. What's worse, the bug implies the problem is actually in a support library somewhere, perhaps a different part of kde (not khotkeys), more likely somewhere in a third party library. Given kde's dependence on qt, I'd /guess/ it's a problem there. Regardless, the functionality is broken, and looks likely to remain broken for the near future, at least, until someone either hacks a workaround into kde, or convinces whatever library upstream to provide the functionality. What I /don't/ understand is why kde3 could have it, then, unless they simply coded up their own solution there, and took the half-solution provided by the library instead, once it became available. Anyway, given the circumstances, it's understandable that there's no kde4 solution, but that doesn't help the folks that depended on that feature in kde3 to find a useful substitute for kde4. Solution? There are other hotkey programs available for Linux, tho many of them don't handle multi-key either. One that actually DOES handle multikey is xbindkeys. However, in it's "simple" mode it doesn't handle multi-key, and its "advanced" mode involves guile and scheme (lisp-like language) macros. Basically, the first key triggered the macro, which then set up a countdown to timeout, waiting for the second key. Depending on which order keys were pressed and released, different actions were configured to be triggered by the macro. So... I started studying guile and scheme, having never used a lisp-like language before, so I could groke what was going on and program it effectively to do what I wanted. Of course, that's WAY more powerful than khotkeys, but it all takes time to learn, especially when you've not an EMACS devote and don't otherwise have any previous LISP experience... You seeing where those 80 hours might be going now?! So, several hours after starting on that... actually, as with a lot of this, I got tired and slept the few hours shorter sleep I was getting much of the time during the several weeks I spent working on all this, as I was putting all the time possible into get kde4 working... then came back to it the next day... Anyway, several hours into trying to groke guile and scheme, just as I was actually beginning to get the hang of things, I had an epiphany... I realized that what was /actually/ happening was as I mentioned but glossed over above... that what xbindkeys was actually doing was a single-key trigger of a /second/ program, the guile macro, which detected the second key (or timed out if none came), and triggered the programmed action accordingly! Well, I don't know scheme or guile, tho it /was/ beginning to make sense by that point, but I *DO* know bash scripting well enough to write my own sysadmin scripts, hack on ebuilds, hack on the boot cycle initscript system, etc. The epiphany was that **I** could do the SAME thing in what I already knew, bash, using kde4's more limited single-key hotkeys to launch my bash scripts, to do what the guile macros would have done for xbindkeys! So then another sleepless nite of bash hacking later, after 16 hours of hacking or so, I had a set of scripts to do pretty much just that. I had khotkeys setup to launch the starter script with one key. The starter script then launched a second script in a konsole window, displayed in that window a hotkey menu read in from a data file and a prompt, waited for a timeout or a single key, detected what they key was (a second data file contained a lookup table mapping returned control-key sequences to text representations that could be easier entered in the corresponding line of the first data file, which had three columns, hotkey, description, command; part of that time was spent those sequences and setting up that second mapping table), checked for a corresponding line in the first table, and ran the corresponding command from that table. I then setup a special konsole profile for the window to display that menu, setting it to turn off the tabs, scrollbar and menubar, etc. Further I setup a special window settings config (kwin profile) for that window, setting it to an appropriate size (different from my normal konsole windows), always-on-top, centered placement (I tried under-mouse but that didn't work so well as it cause the launched window to displace, the centered option didn't), etc. Finally, after testing each shortcut sequence, (menu-launcher,app- launcher, menu-launcher key set in khotkeys, app-launcher key set in the script datafile along with the command and a description, as I said), I unset the temporary assignments I'd set for them in khotkeys, and for kmenu entries I'd created in ordered to apply a hotkey, I deleted them too, thus cleaning up my kmenu apps menu substantially. =:^) So now I have a working dual-key launcher again, this time partially implemented using my own scripting, and hopefully kde won't be pulling any MORE functionality out from under me so it should continue to work, at least thru the kde4 series. =:^) That's ONE problem and solution. =:^) The second problem was color settings. There's some background here, as the LACK of a decent per-role color-setting app way back in GNOME 1, when even MICROS~1 could manage /that/, was the triggering factor in my original decision to choose KDE (then kde2.x) as my desktop environment of choice, way back in early 2002 shortly after I switched from MICROS~1. Kde2 of course DID have that color choices app, much like it does today, while GNOME forced a user to either set an entire scheme at once, or hand-edit text config files, to get the same results KDE did with their nice GUI color settings applet. Of course, as we now know in hindsight, that choice was the correct one, as Gnome got even /more/ anal about insisting they had the "One True Way" that simply MUST be correct, removing even more configuration functionality with Gnome2. To be fair, I've not spent a whole lot of time (read none, the closest I get is GTK apps) on Gnome recently, and perhaps they've reversed that trend, but from what I've seen and heard, it hasn't changed substantially. KDE is still the choice for power users that like to tweak their system. Of course, that's part of my problem. As any self-respecting power user, I had kde3 heavily customized, and was using and depending on functionality like multi-key hotkeys that's not mainstream, and that in many cases is still broken in kde4, or was in 4.2 anyway tho 4.3 is markedly better. Anyway, back to colors. I happen to have a low tolerance for "glaring" white backgrounds. Further, the default muted grays that seem to be the corporate-safe defaults shipped by most distributions and environments make me almost physically nauseous! As a result, I have STRONG preferences for a generally light text on dark background scheme that is none-the-less much more colorful than color-scheme default tend to be. The /problem/ is that because dark on light is the default, it's also the all too frequently assumption made. As anybody with such preferences can tell you, light text on a light background, because the author simply assumed a dark text default when he set the background, or the reverse, dark text on a dark background, because the author simply assumed a light background when she set the foreground, instead of consistently setting BOTH foreground and background whenever ONE is set, is an **ALL** too frequent problem on the web! (FWIW, I use privoxy as a personal web proxy for that reason among others, with a filter scheme I've been tweaking for years, setup to darken light backgrounds and lighten dark foregrounds, without reducing to mono-color as enforcing such preferences at the browser CSS level seem to do.) Well, the same set of problems occurs on the desktop. It can take / years/ of tweaking to get a reasonably colorful light foreground on a dark background scheme setup, one that deals well with all the curves various developers' wrong color scheme assumptions throw at you from time to time. What's worse is that unlike those with an apparently more normal dark on light preference, light on dark schemes are around, but rather less frequent than dark on light schemes. That makes it much harder to find a reasonably close to personal preferences match to form a base for further tweaking as needed. I was thus naturally rather frustrated when I realized that kde4 had /no/ provision for even /trying/ to import kde3 color schemes, including the one I'd been tweaking for years to get "just right". I was looking at not only quite some time to find a decent kde4 color scheme base to work from, but also the prospect of spending /years/ tweaking it a little here and a little there, until it again met my needs as well as the one I'd already spent /years/ tweaking for kde3. As it happened, the kde dev that maintains the color control applet happened by the kde-general list after I'd posted this as one of the issues I was struggling with. He and I now have a reasonably good working relationship, with mutual respect, I believe, and I and another user regular on the list have worked with him throwing ideas back and forth, etc. The complicating factor for kde4 is that its color scheme is **FAR** richer than kde3's was, with six different role variants of several more base color roles than kde3 had. There's thus no direct conversion possible. However, it IS possible to do an indirect conversion, doing a passable first-guess at some of the new roles based on similar but multiplexed roles in the kde3 color scheme, with a warning for any kde3 scheme that more tweaking will likely be necessary to get the best results. I'm HAPPY to say that a kde3 color scheme importer and converter has been committed and should be part of kde4.4. Whether it'll be backported to 4.3.x I'm not sure, but that's just /one/ of multiple bugs and wish-list items, the polish that has been so lacking in kde4 to date, that I KNOW are fixed for 4.4. That was /my/ problem solved, but in the back and forth, we succeeded in coming up with a better UI for the color choices that are there, as well. Take a look at the 4.3 color choices applet, in particular, the preview. Can you truthfully say that it's obvious what those mysterious "a i ! = +" symbols are all about? What about the two separate lines (altho that's a bit easier, normal vs selected text)? I know /I/ didn't understand what those symbols were, tho the selected vs normal text was obvious. Here's a hint. Switch to the colors tab. On the colors tab, select anything /other/ than the default "common colors". See the word descriptions? Now take a look at the line of symbols from the other tabs and from common colors on this tab that I typed above and see if it clicks. CORRECT! a=active, i=inactive, !=negative, ==neutral, +=positive. There's also hover. Those are the role variants I mentioned above. Some of that is set directly, some of it selected automatically based on chosen colors. The display with the words is setup so that the lowest contrast matches of foreground to background are shown, and if any of those words are invisible due to inadequate contrast, it's because the person who designed whatever color scheme you are running, didn't properly understand how kde4's color schemes work. FINALLY! Finally there's a nice built-in tool allowing devs and color-scheme authors to see if any of their choices aren't going to work due to invalid assumptions or an improper understanding of kde's color roles! Once how this works is well understood, it'll hopefully mean MUCH better designed color schemes, without those nasty but all too common "invisible writing" bugs. OK, so if you're like me, that's entirely new information, and you understand far better what's going on in the color dialog and previews now. So what was the problem? Well, the problem was (and still is with 4.3.0) that the present arrangement doesn't effectively convey all that information. Granted, it's a really TOUGH thing to do -- effectively. We threw ideas back and forth for several rounds before we came up with something better, but all of those in the exchange agree with the new solution -- this one almost certainly 4.4 not 4.3 backported, as it involves string changes, and 4.3 was in string freeze for translation purposes by the time we worked this out. BTW, the i18n (internationalization, i, 18-letters, n) issues were significant complications here as well. Apparently, the descriptions are rather longer in certain other languages, and the dialog either ends up with horizontal scroll bars or too wide for small displays. That's with things as they are, and our initial solutions were making it worse! What we eventually came up with, after realizing that some of the other system-settings dialogs are longer (vertically) than the colors dialog, was splitting the lines, thus using more space vertically but less horizontally. While it might add vertical scrolling in some cases, the colors dialog will still be shorter than a couple of the others, and vertical scrolling is FAR more acceptable than horizontal scrolling in any case. This solved the problem he was already trying to tackle with the long translations, while also addressing the cryptic symbols issue a bit better! =:^) Now THAT'S how user/developer communication is SUPPOSED to work! =:^) Meanwhile, with the better understanding that gave me of how kde4's colors worked, I found a color scheme on kde-look that worked very well for me -- very close to as good as the kde3 scheme I had taken so long to tweak had worked there for me! =:^) It's not the same, but if anything, I think it's even nicer than I'd have had even if the kde3 scheme /had/ been able to transfer perfectly. =:^) All-in-all, this one turned out by far the best of any of the problems I had, all because one dev was willing to come visit the user groups and not too offended at a user desperately crying for help due to frustration with his applet and its limitations! =:^) That's only two of my issues, but this is long enough, and that should give people an idea, anyway. Very quickly, however, I'll mention that a couple of the others were performance and multi-monitor related, much as others are already posting. But I'll cover those in replies to those posts, as I may be able to help others with them based on my own experience and knowledge now, having spent all that time desperately working on it, getting the system back to usable enough that I could actually be somewhat productive once again. And, if I'm lucky, that colors dialog information will turn out to be as concretely useful to at least one other user here as it was to me! After all, I /did/ say I'm here to help, otherwise it's not worth the bother. But I expect it'll be of use to someone, because it SURE was new and useful info to me. =:^) -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman