GNU bug report logs - #745
pop-to-buffer, frames, and input focus

Previous Next

Package: emacs;

Reported by: Helmut Eller <eller.helmut <at> gmail.com>

Date: Wed, 20 Aug 2008 07:40:04 UTC

Severity: normal

Done: martin rudalics <rudalics <at> gmx.at>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Helmut Eller <eller.helmut <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 745 <at> debbugs.gnu.org
Subject: bug#745: pop-to-buffer, frames, and input focus
Date: Fri, 29 Aug 2008 17:02:54 +0200
* martin rudalics [2008-08-29 11:26+0200] writes:

>> Emacs could first test whether the window manager is EWMH compliant
>
> How?  Emacs can't even test whether the window manager is click to focus
> or focus follows mouse.

xterm.c:wm_supports implements the test already.  By inspecting the
_NET_SUPPORTED property on the root window.  A compliant window manager
must enumerate the supported features there.

See http://standards.freedesktop.org/wm-spec/1.4/ar01s03.html#id2523263.

E.g. for Sawfish I get

shell$ xprop _NET_SUPPORTED
_NET_SUPPORTED(ATOM) = _NET_ACTIVE_WINDOW, _NET_CLIENT_LIST,
_NET_CLIENT_LIST_STACKING, _NET_CLOSE_WINDOW, _NET_CURRENT_DESKTOP,
_NET_DESKTOP_GEOMETRY, _NET_DESKTOP_NAMES, _NET_DESKTOP_VIEWPORT,
_NET_NUMBER_OF_DESKTOPS, _NET_PROTOCOLS, _NET_SHOWING_DESKTOP,
_NET_SUPPORTED, _NET_SUPPORTING_WM_CHECK, _NET_WORKAREA,
_NET_WM_DESKTOP, _NET_WM_ICON_GEOMETRY, _NET_WM_MOVERESIZE,
_NET_WM_MOVERESIZE_MOVE, _NET_WM_MOVERESIZE_SIZE_BOTTOM,
_NET_WM_MOVERESIZE_SIZE_BOTTOMLEFT, _NET_WM_MOVERESIZE_SIZE_BOTTOMRIGHT,
_NET_WM_MOVERESIZE_SIZE_LEFT, _NET_WM_MOVERESIZE_SIZE_RIGHT,
_NET_WM_MOVERESIZE_SIZE_TOP, _NET_WM_MOVERESIZE_SIZE_TOPLEFT,
_NET_WM_MOVERESIZE_SIZE_TOPRIGHT, _NET_WM_MOVERESIZE_SIZE_KEYBOARD,
_NET_WM_MOVERESIZE_MOVE_KEYBOARD, _NET_WM_PING, _NET_WM_STATE,
_NET_WM_STATE_ABOVE, _NET_WM_STATE_ADD, _NET_WM_STATE_BELOW,
_NET_WM_STATE_FULLSCREEN, _NET_WM_STATE_MAXIMIZED,
_NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT,
_NET_WM_STATE_REMOVE, _NET_WM_STATE_SHADED, _NET_WM_STATE_SKIP_PAGER,
_NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_STICKY, _NET_WM_STATE_TOGGLE,
_NET_WM_STRUT, _NET_WM_WINDOW_TYPE, _NET_WM_WINDOW_TYPE_DESKTOP,
_NET_WM_WINDOW_TYPE_DIALOG, _NET_WM_WINDOW_TYPE_DOCK,
_NET_WM_WINDOW_TYPE_TOOLBAR, _NET_WM_WINDOW_TYPE_MENU,
_NET_WM_WINDOW_TYPE_UTILITY, _NET_WM_WINDOW_TYPE_SPLASH


>> I also found the gtk_window_set_focus_on_map function.  This seems to
>> rely on the _NET_WM_USER_TIME EWMH.  Sawfish ignores _NET_WM_USER_TIME,
>> but it could be useful for other window managers.
>
> And this would have to be supplied by the user separately.  Or is there
> some way to get such basic information from window-managers?

For a window manager which supports it, _NET_SUPPORTED will contain
_NET_WM_USER_TIME.  But it wouldn't hurt to set _NET_WM_USER_TIME to 0,
because that should be interpreted as "disable focus-on-map".  At least
gtk_window_set_focus_on_map sets the property unconditionally.

Helmut.




This bug report was last modified 16 years and 255 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.