Keypirinha / Keypirinha

A fast keystroke launcher for Windows
http://keypirinha.com
1.05k stars 21 forks source link

Auto hide the LaunchBox when losing focus #34

Closed polyvertex closed 8 years ago

polyvertex commented 8 years ago

Setting added in v2.5

sergeevabc commented 8 years ago

It needs polishing to work more smoothly. For example, click K/Configure application, two notepads will launch, now invoke K, then click into one of notepads, half of K’s window will vanish and the other half will vanish in a second. Expected: whole launchbox vanishes at the same time.

polyvertex commented 8 years ago

This is expected behavior. "Half" of the window does not "vanish" as you describe it, it's just not foreground anymore. The whole window will close after a small amount of time. This timeout is here to prevent any erroneous behavior due to some application taking the focus then immediately giving it back. The only thing I will do is to slightly reduce this timeout as it is unnecessarily long, but I will not make it immediate.

sergeevabc commented 8 years ago

@polyvertex, I recorded how Executor hides its window when loosing focus — more smoothly as compared to Keypirinha. Please, watch it. Could it be not a delay/timeout issue, but a different approach?

polyvertex commented 8 years ago

I know about Executor and I thought you would ask this earlier. Kind of disappointed here. :) I didn't say it was not possible to make the LaunchBox to hide immediately, I said it behaves that way for a reason.

This timeout is here to prevent any erroneous behavior due to some application taking the focus then immediately giving it back.

sergeevabc commented 8 years ago

How does Executor deal with mentioned erroneous behavior retaining the smoothness?

polyvertex commented 8 years ago

It doesn't.

Perhaps you should try to explain how that bothers you exactly. Is it just a visual thing? I'm not particularly fond of adding a setting just for that. Really. So unless there's a more "serious" underlying matter to your request, I'll probably not add it.

sergeevabc commented 8 years ago

Frankly, I’m not even sure what is “erroneous behavior” as neither Executor nor Launchy, Find And Run Robot, Slickrun etc ever failed me for years in terms of smooth hiding when loosing focus, that’s why I expect no less from a new era launcher you develop.

polyvertex commented 8 years ago

You put it the wrong way. It's not because some people drives on the lest-side lane that you should do the same.

Perhaps you should try to explain how that bothers you exactly. Is it just a visual thing? I'm not particularly fond of adding a setting just for that. Really. So unless there's a more "serious" underlying matter to your request, I'll probably not add it.

sergeevabc commented 8 years ago

Visual annoyance, yes. Like dust on eyeglasses: you could still see through, but requires the effort. We’ve talked about conventions earlier: I’m used to choose apps that work smoothly, i.e. they have achieved progress on board in terms of familiar labels (Exit instead of Farewell), buttons (cross mark in the top right corner if Windows), optimized resources consumption, etc. Being choppy, just for half a second, reminds of unbearable heavy Java apps and alpha versions with memory leaks.

sergeevabc commented 8 years ago

In short, expected behavior when launchbox looses focus is to hide with the same speed as when one uses defined K’s shortcut again or presses Esc (escape_always_closes = yes), i.e. immediately.

polyvertex commented 8 years ago

You don't seem to understand the reason why this delay exists and why it is of interest. Just eluding it and putting the big "Conventions" word up front won't make it disappear!

I welcome this single-minded side of your argumentation but I find it a bit edgy to associate the "conventions" subject with a feature that is everything but conventional (i.e. a main application window that closes itself on focus loss). Furthermore, your comparison with the escape_always_closes setting seems inappropriate to me in the sense that it offers a functional tweaking.

You deployed some energy to make your point so if I'm not too lazy (EDIT before the next release I mean), I'll change the type of the hide_on_focus_lost setting (bool to enum; something like immediate, delayed, no; with yes being an alias to delayed to keep compatibility), instead of adding a new option. That way, the only blocking reason I had against your request is obsoleted.

sergeevabc commented 8 years ago

Explanatory note on escape_always_closes for others who might be reading our conversation: I mentioned it not as a comparison, but to notice that single-time ESC doesn’t close launchbox by default.

As for current delay when hiding launchbox, obviously there is a reason for it and, even without diving deep under the hood, I do respect you implement features for a reason. The thing is, no reason could convince users whose expectations are shaped over the years by other launchers that visible software delay is for better. Well-grounded annoyance is still annoyance. Full train of thought as follows: “previous launcher does not carry much about mysterious erroneous behavior, but it caused no troubles so far and seems to be a rare case, then why should I sacrifice smoothness and accept the delay now?”

Proposed evolution of hide_on_focus_lost is promising!

polyvertex commented 8 years ago

You just make my point and rephrase your arguments. This behavior is an annoyance for you, and a group of people who would tend to agree with that. Your request is just about personal preference and we're outside the scope of any convention here. As for the other launchers, again, it's not because millions of people have been enjoying Elvis Presley's music for years that it means it's good music... (I'll try to find a new one each time you come up with the same argument but rephrased. I promise. That makes two already). Besides, should KP be fully designed like other launchers, you would most likely not be using it or arguing because of exactly 250 milliseconds of frustration due to visual annoyance.

sergeevabc commented 8 years ago

Choosing fresh fruits over rotten is not a personal preference, but natural. Vice versa is a deviation. One of the core ideas behind hi-tech is to reduce human frustration by automating tasks, so willingness to cut delays as much as possible is also natural, isn’t it? For example, why did I choose to change Executor for Keypirinha? Indexation speed, to cut another delay. But here comes the visual delay…

TheKnightCoder commented 5 years ago

How can I enable autohide when loosing focus? I cannot find the config


I found it just had to go to Configure keypirinha and add the following

[gui]
hide_on_focus_lost = immediate
adrianmak commented 4 years ago

if i configure hide_on_focus_lost to delayed, is there any other option to custom duration of delay time ?