From: Lennart Borgman <lennart.borgman@gmail.com>
To: David De La Harpe Golden <david@harpegolden.net>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>,
Emacs-Devel devel <emacs-devel@gnu.org>
Subject: Re: Add function to make frame topmost?
Date: Sat, 1 May 2010 04:06:04 +0200 [thread overview]
Message-ID: <w2se01d8a51004301906yc5cee232jfd75694d4ed5a829@mail.gmail.com> (raw)
In-Reply-To: <4BDB8886.4050202@harpegolden.net>
On Sat, May 1, 2010 at 3:48 AM, David De La Harpe Golden
<david@harpegolden.net> wrote:
>>> ***
>>> One can certainly do this from within emacs as per the spec (note you
>>> do this for mapped windows by sending a client message to the root
>>> window).
>>> Note however, that window managers may refuse an app's request to be
>>> always
>>> on top.
>>>
>>> (defun x-toggle-frame-always-on-top (&optional frame)
>>> (x-send-client-message
>>> frame 0 frame "_NET_WM_STATE" 32
>>> ;; _NET_WM_STATE_REMOVE = 0
>>> ;; _NET_WM_STATE_ADD = 1
>>> ;; _NET_WM_STATE_TOGGLE = 2
>>> '(2 "_NET_WM_STATE_ABOVE" 0 1)))
>>
>>
>> Does this work already?
>
> Yes, that's working code, on window managers that honour it. But I don't
> actually recommend it for the purposes you wanted it for.
Thanks.
> Would however be vaguely okay for people who don't want to reach for the
> mouse to use the relevant window manager menu. If it were to be included in
> emacs it would make more sense to treat it as a frame parameter at the elisp
> api level, similar to the handling of several other similar existing
> parameters, i.e. so one could write
>
> (set-frame-parameter frame 'always-on-top t)
>
> (I think this was what Stefan was saying, pretty much)
Do you mean this which I have not tried to dechiffer yet:
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.
next prev parent reply other threads:[~2010-05-01 2:06 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-30 1:48 Add function to make frame topmost? Lennart Borgman
2010-04-30 13:06 ` Stefan Monnier
2010-04-30 13:26 ` Lennart Borgman
2010-04-30 20:54 ` Stefan Monnier
2010-04-30 22:02 ` Jan Djärv
2010-04-30 22:13 ` Lennart Borgman
2010-05-01 8:00 ` Jan Djärv
2010-04-30 22:32 ` David De La Harpe Golden
2010-04-30 23:22 ` Lennart Borgman
2010-05-01 1:48 ` David De La Harpe Golden
2010-05-01 2:06 ` Lennart Borgman [this message]
2010-05-01 13:05 ` Stefan Monnier
2010-05-01 18:03 ` David De La Harpe Golden
2010-05-01 20:20 ` Drew Adams
2010-05-01 22:02 ` David De La Harpe Golden
2010-05-01 22:09 ` David De La Harpe Golden
2010-05-02 14:07 ` Drew Adams
2010-05-02 15:27 ` David De La Harpe Golden
2010-05-02 15:58 ` stack-order (z-order) parameter for frames [was: Add function to make frame topmost?] Drew Adams
2010-05-01 22:44 ` Add function to make frame topmost? Lennart Borgman
2010-05-02 1:18 ` David De La Harpe Golden
2010-05-02 7:47 ` Jan Djärv
2010-05-02 12:52 ` David De La Harpe Golden
2010-05-02 7:27 ` Jan Djärv
2010-05-02 12:27 ` Stephen J. Turnbull
2010-05-02 12:53 ` Jan Djärv
2010-05-02 13:44 ` David De La Harpe Golden
2010-05-03 3:16 ` Stephen J. Turnbull
2010-05-02 14:43 ` David De La Harpe Golden
2010-05-02 14:48 ` Lennart Borgman
2010-05-02 14:55 ` David De La Harpe Golden
2010-05-02 16:48 ` David De La Harpe Golden
2010-05-02 18:58 ` Jan Djärv
2010-05-02 21:32 ` Desktop bubble notifications [Was: Re: Add function to make frame topmost?] David De La Harpe Golden
2010-05-03 0:19 ` Lennart Borgman
2010-05-03 2:29 ` David De La Harpe Golden
2010-05-03 19:46 ` Stephen Eilert
2010-05-03 19:58 ` Lennart Borgman
2010-05-04 11:48 ` Desktop bubble notifications Bastien
2010-05-02 19:17 ` Add function to make frame topmost? chad
2010-05-03 3:33 ` Stephen J. Turnbull
2010-05-02 14:01 ` Drew Adams
2010-05-02 15:06 ` Lennart Borgman
2010-05-03 3:43 ` Stephen J. Turnbull
2010-05-03 9:59 ` Lennart Borgman
2010-05-03 17:21 ` Stefan Monnier
2010-05-03 19:50 ` Lennart Borgman
2010-05-03 21:31 ` David De La Harpe Golden
2010-05-02 0:36 ` Stefan Monnier
2010-05-02 1:17 ` David De La Harpe Golden
2010-05-01 2:10 ` David De La Harpe Golden
2010-05-01 2:32 ` Lennart Borgman
2010-05-01 3:49 ` Lennart Borgman
2010-05-03 16:39 ` Tom Tromey
2010-05-03 19:33 ` systray support [was: Re: Add function to make frame topmost?] Dan Nicolaescu
2010-05-01 3:19 ` Add function to make frame topmost? David De La Harpe Golden
2010-05-01 8:28 ` Jan Djärv
2010-05-01 19:46 ` David De La Harpe Golden
2010-05-01 22:46 ` Lennart Borgman
2010-05-01 5:25 ` Eli Zaretskii
2010-05-03 12:47 ` Lennart Borgman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=w2se01d8a51004301906yc5cee232jfd75694d4ed5a829@mail.gmail.com \
--to=lennart.borgman@gmail.com \
--cc=david@harpegolden.net \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).