emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: [gmane.emacs.help] Re: raise frame no go


From: Jan Djärv
Subject: Re: [gmane.emacs.help] Re: raise frame no go
Date: Thu, 04 Jan 2007 12:42:19 +0100
User-agent: Thunderbird 1.5.0.9 (Macintosh/20061207)


Metacity (the default Gnome window manager) is a complete mess when it comes to raise frame. Some versions works, some don't. Some require the code below, some don't. In some configurations (i.e. focus on click vs. focus on mouse) raise frame works, in some raise frame don't work.

We must give up on creating workarounds for Metacity, and just tell people that metacity is buggy. Ufortunately they have to figure out a workaround for themselves and their specific verion/configuration of metacity.

        Jan D.

Leo skrev:

------------------------------------------------------------------------

Ämne:
Re: raise frame no go
Från:
Mathias Dahl <address@hidden>
Datum:
Thu, 04 Jan 2007 02:34:48 +0100

Diskussionsgrupper:
gmane.emacs.help


Leo <address@hidden> writes:

I want to use emacsclient to bring Emacs frame to the front. I tried
several functions including raise-frame, x-focus-frame etc, but none
of them worked. All they do is causing the Emacs frame to flash in
the taskbar. Any ideas?

This is tested in Gnome 2.16 in Fedora 6.
Emacs 23: 20061218.

I just wanted to mention that I have the same problem. Running CVS
Emacs as of 2007-01-1 under Mandriva GNU/Linux, using GNOME with its
Metacity window manager. What I do is this:

 $ emacsclient -e "(my-function)"

and my-function is:

(defun my-function ()
 (select-frame-set-input-focus (selected-frame)))

(well, of course it does more than that but...)

Up until today I haven't played with emacsclient under GNU/Linux. I
have just used gnuclient & friends under w32. I am currently coding a
small command/url/hatever launcher in Emacs, and the current behavior
is quite frustrating (when Emacs is not the topmost window).

I see this code in xterm.c:

XTframe_raise_lower (f, raise_flag)
     FRAME_PTR f;
     int raise_flag;
{
  if (raise_flag)
    {
      /* The following code is needed for `raise-frame' to work on
         some versions of metacity; see Window Manager
         Specification/Extended Window Manager Hints at
         http://freedesktop.org/wiki/Standards_2fwm_2dspec

         However, on other versions (metacity 2.17.2-1.fc7), it
         reportedly causes hangs when resizing frames.  */

      /* Lisp_Object frame;
         const char *atom = "_NET_ACTIVE_WINDOW"; */

      x_raise_frame (f);

      /* XSETFRAME (frame, f);
         Fx_send_client_event (frame, make_number (0), frame,
                            make_unibyte_string (atom, strlen (atom)),
                            make_number (32),
                            Fcons (make_number (1),
                                   Fcons (make_number (time (NULL) * 1000),
                                   Qnil))); */
    }
  else
    x_lower_frame (f);
}

Is is that piece of code that fails? My version of metaciy is 2.16.1.

/Mathias


------------------------------------------------------------------------




------------------------------------------------------------------------

_______________________________________________
emacs-pretest-bug mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug




reply via email to

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