From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Jan D." Newsgroups: gmane.emacs.devel Subject: Re: override_redirect of X Window System Date: Sun, 5 Oct 2003 19:11:53 +0200 (MEST) Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <200310051756.h95HuXmh020222@stubby.bodenonline.com> References: <20030917.114532.18698789.kazu@iijlab.net> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1065374060 10951 80.91.224.253 (5 Oct 2003 17:14:20 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 5 Oct 2003 17:14:20 +0000 (UTC) Cc: handa@m17n.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Sun Oct 05 19:14:18 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1A6CSY-0004BM-00 for ; Sun, 05 Oct 2003 19:14:18 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1A6CSX-0002qV-00 for ; Sun, 05 Oct 2003 19:14:17 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1A6CRZ-000809-Jg for emacs-devel@quimby.gnus.org; Sun, 05 Oct 2003 13:13:17 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1A6CRD-0007yv-To for emacs-devel@gnu.org; Sun, 05 Oct 2003 13:12:55 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1A6CQh-0007uy-P8 for emacs-devel@gnu.org; Sun, 05 Oct 2003 13:12:54 -0400 Original-Received: from [193.201.16.94] (helo=stubby.bodenonline.com) by monty-python.gnu.org with esmtp (Exim 4.24) id 1A6CQh-0007ul-47 for emacs-devel@gnu.org; Sun, 05 Oct 2003 13:12:23 -0400 Original-Received: from accessno42.bodenonline.com (accessno42.bodenonline.com [193.201.16.44]) by stubby.bodenonline.com (8.12.1/8.12.1) with ESMTP id h95HuXmh020222; Sun, 5 Oct 2003 19:56:35 +0200 Original-To: kazu@iijlab.net (Kazu Yamamoto (=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=)) In-Reply-To: <20030917.114532.18698789.kazu@iijlab.net> from "Kazu Yamamoto (=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=)" at sep 17, 2003 11:45:32 X-Mailer: ELM [version 2.5 PL0pre8] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:16946 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:16946 > > 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.