emacs-devel
[Top][All Lists]
Advanced

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

Re: override_redirect of X Window System


From: Jan D.
Subject: Re: override_redirect of X Window System
Date: Sun, 5 Oct 2003 19:11:53 +0200 (MEST)

> 
> Hello,
> 
> I have one request for Emacs 21.
> 
> I'm now creating a presentation tool for Emacs 21. One problem is that
> there is no way to set one frame attribute "override_redirect" to
> True.
> 
> Imagine that we try to create a frame which overs the entire screen
> for presentation. Since we can't set override_redirect to True, the
> created frame can't cover the entire screen unders some window
> managers including gnome.
> 
> Thus I would like to a method to set override_redirect to True. One
> idea is extend modify-frame-parameters to handle override_redirect.

I have made a function that can work as a base for implementing a
package for extended window manager hints (EWMH).  However, I am
currently only able to do Emacs stuff during weekends (traveling during
the week), so I have just made a client event sending function you can
use.  For example, to set fullscreen with EWMH, do:

(x-send-client-message nil 0 nil "_NET_WM_STATE" 32
                       '(2 "_NET_WM_STATE_FULLSCREEN" 0))

2 in the list is "toggle".  You can also use 1 for "add" and 0 for
"remove".  See the section on _NET_WM_STATE here for other usages:
http://pdx.freedesktop.org/Standards/wm-spec/1.3/

Is this enough for your needs?

Here is the documentation for the function:
(x-send-client-message DISPLAY DEST FROM MESSAGE-TYPE FORMAT VALUES)

Send a client message of MESSAGE-TYPE to window DEST on DISPLAY.

For DISPLAY, specify either a frame or a display name (a string).
If DISPLAY is nil, that stands for the selected frame's display.
DEST may be an integer, in which case it is a Window id.  The value 0 may
be used to send to the root window of the DISPLAY.
If DEST is a frame the event is sent to the outer window of that frame.
Nil means the currently selected frame.
If DEST is the string "PointerWindow" the event is sent to the window that
contains the pointer.  If DEST is the string "InputFocus" the event is
sent to the window that has the input focus.
FROM is the frame sending the event.  Use nil for currently selected frame.
MESSAGE-TYPE is the name of an Atom as a string.
FORMAT must be one of 8, 16 or 32 and determines the size of the values in
bits.  VALUES is a list of integer and/or strings containing the values to
send.  If a value is a string, it is converted to an Atom and the value of
the Atom is sent.  If more values than fits into the event is given,
the excessive values are ignored.

        Jan D.





reply via email to

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