Friday, November 02, 2007

krunner autocompletes

as of today krunner autocompletes. it even allows runners to add to the autocompletes. even better than that, it doesn't exhibit what i consider the most annoying behaviour of the run dialog in kde3, namely when you select an autocomplete using the enter key it doesn't close the dialog and blindly execute that item. that takes care of all kinds of bug reports and feature requests. yay!

best of all, that change was binary compatible ... demonstrating how the new api is much more future proof than what it replaced.

the default plasma panel should also try and default to the bottom-left-most screen, regardless of the screen #. so, e.g., if you screen 1 is on the left of screen 0, the panel should be set up on first log in to screen 1 not screen 0 as it was doing.

another day, a couple more show stoppers gone.

i'm still waffling on the ui for krunner, but i'm setting myself a hard deadline for tomorrow. speaking of tomorrow, i have a LinuxMCE conference call. hope to have some sharable news after that.

14 comments:

Javier said...

That's awesome, auto-completion is a great feature!
I've started compiling KDE4 from SVN, but had some checkout issues. Hopefully it'll be ready for Saturday's Krush!
One part of the post I didn't get is, if you press enter, it'll auto-complete your word, but not run directly, right? If so, that's a very good feature that most programs with auto-complete are missing.

Aaron J. Seigo said...

> it'll auto-complete your word,
> but not run directly, right?

correct. =)

it certainly makes sense to do so in most apps, but for launchers with auto-complete it just pisses me off ;)

Javier said...

Yeah, nothing worse than trying to run an app only to have the auto-complete fill extra stuff and run something different by mistake...

reldruH said...

"tomorrow, i have a LinuxMCE conference call. hope to have some sharable news after that."

I hope so too. I tried out LinuxMCE once and while the concept is awesome the execution wasn't there yet.

Also, great work on krunner. I can't wait to see what it looks like when 4.0 gets released. Just one question, though. There seems to be a lot of overlap between krunner and katapult, even more so now that krunner supports some kind of auto-completion. Is krunner going to replace katapult or will they still be seperate entities? katapult is probably my most used program; I love being able to launch programs without touching the mouse or having my hands leave the home keys (like to press F2). Any thoughts?

shamaz said...

@reldruH : afaik, katapult is a third party application (not an 'official' kde application).
Apparently, the new krunner took several ideas from katapult (and this is a good thing).
I don't know if someone will want to port katapult to kde4...

@aseigo : good work :)

mattie said...

I am very anxious to hear about the linuxmce integration!

I wonder, will it support simple tv viewing, i.e. not fullscreen? or maybe in the form of a plasmoid ? :)

Anonymous said...

why should plasma allways display the main panel on the most bottom left screen!? the left-of cinerama option is there for a reason - to move the second screen to the left side. the main screen is the first one, not necessarily the one on the left...

Aaron J. Seigo said...

> why should plasma allways display the
> main panel on the most bottom left
> screen!?

it has to have a default location on first start, so we need to pick a screen. you can always move it if you don't like where it picks.

> the left-of cinerama option is there
> for a reason - to move the second
> screen to the left side. the main
> screen is the first one, not
> necessarily the one on the left...

sure. the question is what is most common: to have the screen that should have the panel on the bottom/left, or screen 0?

people testing kde4 with xinerama reported the issue several times as it is very common to make screen 1 on the left and use that as the primary use screen. probably due to the combination of dvi vs vga outs on common cards.

iow, the most common case seems to be .. use the left most screen. that should be wrong less often than "use screen 0".

and QDesktopWidget::defaultScreen always returns 0 when using Xinerama.

if the bottom left screen isn't the correct screen for you, then you can simply move it to the right screen.

the idea is to get it right as often as possible by default.

maxauthority said...

I don't get the new krunner behavior, if i want to run konqueror, and type:
ko then nqueror gets prehighlighted like:
ko[nqueror] and if I press enter once, the textbox shows:
konqueror?

And if I press enter again, then konqueror is run?

Sounds a little strange, why not use Tab like nearly every other auto-completion system?

So typing:
"ko" and "Enter" would run a "ko" executable in $PATH or show an error if it doesn't exist.
ko,"tab","enter" would first expand ko to konqueror and then run it.
Or:
ko,"down","down","enter" would select other matches from the suggested items, and enter run that.

But maybe i am just misunderstanding, i should really try it out before commenting, maybe it feels good the way you implemented it :)

Aaron J. Seigo said...

> ko[nqueror] and if I press enter once,
> the textbox shows:
> konqueror?

that's only if you use the drop down box, not in-line completion.

> Sounds a little strange, why not use Tab

tab is used to change focus to other widgets (like every other GUI app), but a keyboard shortcut (is it ctrl-e by default?) could be used.

> i should really try it out before
> commenting

agreed ;)

Anonymous said...

Aaron J. Seigo:
then let them fix their configuration. screen 0 IS the main screen. if it isn't, then their configuration is broken.

the main screen is used for other important stuff too, like sync to vblank - so such a wrong configuration will break with many things. supporting broken configurations (and breaking working ones) doesn't do any good.

so please change this back, and direct the next one who asks to a page like this: http://gentoo-wiki.com/Twinview_Example#Twinview_device_order

if this doesn't work with the driver used, they still can move the panel themself, like you sugested. but i shouldn't need to do that if my computer is configured the right way.

Aaron J. Seigo said...

so instead of doing the most likely right thing, which is putting the panel on the bottom left most screen, we should make people "fix" their configurations which may or may not be possible and may or may not be what they want in the first place?

yeesh. no thanks.

i'm going to go out on a really big (that's sarcasm ;) limb here and say that the number of people who really do want their panel on the non-left/bottom-most screen are minimal.

i fully know that one group or the other will not get what they want. well, there's actually three groups here in the 2 monitor scenario:

0, 1
1, 0 - but they want it on 1
1, 0 - and they do want it on zero

it's really just one of the latter two that will have to move the panel. seeing as within a couple weeks of beta testing i got numerous reports of the "but they want it on 1" issue and have received non about "wanting it on zero" since the change ... i think it's been the right choice thus far.

we'll see though. i'll count you as the first request for screen zero. let's see who else shows up for your cause between now and the release =)

Anonymous said...

why would anyone want their _main_ panel on the second(read _not_ main) display?

those people you describe want their main monitor to be the left one. as i said, they will not get this even if their default panel is on the left.

my main concern is that the desktop will be broken again (like in kde3 currently), if you have your main screen on the right like i have. if you put desktop icons and applets automaticaly on the left most screen too, i'm unable to use plasma, just because others can't fix their damn xinerama configuration.


so i hope you reconsider this. the main screen is the first one, many applications depend on that. don't break xinerama again!

Aaron J. Seigo said...

last comment from me on this one:


"if you put desktop icons and applets automaticaly on the left most screen too, i'm unable to use plasma, just because others can't fix their damn xinerama configuration."

spare me the melodrama. here's the math:

if (numberOfPeopleWhoWantItOnTheLeft >
numberOfPeopleWhoWnatItOnZero) {
putItByDefaultOnTheLeft();
}

see how that works? easy: make it Just Work(tm) in as many places as possible.

for those of you who want it on the right screen (and right now you are solidly in the minority afaik) then you can drag things over to the right-hand screen.

who knows, maybe once i get past 4.0 here and am able to get around to capturing/restoring full layouts we can ship a layout for you.