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 |