From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David De La Harpe Golden Newsgroups: gmane.emacs.devel Subject: Re: Add function to make frame topmost? Date: Sat, 01 May 2010 19:03:19 +0100 Message-ID: <4BDC6CE7.8060400@harpegolden.net> References: <4BDB5A6E.5060803@harpegolden.net> <4BDB8886.4050202@harpegolden.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060300070003090707050706" X-Trace: dough.gmane.org 1272737017 24234 80.91.229.12 (1 May 2010 18:03:37 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 1 May 2010 18:03:37 +0000 (UTC) Cc: =?ISO-8859-1?Q?Jan_Dj=E4rv?= , Lennart Borgman , Emacs-Devel devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat May 01 20:03:35 2010 connect(): No such file or directory Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1O8H2M-0001qP-Lu for ged-emacs-devel@m.gmane.org; Sat, 01 May 2010 20:03:35 +0200 Original-Received: from localhost ([127.0.0.1]:49220 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O8H2M-0004bb-4s for ged-emacs-devel@m.gmane.org; Sat, 01 May 2010 14:03:34 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O8H2G-0004XT-8Y for emacs-devel@gnu.org; Sat, 01 May 2010 14:03:28 -0400 Original-Received: from [140.186.70.92] (port=52420 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O8H2E-0004VB-VU for emacs-devel@gnu.org; Sat, 01 May 2010 14:03:27 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O8H2D-0002jF-8Z for emacs-devel@gnu.org; Sat, 01 May 2010 14:03:26 -0400 Original-Received: from harpegolden.net ([65.99.215.13]:50789) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O8H2D-0002j5-2Z for emacs-devel@gnu.org; Sat, 01 May 2010 14:03:25 -0400 Original-Received: from [87.198.54.194] (87-198-54-194.ptr.magnet.ie [87.198.54.194]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "David De La Harpe Golden", Issuer "David De La Harpe Golden Personal CA rev 3" (verified OK)) by harpegolden.net (Postfix) with ESMTP id 8044B968E; Sat, 1 May 2010 19:03:23 +0100 (IST) User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:124394 Archived-At: This is a multi-part message in MIME format. --------------060300070003090707050706 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Stefan Monnier wrote: > SM> An alternative is to use the poor-man's OO system already in place and > SM> just add a set_frame_topmost_hook to the terminal object. > > Check src/termhooks.h where "struct terminal" is defined. > > > Stefan "who though it would be obvious" > I'm wasn't sure why you say terminal rather than frame, though either way it's a poor-man's OO system dealie. Futzing with _NET_WM_STATE_ABOVE is closely analogous to futzing with _NET_WM_STATE_STICKY from within emacs, so adding it to frame_parm_table makes most sense to me. I guess there is a danger that if it is added it might be abused, but FWIW, a patch that adds 'stacking-layer (and 'shaded, which I just thought I'd do while I was there) frame parameters for X11 by analogy with 'sticky is straightforward and attached, it might be independently vaguely useful for some users? But don't expect me to argue strongly for its inclusion. Implementation of a w32 x_set_stacking_layer toggling TOPMOST should be straightforward (though I don't see a BOTTOMMOST, so I guess they have a layer less than us). I have found that there are add-ons for windows that do use TOPMOST to produce an "Always on top" setting very much akin to a typical X11 window manager: http://www.ghacks.net/2008/09/12/window-always-on-top-with-power-menu/ so perhaps it's about as valid a thing to add on w32 as the x11 stacking-layer support is on x11. --------------060300070003090707050706 Content-Type: application/x-gzip; name="abovebelowshaded_r1.diff.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="abovebelowshaded_r1.diff.gz" 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 --------------060300070003090707050706--