emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tooltips on w32 slow and strange


From: Lennart Borgman
Subject: Re: Tooltips on w32 slow and strange
Date: Tue, 15 Feb 2005 14:43:20 +0100

----- Original Message ----- 
From: "Stephan Stahl" <address@hidden>

> But C-x 5 2 seems to do this too.  The frame gets the focus and is shown
on
> top of all other windows.  But there still seems to be a difference since
> Alt-tab makes popups go wrong while C-x 5 2 does not..  I do not know the
> code for both but maybe some other has more insight then me..

I think this helped me to realize what is happening. I am not quite sure but
I believe this is a good guess:

*** This is where the tooltip window gets created (I did not check further
to see if it where reused, but the timings suggests to me it is not):

>>>> w32fns.c >>>>
void
my_create_tip_window (f)
     struct frame *f;
{
...
  tip_window = FRAME_W32_WINDOW (f)
    = CreateWindow (EMACS_CLASS,
...
      FRAME_W32_WINDOW (SELECTED_FRAME ()), /* owner */
...
      NULL);
...
}


*** There is a SELECTED_FRAME above. As far as I understands it
SELECTED_FRAME is set by operations that Emacs recognize.

*** Emacs does not recognize Alt-Tab. This is the real problem and the case
we have here is just a special problem with its root in this.


I actually wrote about this when we discussed "Popup when buffer file is
changed on disk" which Moheb brought up. I implemented some code to take
care of this (but maybe it was on the wrong level).

I would suggest taking care of the message w32 sends when the user press
Alt-Tab. (This is some kind of "got focus message", but I do not know the
name at the moment.) The best would IMO to make a hook that is run when the
message is received. It could then be used to solve problems like "Popup
..." above too.

I am a bit surprised that this does not seem to happen on other platforms.
Or does it? I can not understand why, can anyone explain?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]