emacs-devel
[Top][All Lists]
Advanced

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

Re: raise-frame doesn't work in Fedora Core 4


From: Katsumi Yamaoka
Subject: Re: raise-frame doesn't work in Fedora Core 4
Date: Tue, 31 Oct 2006 20:57:59 +0900
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.90 (gnu/linux)

Thanks Handa-san for following this up.

>>>>> In <address@hidden> Kenichi Handa wrote:

> I've just got a report saying that the problem reported here:

> http://www.archivum.info/address@hidden/2005-06/msg01570.html

> is not yet fixed.

> The contents is this:

>> I did them in the Fedora Core 4 platform.  Since `raise-frame'
>> does nothing in this platform,...

It does nothing also in Fedora Core 5.

Masatake YAMATO once tried to fix this and offered a patch to me
on 9 Sep 2005.  I tried it with Emacs CVS then and confirmed it
enabled `raise-frame' to perform.  I would very much appreciate
someone looking into it.  Here it is:

*** xterm.c     Sun Aug 28 04:13:33 +0900       1.873
--- xterm.c     Fri Sep 09 02:33:55 +0900       
***************
*** 8492,8497 ****
--- 8492,8524 ----
    if (f->async_visible)
      {
        BLOCK_INPUT;
+ 
+       {
+       /* See _NET_ACTIVE_WINDOW in
+          http://freedesktop.org/wiki/Standards_2fwm_2dspec */
+       XEvent event;
+ 
+       event.xclient.type = ClientMessage;
+       event.xclient.serial = 0;
+       event.xclient.send_event = True;
+ 
+       event.xclient.message_type = XInternAtom(FRAME_X_DISPLAY (f), 
+                                                "_NET_ACTIVE_WINDOW", 
+                                                False);
+       event.xclient.window = FRAME_OUTER_WINDOW (f);
+       event.xclient.format = 32;
+       event.xclient.data.l[0] = 1; /* source indication */
+       event.xclient.data.l[1] = 0; /* timestamp */
+       event.xclient.data.l[2] = 0; /* requestor's currently active window */
+       event.xclient.data.l[3] = event.xclient.data.l[4] = 0;
+ 
+       XSendEvent(FRAME_X_DISPLAY (f), 
+                  DefaultRootWindow (FRAME_X_DISPLAY (f)), 
+                  False, 
+                  SubstructureRedirectMask | SubstructureNotifyMask,
+                  &event);
+       }
+ 
        XRaiseWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f));
        XFlush (FRAME_X_DISPLAY (f));
        UNBLOCK_INPUT;




reply via email to

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