Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: Heads-up: KDEers: Particularly kde3-ers,
Date: Fri, 28 Aug 2009 19:58:00
Message-Id: pan.2009.08.25.21.05.34@cox.net
In Reply to: Re: [gentoo-amd64] Re: Heads-up: KDEers: Particularly kde3-ers, by szalkai@szalkai.net
1 szalkai posted on Mon, 24 Aug 2009 22:41:19 +0200 as excerpted:
2
3 > Now that this exciting little flamewar has finished, and everybody is
4 > friends again :), could you Duncan please give some examples of major
5 > breakage in KDE4?
6
7 Altho some of it's covered down-thread by others, I did promise it if any
8 one asked, and you did, so below you'll see a bit of a list, some
9 mentioned in the followups I've read so far, some not.
10
11 > I have been using it since 4.1.something and it is
12 > getting better and better.
13
14 Absolutely! I've been trying it on and off since before 4.0 actually
15 came out, and you're 100% correct, it *IS* getting better and better.
16 But 4.0 was NOT release quality and at least KDE has allowed /that/ much,
17 tho we still differ on where release quality actually looks to be
18 achieved, and they had a LONG way to go.
19
20 Again, as noted previously, part of the problem is actually how
21 exceedingly good kde 3.5. was, a point that's even more amazing when you
22 consider the age of the technology involved. Kde4 was pretty much a
23 ground-up rewrite, and no matter HOW you slice and dice that, it WILL
24 take awhile, especially when the previous version was as good as 3.5 was/
25 is. I just wish they'd continue to properly support 3.5 until 4.5 or so,
26 when I believe it'll finally be comparable, plus of course the new
27 features 4.x has. And that they'd have handled the whole transition
28 better, but that can't be helped now, tho they /could/ still actually
29 support 3.5 another year if they wanted to.
30
31 > Also, it took me nowhere near 80 hours to
32 > switch from 3.5.10 to 4.
33
34 Well, as you'll see below, I depended on much in kde3 that simply hasn't
35 made the transfer, yet, at least not in fully functional form. That has
36 been a HUGE problem, or rather, multiple problems, thus the 80 hours.
37
38 > I admit that I have a konsole with seven tabs open all the time, and do
39 > most of my work from there (and use firefox for browsing and thunderbird
40 > for emails), so I am not a KDE poweruser by far (while definitely a
41 > linux poweruser at least),
42
43 I'd say that anyone actually using Gentoo (not just surviving it,
44 following rote directions) is a Linux power user by definition, at least
45 by definition of comparison to the average user on most of the binary
46 distributions.
47
48 That's not a putdown of the binary distributions, BTW. There's
49 absolutely a place for the Ubuntus of the world, and their users, and we
50 were all newbies at one point. But some of us at least don't stay
51 newbies...
52
53 And Gentoo is suitable for newbies too, if they're willing to actually
54 pay attention, read docs, and learn!
55
56 I know for a fact (from the postings on the docs list from the guy who
57 developed and taught it) that Gentoo is used in at least one decently in-
58 depth high school and college level intro to computers and computer
59 technology class. He starts by explaining the basics of memory, etc, in
60 a karate-kid/guru style format (the kid visits an old computer guru who
61 starts teaching him what he knows). By the middle of the second week
62 (in a semester class), they've covered the basics, and are getting into
63 Gentoo. The rest of the semester, they do the install, I think from
64 stage-1, gradually bootstrapping the system over the weeks, with the
65 function of each new package in the system level explained along with
66 configuration, etc. By the time they are done, they have a fully
67 functional Gentoo system, AND know enough about the software components
68 and how they fit together and work, to do a decent job of teaching it to
69 those newbie Ubuntu users, given the chance! =:^)
70
71 Now I **WISH** that's how I was taught computers! But there's at least
72 /some/ folks getting that sort of quality instruction. =:^)
73
74 > but even 4.2 already seemed stable enough for
75 > me. Actually, the thing that made me switch in excitement was the
76 > promise of the semantic desktop stuff, not the eyecandy, but it has
77 > disappointed me so far.
78
79 Actually, the semantic desktop and etc weren't a big sell for me at all.
80 Rather the opposite, in fact, as I do reasonably well with the
81 organization I've developed over the years, and the semantic desktop,
82 while nice in theory, is sort of like the locate command and database
83 update that always seemed to be running at the most inconvenient times
84 (and I don't have a set enough schedule to really schedule it at a better
85 time, because what's better this week might be terrible next week, and
86 merely tolerable the week after that), so I quickly decided I didn't need
87 it and shut it off. I don't think I ever merged it on Gentoo. I've not
88 missed it.
89
90 And I've kept as deactivated as possible all of the semantic desktop
91 stuff too. And if I /do/ forget where that file is, grep and find are my
92 friends. =:^) Of course, they don't necessarily work so well for say
93 image files... but then, neither does the semantic desktop, unless you've
94 tagged them effectively, and that's what choosing a proper name and
95 directory layout is all about, only without all the trouble.
96
97 At least it works that way for those who seem to groke computer style
98 directory layouts and the like. I do understand that not everybody
99 does,and that the semantic desktop should really help the types of folks
100 that download something, and then can't remember where they told they
101 system to save it when they want to open it. But that's just a problem
102 I've never had, and the semantic desktop stuff seems, at least at this
103 stage, to be more trouble than the hassle involved is worth. Maybe after
104 a few years of further development. Not now.
105
106 > BTW Duncan, I do enjoy and appreciate your posts here.
107
108 Thanks, both to you and others. I've said before and I'll say it again,
109 that the reason I'm here is to help and at times be helped. When that's
110 no longer happening, I've no further interest in being here, and I'll
111 find someplace else where I'm better able to contribute something
112 worthwhile. So I'm glad people are still finding my posts useful.
113
114
115 OK, to that list...
116
117 Hotkeys: KDE bug 161009. In kde3 I used hotkeys extremely extensively,
118 probably launching 95% or more of my apps that way, etc.
119
120 Now, I have one of those Internet aka Multimedia style keyboards (a
121 Logitech Cordless Desktop Pro, to be exact, it's also an ergonomic "wave"
122 design -- I can type /hours/ on it, day in and day out, with no problems,
123 but only a few minutes on a "straight" keyboard without PAIN), with a
124 bunch of extra keys. However, it's FAR from enough extra keys to
125 dedicate a key per function I want to hotkey. Thus, the way I had it
126 arranged on kde3, while I had one hotkey to launch the (seldom used)
127 kmenu, and another to use the (actually frequently used, but for
128 different things) run dialog, now called krunner, most of those keys were
129 setup as two-key menus with multiple functions. I'd hit the key, say
130 XF86HomePage, and kde3's hotkeys would popup a menu that listed all the
131 second-level keys I'd setup, "w" for web browser, "m" for mail, "e" for
132 text editor, etc. Of course, the menu really didn't matter that much, as
133 it was usually HomePage,W to launch the web browser, for example, in
134 quick enough succession the menu may not have even fully displayed. And
135 I'm a touch-typist and know the hotkeys by position and touch, so I never
136 had to look at the keyboard OR shift to the mouse OR use the several more
137 key sequence that would have been necessary to launch it from the kmenu,
138 even if I remembered that longer sequence to do so.
139
140 That's quite a productivity booster once someone's used to it, quickly
141 becoming more of a necessity than a luxury. I had similar menus for
142 window functions, display resolution changes (since the old Ctrl-Alt-Num+/
143 Num- zooming sequences died and were buried as xorg switched to RandR
144 technology, better for monitor hotplugging, but RIP Num+/- zooming!),
145 etc, plus the dedicated single-function media keys for changing volume
146 and play/stop/next/prev. One of the nice things about it was that
147 because those are non-ordinary "extra" keys, none of the sequences
148 involving them interfered with any application built-in sequences using
149 the more standard Ctrl/Alt/Shft/Meta keys, so those were still entirely
150 free to be used by the applications themselves without any conflict or
151 interference.
152
153 That functionality, multi-key global hotkeys it's called in the bug, is
154 flat broken on kde4. What's worse, the bug implies the problem is
155 actually in a support library somewhere, perhaps a different part of kde
156 (not khotkeys), more likely somewhere in a third party library. Given
157 kde's dependence on qt, I'd /guess/ it's a problem there. Regardless,
158 the functionality is broken, and looks likely to remain broken for the
159 near future, at least, until someone either hacks a workaround into kde,
160 or convinces whatever library upstream to provide the functionality.
161 What I /don't/ understand is why kde3 could have it, then, unless they
162 simply coded up their own solution there, and took the half-solution
163 provided by the library instead, once it became available.
164
165 Anyway, given the circumstances, it's understandable that there's no kde4
166 solution, but that doesn't help the folks that depended on that feature
167 in kde3 to find a useful substitute for kde4.
168
169 Solution? There are other hotkey programs available for Linux, tho many
170 of them don't handle multi-key either. One that actually DOES handle
171 multikey is xbindkeys. However, in it's "simple" mode it doesn't handle
172 multi-key, and its "advanced" mode involves guile and scheme (lisp-like
173 language) macros. Basically, the first key triggered the macro, which
174 then set up a countdown to timeout, waiting for the second key.
175 Depending on which order keys were pressed and released, different
176 actions were configured to be triggered by the macro. So... I started
177 studying guile and scheme, having never used a lisp-like language before,
178 so I could groke what was going on and program it effectively to do what
179 I wanted. Of course, that's WAY more powerful than khotkeys, but it all
180 takes time to learn, especially when you've not an EMACS devote and don't
181 otherwise have any previous LISP experience... You seeing where those 80
182 hours might be going now?!
183
184 So, several hours after starting on that... actually, as with a lot of
185 this, I got tired and slept the few hours shorter sleep I was getting
186 much of the time during the several weeks I spent working on all this, as
187 I was putting all the time possible into get kde4 working... then came
188 back to it the next day...
189
190 Anyway, several hours into trying to groke guile and scheme, just as I
191 was actually beginning to get the hang of things, I had an epiphany...
192
193 I realized that what was /actually/ happening was as I mentioned but
194 glossed over above... that what xbindkeys was actually doing was a
195 single-key trigger of a /second/ program, the guile macro, which detected
196 the second key (or timed out if none came), and triggered the programmed
197 action accordingly!
198
199 Well, I don't know scheme or guile, tho it /was/ beginning to make sense
200 by that point, but I *DO* know bash scripting well enough to write my own
201 sysadmin scripts, hack on ebuilds, hack on the boot cycle initscript
202 system, etc. The epiphany was that **I** could do the SAME thing in what
203 I already knew, bash, using kde4's more limited single-key hotkeys to
204 launch my bash scripts, to do what the guile macros would have done for
205 xbindkeys!
206
207 So then another sleepless nite of bash hacking later, after 16 hours of
208 hacking or so, I had a set of scripts to do pretty much just that. I had
209 khotkeys setup to launch the starter script with one key. The starter
210 script then launched a second script in a konsole window, displayed in
211 that window a hotkey menu read in from a data file and a prompt, waited
212 for a timeout or a single key, detected what they key was (a second data
213 file contained a lookup table mapping returned control-key sequences to
214 text representations that could be easier entered in the corresponding
215 line of the first data file, which had three columns, hotkey,
216 description, command; part of that time was spent those sequences and
217 setting up that second mapping table), checked for a corresponding line
218 in the first table, and ran the corresponding command from that table.
219
220 I then setup a special konsole profile for the window to display that
221 menu, setting it to turn off the tabs, scrollbar and menubar, etc.
222 Further I setup a special window settings config (kwin profile) for that
223 window, setting it to an appropriate size (different from my normal
224 konsole windows), always-on-top, centered placement (I tried under-mouse
225 but that didn't work so well as it cause the launched window to displace,
226 the centered option didn't), etc.
227
228 Finally, after testing each shortcut sequence, (menu-launcher,app-
229 launcher, menu-launcher key set in khotkeys, app-launcher key set in the
230 script datafile along with the command and a description, as I said), I
231 unset the temporary assignments I'd set for them in khotkeys, and for
232 kmenu entries I'd created in ordered to apply a hotkey, I deleted them
233 too, thus cleaning up my kmenu apps menu substantially. =:^)
234
235 So now I have a working dual-key launcher again, this time partially
236 implemented using my own scripting, and hopefully kde won't be pulling
237 any MORE functionality out from under me so it should continue to work,
238 at least thru the kde4 series. =:^)
239
240 That's ONE problem and solution. =:^)
241
242 The second problem was color settings. There's some background here, as
243 the LACK of a decent per-role color-setting app way back in GNOME 1, when
244 even MICROS~1 could manage /that/, was the triggering factor in my
245 original decision to choose KDE (then kde2.x) as my desktop environment
246 of choice, way back in early 2002 shortly after I switched from
247 MICROS~1. Kde2 of course DID have that color choices app, much like it
248 does today, while GNOME forced a user to either set an entire scheme at
249 once, or hand-edit text config files, to get the same results KDE did
250 with their nice GUI color settings applet. Of course, as we now know in
251 hindsight, that choice was the correct one, as Gnome got even /more/ anal
252 about insisting they had the "One True Way" that simply MUST be correct,
253 removing even more configuration functionality with Gnome2. To be fair,
254 I've not spent a whole lot of time (read none, the closest I get is GTK
255 apps) on Gnome recently, and perhaps they've reversed that trend, but
256 from what I've seen and heard, it hasn't changed substantially. KDE is
257 still the choice for power users that like to tweak their system.
258
259 Of course, that's part of my problem. As any self-respecting power user,
260 I had kde3 heavily customized, and was using and depending on
261 functionality like multi-key hotkeys that's not mainstream, and that in
262 many cases is still broken in kde4, or was in 4.2 anyway tho 4.3 is
263 markedly better.
264
265 Anyway, back to colors. I happen to have a low tolerance for "glaring"
266 white backgrounds. Further, the default muted grays that seem to be the
267 corporate-safe defaults shipped by most distributions and environments
268 make me almost physically nauseous! As a result, I have STRONG
269 preferences for a generally light text on dark background scheme that is
270 none-the-less much more colorful than color-scheme default tend to be.
271
272 The /problem/ is that because dark on light is the default, it's also the
273 all too frequently assumption made. As anybody with such preferences can
274 tell you, light text on a light background, because the author simply
275 assumed a dark text default when he set the background, or the reverse,
276 dark text on a dark background, because the author simply assumed a light
277 background when she set the foreground, instead of consistently setting
278 BOTH foreground and background whenever ONE is set, is an **ALL** too
279 frequent problem on the web! (FWIW, I use privoxy as a personal web
280 proxy for that reason among others, with a filter scheme I've been
281 tweaking for years, setup to darken light backgrounds and lighten dark
282 foregrounds, without reducing to mono-color as enforcing such preferences
283 at the browser CSS level seem to do.)
284
285 Well, the same set of problems occurs on the desktop. It can take /
286 years/ of tweaking to get a reasonably colorful light foreground on a
287 dark background scheme setup, one that deals well with all the curves
288 various developers' wrong color scheme assumptions throw at you from time
289 to time.
290
291 What's worse is that unlike those with an apparently more normal dark on
292 light preference, light on dark schemes are around, but rather less
293 frequent than dark on light schemes. That makes it much harder to find a
294 reasonably close to personal preferences match to form a base for further
295 tweaking as needed.
296
297 I was thus naturally rather frustrated when I realized that kde4 had /no/
298 provision for even /trying/ to import kde3 color schemes, including the
299 one I'd been tweaking for years to get "just right". I was looking at
300 not only quite some time to find a decent kde4 color scheme base to work
301 from, but also the prospect of spending /years/ tweaking it a little here
302 and a little there, until it again met my needs as well as the one I'd
303 already spent /years/ tweaking for kde3.
304
305 As it happened, the kde dev that maintains the color control applet
306 happened by the kde-general list after I'd posted this as one of the
307 issues I was struggling with. He and I now have a reasonably good
308 working relationship, with mutual respect, I believe, and I and another
309 user regular on the list have worked with him throwing ideas back and
310 forth, etc.
311
312 The complicating factor for kde4 is that its color scheme is **FAR**
313 richer than kde3's was, with six different role variants of several more
314 base color roles than kde3 had. There's thus no direct conversion
315 possible. However, it IS possible to do an indirect conversion, doing a
316 passable first-guess at some of the new roles based on similar but
317 multiplexed roles in the kde3 color scheme, with a warning for any kde3
318 scheme that more tweaking will likely be necessary to get the best
319 results. I'm HAPPY to say that a kde3 color scheme importer and
320 converter has been committed and should be part of kde4.4. Whether it'll
321 be backported to 4.3.x I'm not sure, but that's just /one/ of multiple
322 bugs and wish-list items, the polish that has been so lacking in kde4 to
323 date, that I KNOW are fixed for 4.4.
324
325 That was /my/ problem solved, but in the back and forth, we succeeded in
326 coming up with a better UI for the color choices that are there, as
327 well. Take a look at the 4.3 color choices applet, in particular, the
328 preview. Can you truthfully say that it's obvious what those mysterious
329 "a i ! = +" symbols are all about? What about the two separate lines
330 (altho that's a bit easier, normal vs selected text)? I know /I/ didn't
331 understand what those symbols were, tho the selected vs normal text was
332 obvious.
333
334 Here's a hint. Switch to the colors tab. On the colors tab, select
335 anything /other/ than the default "common colors". See the word
336 descriptions? Now take a look at the line of symbols from the other tabs
337 and from common colors on this tab that I typed above and see if it
338 clicks.
339
340 CORRECT! a=active, i=inactive, !=negative, ==neutral, +=positive.
341 There's also hover. Those are the role variants I mentioned above. Some
342 of that is set directly, some of it selected automatically based on
343 chosen colors. The display with the words is setup so that the lowest
344 contrast matches of foreground to background are shown, and if any of
345 those words are invisible due to inadequate contrast, it's because the
346 person who designed whatever color scheme you are running, didn't
347 properly understand how kde4's color schemes work. FINALLY! Finally
348 there's a nice built-in tool allowing devs and color-scheme authors to
349 see if any of their choices aren't going to work due to invalid
350 assumptions or an improper understanding of kde's color roles! Once how
351 this works is well understood, it'll hopefully mean MUCH better designed
352 color schemes, without those nasty but all too common "invisible writing"
353 bugs.
354
355 OK, so if you're like me, that's entirely new information, and you
356 understand far better what's going on in the color dialog and previews
357 now. So what was the problem? Well, the problem was (and still is with
358 4.3.0) that the present arrangement doesn't effectively convey all that
359 information. Granted, it's a really TOUGH thing to do -- effectively.
360 We threw ideas back and forth for several rounds before we came up with
361 something better, but all of those in the exchange agree with the new
362 solution -- this one almost certainly 4.4 not 4.3 backported, as it
363 involves string changes, and 4.3 was in string freeze for translation
364 purposes by the time we worked this out.
365
366 BTW, the i18n (internationalization, i, 18-letters, n) issues were
367 significant complications here as well. Apparently, the descriptions are
368 rather longer in certain other languages, and the dialog either ends up
369 with horizontal scroll bars or too wide for small displays. That's with
370 things as they are, and our initial solutions were making it worse!
371
372 What we eventually came up with, after realizing that some of the other
373 system-settings dialogs are longer (vertically) than the colors dialog,
374 was splitting the lines, thus using more space vertically but less
375 horizontally. While it might add vertical scrolling in some cases, the
376 colors dialog will still be shorter than a couple of the others, and
377 vertical scrolling is FAR more acceptable than horizontal scrolling in
378 any case. This solved the problem he was already trying to tackle with
379 the long translations, while also addressing the cryptic symbols issue a
380 bit better! =:^)
381
382 Now THAT'S how user/developer communication is SUPPOSED to work! =:^)
383
384 Meanwhile, with the better understanding that gave me of how kde4's
385 colors worked, I found a color scheme on kde-look that worked very well
386 for me -- very close to as good as the kde3 scheme I had taken so long to
387 tweak had worked there for me! =:^) It's not the same, but if anything,
388 I think it's even nicer than I'd have had even if the kde3 scheme /had/
389 been able to transfer perfectly. =:^)
390
391 All-in-all, this one turned out by far the best of any of the problems I
392 had, all because one dev was willing to come visit the user groups and
393 not too offended at a user desperately crying for help due to frustration
394 with his applet and its limitations! =:^)
395
396 That's only two of my issues, but this is long enough, and that should
397 give people an idea, anyway. Very quickly, however, I'll mention that a
398 couple of the others were performance and multi-monitor related, much as
399 others are already posting. But I'll cover those in replies to those
400 posts, as I may be able to help others with them based on my own
401 experience and knowledge now, having spent all that time desperately
402 working on it, getting the system back to usable enough that I could
403 actually be somewhat productive once again.
404
405 And, if I'm lucky, that colors dialog information will turn out to be as
406 concretely useful to at least one other user here as it was to me! After
407 all, I /did/ say I'm here to help, otherwise it's not worth the bother.
408 But I expect it'll be of use to someone, because it SURE was new and
409 useful info to me. =:^)
410
411
412 --
413 Duncan - List replies preferred. No HTML msgs.
414 "Every nonfree program has a lord, a master --
415 and if you use the program, he is your master." Richard Stallman