Crusade against focus stealing

Answered

Hereby, I convoke all IDEA users out there to gather together, and let our frustration be heard. It's a battle against the thieves, against applications this focus-stealing application that is IDEA today.

Numerous SCR have been opened, and numerous posts have been made in this forum. Now, what do we need to do to make JetBrains hear us, and remove every single line of code that make IDEA steal focus from other applications? Am I the only one who's utterly annoyed by this behaviour?

One may argue, but I can't think of one single reason to allow IDEA to steal focus. It's annoying, period. If I don't have IDEA focused, It's because I'm busy doing something else and I don't want to see IDEA window.

So, here I go again, almost losing my hopes... please, IDEA... don't take my focus away, it's all I have! Be merciful, I beg thee!

83 comments
Comment actions Permalink

Just my 2 cents - yea, I'm annoyed, and if the IntelliJ team can do it with minimal effort it would be nice.

However I do not earn my pay on whether or not Idea steals app focus. So "crusading" for this is a real waste of time, IMHO. I'd rather see ANT enchancements and a FULL swing tool over this feature.

Give it low priority.

0
Comment actions Permalink

Maxim Shafirov (JetBrains) wrote:

Well, that will lead to IDEA stops performing its tasks when one of them
is completed.
For example, compiling shows two modal dialogs subsequently if you have
an Ant task assigned to be run prior make. So if you start make
procedure and switch the focus away immediately (which is quite expected
user behaviour) you'll get idea stuck after ant task is done and will
not go to a compilation stuff since modal dialog blocks workflow execution.


I may be missing something, but don't modal dialogs only block while they're
visible? You could just hide the dialog and add it to a list of dialogs to
be disposed when the window is shown next... couldn't you?

Vil.
--
Vilya Harvey
vilya.harvey@digitalsteps.com / digital steps /
(W) +44 (0)1483 469 480
(M) +44 (0)7816 678 457 http://www.digitalsteps.com/

0
Comment actions Permalink

Thank you, Leif, from me personally and from all IDEA developers I guess.
Eugene.

"Leif Ashley" <leifashley@yahoo.com> wrote in message
news:29232018.1088007365320.JavaMail.itn@is.intellij.net...

Just my 2 cents - yea, I'm annoyed, and if the IntelliJ team can do it

with minimal effort it would be nice.
>

However I do not earn my pay on whether or not Idea steals app focus. So

"crusading" for this is a real waste of time, IMHO. I'd rather see ANT
enchancements and a FULL swing tool over this feature.
>

Give it low priority.



0
Comment actions Permalink

LOL! You're welcome... I have to deal with the same feature decision making constantly in the app we're building. Very tight schedule as well... :)

0
Comment actions Permalink

this approach gets my vote.

0
Comment actions Permalink

Thanks ... never gonna happen though ....

0
Comment actions Permalink

Thomas Singer (MoTJ) wrote:

You are showing two dialogs one after another? This does not look to be
good design, from my outside point of view. I could remember IDEA
showing a couple of progress dialogs, which "easily" can be merged into
one progress dialog. Nothing, that could not be solved by better design.


I keep getting this vision of a "download manager" style progres
display, like in FireFox when downloading multiple files, you have two
or three long running processes which are contained in the same window...

0
Comment actions Permalink



On 6/23/04 7:42 PM, in article cbd4ga$ti7$1@is.intellij.net, "Mark
Derricutt" <talios@gmail.com> wrote:

Thomas Singer (MoTJ) wrote:

>> You are showing two dialogs one after another? This does not look to be
>> good design, from my outside point of view. I could remember IDEA
>> showing a couple of progress dialogs, which "easily" can be merged into
>> one progress dialog. Nothing, that could not be solved by better design.


I keep getting this vision of a "download manager" style progres
display, like in FireFox when downloading multiple files, you have two
or three long running processes which are contained in the same window...


Plus the big productivity window under it :)

R

0
Comment actions Permalink

You could just hide the dialog and add it to a list
of dialogs to be disposed when the window is shown next...


From my understanding of the problem, the toFront happens when the
dialog is hidden (c code calls visible on parent, etc), not when it's
disposed.


To JB devs:

Have you (or anyone that has this problem - I haven't) tried modeless
dialogs instead of modal dialogs? I seem to remember reading somewhere
that modeless dialogs don't have this problem but I'm not really sure.

Also, I realize that the change to modeless dialogs probably will imply
many changes in the code but by the volume of the complaints it seems
that it would be worth the trouble :)

0
Comment actions Permalink

Replying to myself...

modeless dialogs instead of modal dialogs?


Quick test on my pc (win2k). Modeless dialogs seem to work: after a
long job in my app the modeless dialog with the progress bar closed and
the taskbar didn't flash. I only noticed the job had finished because
it beeped at the end.

The only problem is that the work necessary to change from modal to
modeless dialogs can be far from trivial.

Any other suggestions?

0
Comment actions Permalink

And modeless dialogs have another (dis)advantage:

As they don't block, the aditional programming can make it so that only
the parent project frame is blocked - the user can continue working in
other open projects while the action is running in the first project.

The disadvantage is that aditional sync has to be put in place so that
the user and the running action don't interfere with one another.
Knowing JB developers, the sync is probably in place and this is no
disadvantage at all (please don't break my illusions JBs ;)

0
Comment actions Permalink

Carlos, I doubt, that changing from modal to modeless dialogs can be
done in every case nor would be an quick-and-easy step.

I thought the modal (progress) dialogs had the purpose to block the
parent until it was in correct state.

Tom

0
Comment actions Permalink

>

.. or you could get rid of those 'working' dialog boxes althogether and just open up a fancy console window in the botton half of

IDEA, and show progress in that. It could close itself when its done.


There's an option in compiler settings (as well as in Ant's settings) to start execution "in background". Checking these options on
you'll get compiler console instead of modal progress with the progress information at the bottom of the console.
There's also an option to close the window after execution if there were no compilation errors.

--
Best regards,
Eugene Zhuravlev
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"


0
Comment actions Permalink

Actually this is the kind of progress I see in Eclipse 3.0 and it looks cool
indeed.

Eugene


"Mark Derricutt" <talios@gmail.com> wrote in message
news:cbd4ga$ti7$1@is.intellij.net...

Thomas Singer (MoTJ) wrote:

>

You are showing two dialogs one after another? This does not look to be
good design, from my outside point of view. I could remember IDEA
showing a couple of progress dialogs, which "easily" can be merged into
one progress dialog. Nothing, that could not be solved by better design.

>

I keep getting this vision of a "download manager" style progres
display, like in FireFox when downloading multiple files, you have two
or three long running processes which are contained in the same window...



0
Comment actions Permalink

That would be a good start ....

0
Comment actions Permalink

+There's an option in compiler settings (as well as in Ant's settings) to start execution "in background". Checking these options on
you'll get compiler console instead of modal progress with the progress information at the bottom of the console.
There's also an option to close the window after execution if there were no compilation errors.+

Yes I thought you'd say that, but the Ant, Compiler and Search settings aren't the problem. There are a lot of places that IDEA opens that damned dialog box, where we do not have the option of sticking in background.

Where is the option for 'rebuilding class information in background'? If it's there, then please point it out, because that would prevent my machine from being locked up for two or three minutes after each Ant build.

0
Comment actions Permalink

I thought the modal (progress) dialogs had the purpose to block the parent until it was in correct state.

Ok. If they moved the progress indicators to the work area at the bottom, would that cause the same problem? I was thinking that because it is tied more closely to IDEA than a modeless dialog, it would be much easier for them to stop IDEA doing stuff while it was active.

0
Comment actions Permalink

Well said! Have to admit I agree fully. I've been using IDEA on Windows for
3 years now on a whole range of projects and barely notice this problem. A
quick TweakUI change (to "Prevent applications from stealing focus") and all
is well for me with only very occasional and slight annoyance. Ant 1.6
support (and many, many other features/bug fixes, especially improving the
speed/memory use of v4) are much more important for me.

Cheers,

TicH

Just my 2 cents - yea, I'm annoyed, and if the IntelliJ team can do
it with minimal effort it would be nice.

>

However I do not earn my pay on whether or not Idea steals app focus.
So "crusading" for this is a real waste of time, IMHO. I'd rather
see ANT enchancements and a FULL swing tool over this feature.

>

Give it low priority.



0
Comment actions Permalink

Em Wed, 23 Jun 2004 20:16:05 +0400, Leif Ashley escreveu:

However I do not earn my pay on whether or not Idea steals app focus. So
"crusading" for this is a real waste of time, IMHO. I'd rather see ANT
enchancements and a FULL swing tool over this feature.


Actually, I'd say that this "quirk" is the majer productivity robber in
IDEA today. More than often I've typed incorrect characters in a file I
shouldn't touch because IDEA just stealed focus while I was typing in
another application; more than ofter, I have to just sit idle and look at
IDEA instead of doing something else because IDEA will steal focus if I
try to do something else, anyway.

I would cast all my votes on fixing this instead of, let's say, JSP 2.0
support. Don't get me wrong, I'd love to get a better JSP support, but
first things first, and my productivity will continue to take a hit while
this bug is not fixed. And I don't think I'm alone here.

--
Marcus Brito <pazu@animegaiden.com.br>


0
Comment actions Permalink

You're not alone! I continue to hope that JetBrains will fix this in 4.5 or immediately after its release (4.5.1)...

Best regards,
Lars Ugleberg

0
Comment actions Permalink

Ditto. Just yesterday I broke a tld I was looking at because I started
typing an IM while IDEA was building and I didn't even notice it stole focus
and took a couple keystrokes. It took me several minutes to figure out what
was wrong after the build completed and my tag didn't work. Then the time to
fix and rebuild.

"Marcus Brito" <pazu@animegaiden.com.br> wrote in message
news:pan.2004.06.24.11.56.42.644804@animegaiden.com.br...

Em Wed, 23 Jun 2004 20:16:05 +0400, Leif Ashley escreveu:

>

However I do not earn my pay on whether or not Idea steals app focus. So
"crusading" for this is a real waste of time, IMHO. I'd rather see ANT
enchancements and a FULL swing tool over this feature.

>

Actually, I'd say that this "quirk" is the majer productivity robber in
IDEA today. More than often I've typed incorrect characters in a file I
shouldn't touch because IDEA just stealed focus while I was typing in
another application; more than ofter, I have to just sit idle and look at
IDEA instead of doing something else because IDEA will steal focus if I
try to do something else, anyway.

>

I would cast all my votes on fixing this instead of, let's say, JSP 2.0
support. Don't get me wrong, I'd love to get a better JSP support, but
first things first, and my productivity will continue to take a hit while
this bug is not fixed. And I don't think I'm alone here.

>

--
Marcus Brito <pazu@animegaiden.com.br>

>
>


0
Comment actions Permalink

Carlos, I doubt, that changing from modal to modeless dialogs can be
done in every case nor would be an quick-and-easy step.


It can be done. But I agree (and I said so before - maybe not
forcefully enough) it may not be trivial.

I thought the modal (progress) dialogs had the purpose to block the
parent until it was in correct state.


The problem is not blocking the parent - showing the glasspane with
apropriate listeners prevents the parent from receiving events.

The problem is that modal dialog.show() blocks the calling thread while
modeless dialog.show() doesn't.

Changing from modal to modeless means moving code between threads and
can be a real pain to implement/debug... (but maybe this is what you
meant all along?)

It all depends on the existing code though...

BTW, Idea already has a lot of working threads, so JB developers aren't
really newbies in this area. Maybe moving the code will not be that big
a problem?



I just remembered another advantage of modeless dialogs: as they don't
block the parent, the parent can be moved/resized/minimized/restored
while the work is being done - a big plus for this approach.

0
Comment actions Permalink

Eugene Belyaev (JetBrains) wrote:

Actually this is the kind of progress I see in Eclipse 3.0 and it looks cool
indeed.


Cool, I keep meaning to look at Eclipse 3, IDEA keeps drawing me back
thou. Eclipse ( at least the last time I tried using it ) just didn't
feel right

0
Comment actions Permalink

They still have 3 holes I think:
1- J2ee out of the box (this one is more like a crater)
2- Refactoring is still not as good
3- This whole workspace concept is really annoying.

R

On 6/24/04 5:47 PM, in article cbfi5p$61s$1@is.intellij.net, "Mark
Derricutt" <talios@gmail.com> wrote:

Eugene Belyaev (JetBrains) wrote:

>> Actually this is the kind of progress I see in Eclipse 3.0 and it looks cool
>> indeed.


Cool, I keep meaning to look at Eclipse 3, IDEA keeps drawing me back
thou. Eclipse ( at least the last time I tried using it ) just didn't
feel right


0
Comment actions Permalink

Don't forget your motto guys; "Develop with Pleasure". This app stealing is definitely in the "unpleasurable" basket. Its this kind of attention to detail that makes IDEA the best!
Sure, we could all maintain our import statements by hand, (we don't "earn our pay" on these features) but IDEA does it for us, and thats what makes it a such a "pleasure" to use.

For the Jetbrains developers, try this little test.

a) How many users does this bug effect?
100%. Anyone who compiles, uses ant, or indeed anyone who starts up the application sees this bug.
Ouch.

b) How often do users see this bug?
Well, seeing as IDEA steals focus as its starting up (a process that takes some time) we can say its at least every time you use the application. Oh, and every time you compile... which is; ooh pretty often!

Double ouch.

c) How severe is this bug.
OK, so its obviously not a show stopper. Its merely an annoyance, and one that people will tolerate if they have to. And this is obviously why Jetbrains have decided it's not worth fixing.

I would suggest the developers "think outside the square" on this one. So you have a Swing bug that is causing this problem; one that is out of your control to fix. Perhaps modal dialogs aren't the way to go? How else could you convey the same information to the users?

Specifically, on startup, do you have to throw up dialogs half way through the startup process? Perhaps you could wait till the process is completed before displaying a dialog?? Or display this info in one go? (currently it steals focus maybe 3 times during startup)

Anyway, you may think this is no big deal and wonder what the fuss is all about. Look at parts a) and b) of the impact test above and you may start to see the answer :)

0
Comment actions Permalink

Robert S. Sfeir wrote:

They still have 3 holes I think:
...
2- Refactoring is still not as good


I will be much obliged if you present some examples :)
(For marketing purposes)


Cheers,
Dmitry
--
Dmitry Lomov
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"

0
Comment actions Permalink

a) How many users does this bug effect?
100%.


99.9%

b) How often do users see this bug?


I've never seen it.

:)

0
Comment actions Permalink

Refactorings IDEA Has Eclipse 3.0 doesn't have: (caveat, I am not an
Eclipse expert, this is by digging around Eclipse and looking for ways to do
these things)

Make Method Static
Convert To Instance Method
Safe Delete
Replace Method Code Duplicates
Use Interface Where Possible
Replace Inheritance With Delegation
Replace Constructor with Factory Method.

While this might seem minimal, these are major refactoring capabilities.
That said, they are indeed catching up!

R


On 6/25/04 4:03 AM, in article cbgmue$ir6$1@is.intellij.net, "Dmitry Lomov
(JetBrains)" <Dmitry.Lomov@jetbrains.com> wrote:

Robert S. Sfeir wrote:

>> They still have 3 holes I think:
>> ...
>> 2- Refactoring is still not as good


I will be much obliged if you present some examples :)
(For marketing purposes)


Cheers,
Dmitry


0
Comment actions Permalink

David,
I think the proper question would be, how many developers are really
bothered by this bug? I may be sloppy and slow developer but before this
thread I didn't even realise that this problem exists. I never typed into
wrong window and extra mouse click to bring my working window back up-front
never made my blood boil. So this bug didn't interfere with my ability to
"Develop with Pleasure". I have no problem if JB guys fix or don't fix this
problem I just felt watching this heated thread discussion that maybe some
some guys will be better served by just asking their doctors for prozac
prescription :)

Regards,
Alex Oscherov

"David Bream" <saggerb@yahoo.com> wrote in message
news:16531365.1088149930202.JavaMail.itn@is.intellij.net...

Don't forget your motto guys; "Develop with Pleasure". This app stealing

is definitely in the "unpleasurable" basket. Its this kind of attention to
detail that makes IDEA the best!

Sure, we could all maintain our import statements by hand, (we don't "earn

our pay" on these features) but IDEA does it for us, and thats what makes it
a such a "pleasure" to use.
>

For the Jetbrains developers, try this little test.

>

a) How many users does this bug effect?
100%. Anyone who compiles, uses ant, or indeed anyone who starts up the

application sees this bug.

Ouch.

>

b) How often do users see this bug?
Well, seeing as IDEA steals focus as its starting up (a process that takes

some time) we can say its at least every time you use the application. Oh,
and every time you compile... which is; ooh pretty often!
>

Double ouch.

>

c) How severe is this bug.
OK, so its obviously not a show stopper. Its merely an annoyance, and

one that people will tolerate if they have to. And this is obviously why
Jetbrains have decided it's not worth fixing.
>

I would suggest the developers "think outside the square" on this one. So

you have a Swing bug that is causing this problem; one that is out of your
control to fix. Perhaps modal dialogs aren't the way to go? How else could
you convey the same information to the users?
>

Specifically, on startup, do you have to throw up dialogs half way through

the startup process? Perhaps you could wait till the process is completed
before displaying a dialog?? Or display this info in one go? (currently it
steals focus maybe 3 times during startup)
>

Anyway, you may think this is no big deal and wonder what the fuss is all

about. Look at parts a) and b) of the impact test above and you may start to
see the answer :)


0
Comment actions Permalink

On 6/25/04 1:37 PM, in article cbhnbt$pnn$1@is.intellij.net, "Alex Oscherov"
<alex.oscherov@documentum.com> wrote:

I just felt watching this heated thread discussion that maybe some
some guys will be better served by just asking their doctors for prozac
prescription :)


Or ask their office to get them Macs :) (ok ok, no throwing tomatoes and
donuts now)

R

0

Post is closed for comments.