GNU bug report logs -
#745
pop-to-buffer, frames, and input focus
Previous Next
Full log
View this message in rfc822 format
* 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.