GNU bug report logs - #59377
29.0.50; Sticky frame parameter has no effect

Previous Next

Package: emacs;

Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>

Date: Sat, 19 Nov 2022 05:30:02 UTC

Severity: normal

Found in version 29.0.50

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 59377 in the body.
You can then email your comments to 59377 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#59377; Package emacs. (Sat, 19 Nov 2022 05:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Heerdegen <michael_heerdegen <at> web.de>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 19 Nov 2022 05:30:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; Sticky frame parameter has no effect
Date: Sat, 19 Nov 2022 06:29:40 +0100
Hello,

Debian and Openbox on X here.

When I set the `sticky` frame parameter of a frame to non-nil, like in

(display-buffer (get-buffer-create "Test")
                `(display-buffer-pop-up-frame
                  ( pop-up-frame-parameters
                    (sticky . t) (minibuffer . nil))))

there is no effect - the frame is only displayed on the current virtual
desktop.  Same when I explicitly set the frame parameter of an existing
frame, e.g. with

  (set-frame-parameter nil 'sticky t)

I would have expected that this works with Openbox.

TIA,

Michael.






Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59377; Package emacs. (Sat, 19 Nov 2022 07:10:02 GMT) Full text and rfc822 format available.

Message #8 received at 59377 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 59377 <at> debbugs.gnu.org
Subject: Re: bug#59377: 29.0.50; Sticky frame parameter has no effect
Date: Sat, 19 Nov 2022 15:09:31 +0800
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> Hello,
>
> Debian and Openbox on X here.
>
> When I set the `sticky` frame parameter of a frame to non-nil, like in
>
> (display-buffer (get-buffer-create "Test")
>                 `(display-buffer-pop-up-frame
>                   ( pop-up-frame-parameters
>                     (sticky . t) (minibuffer . nil))))
>
> there is no effect - the frame is only displayed on the current virtual
> desktop.  Same when I explicitly set the frame parameter of an existing
> frame, e.g. with
>
>   (set-frame-parameter nil 'sticky t)
>
> I would have expected that this works with Openbox.
>
> TIA,
>
> Michael.

Thanks.

Can you please do the following?

First, run "xdpyinfo".  Look for the screen you are running Emacs on,
and its root window.  Then, type "xprop -id <id-of-root-window-here>",
and send the output of that command.

Second, run "xprop", click on Emacs after you set the `sticky'
parameter, and send its output here.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59377; Package emacs. (Sun, 20 Nov 2022 06:26:02 GMT) Full text and rfc822 format available.

Message #11 received at 59377 <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 59377 <at> debbugs.gnu.org
Subject: Re: bug#59377: 29.0.50; Sticky frame parameter has no effect
Date: Sun, 20 Nov 2022 07:25:18 +0100
[Message part 1 (text/plain, inline)]
Po Lu <luangruo <at> yahoo.com> writes:

> Can you please do the following?

See the attached file.
[sticky-x.txt (text/plain, attachment)]
[Message part 3 (text/plain, inline)]

When I mark the frame (X window) with "Send to desktop -> All desktops"
in Openbox, then I see

  _NET_WM_DESKTOP(CARDINAL) = 4294967295

instead of

  _NET_WM_DESKTOP(CARDINAL) = 0

- just in case this is also relevant.


Michael.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59377; Package emacs. (Sun, 20 Nov 2022 07:32:02 GMT) Full text and rfc822 format available.

Message #14 received at 59377 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 59377 <at> debbugs.gnu.org
Subject: Re: bug#59377: 29.0.50; Sticky frame parameter has no effect
Date: Sun, 20 Nov 2022 15:31:07 +0800
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> _NET_SUPPORTED(ATOM) = _NET_SUPPORTING_WM_CHECK, _NET_WM_FULL_PLACEMENT, _NET_CURRENT_DESKTOP, _NET_NUMBER_OF_DESKTOPS, _NET_DESKTOP_GEOMETRY, _NET_DESKTOP_VIEWPORT, _NET_ACTIVE_WINDOW, _NET_WORKAREA, _NET_CLIENT_LIST, _NET_CLIENT_LIST_STACKING, _NET_DESKTOP_NAMES, _NET_CLOSE_WINDOW, _NET_DESKTOP_LAYOUT, _NET_SHOWING_DESKTOP, _NET_WM_NAME, _NET_WM_VISIBLE_NAME, _NET_WM_ICON_NAME, _NET_WM_VISIBLE_ICON_NAME, _NET_WM_DESKTOP, _NET_WM_STRUT, _NET_WM_STRUT_PARTIAL, _NET_WM_ICON, _NET_WM_ICON_GEOMETRY, _NET_WM_WINDOW_TYPE, _NET_WM_WINDOW_TYPE_DESKTOP, _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, _NET_WM_WINDOW_TYPE_DIALOG, _NET_WM_WINDOW_TYPE_NORMAL, _NET_WM_ALLOWED_ACTIONS, _NET_WM_WINDOW_OPACITY, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _NET_WM_STATE, _NET_WM_STATE_MODAL, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_SHADED, _NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_HIDDEN, _NET_WM_STATE_FULLSCREEN, _NET_WM_STATE_ABOVE, _NET_WM_STATE_BELOW, _NET_WM_STATE_DEMANDS_ATTENTION, _NET_MOVERESIZE_WINDOW, _NET_WM_MOVERESIZE, _NET_WM_USER_TIME, _NET_FRAME_EXTENTS, _NET_REQUEST_FRAME_EXTENTS, _NET_RESTACK_WINDOW, _NET_STARTUP_ID, _NET_WM_SYNC_REQUEST, _NET_WM_SYNC_REQUEST_COUNTER, _NET_WM_PID, _NET_WM_PING, _KDE_WM_CHANGE_STATE, _KDE_NET_WM_FRAME_STRUT, _KDE_NET_WM_WINDOW_TYPE_OVERRIDE, _OB_WM_ACTION_UNDECORATE, _OB_WM_STATE_UNDECORATED, _OPENBOX_PID, _OB_THEME, _OB_CONFIG_FILE, _OB_CONTROL, _OB_VERSION, _OB_APP_ROLE, _OB_APP_TITLE, _OB_APP_NAME, _OB_APP_CLASS, _OB_APP_GROUP_NAME, _OB_APP_GROUP_CLASS, _OB_APP_TYPE
> _NET_SUPPORTING_WM_CHECK(WINDOW): window id # 0x40020b

This means your window manager does not support _NET_WM_STATE_STICKY.
Emacs only supports that method of making a frame sticky, and no others.

I guess Emacs could be made to send a _NET_WM_DESKTOP with the desktop
set to 0xffffffff when the window manager does not support
_NET_WM_STATE_STICKY, but it would be a lot of trouble.  Since you're
trying to make some sort of popup, does the `override-redirect' frame
parameter work for you?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59377; Package emacs. (Sun, 20 Nov 2022 07:47:01 GMT) Full text and rfc822 format available.

Message #17 received at 59377 <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 59377 <at> debbugs.gnu.org
Subject: Re: bug#59377: 29.0.50; Sticky frame parameter has no effect
Date: Sun, 20 Nov 2022 08:45:52 +0100
Po Lu <luangruo <at> yahoo.com> writes:

> This means your window manager does not support _NET_WM_STATE_STICKY.
> Emacs only supports that method of making a frame sticky, and no
> others.

Shouldn't we have that information in the manual?

> I guess Emacs could be made to send a _NET_WM_DESKTOP with the desktop
> set to 0xffffffff when the window manager does not support
> _NET_WM_STATE_STICKY, but it would be a lot of trouble.  Since you're
> trying to make some sort of popup, does the `override-redirect' frame
> parameter work for you?

Hmm - that popup is not specific to Emacs so I would rather try to make
it work using `x-send-client-message', even if that works only in
openbox (and X...) then.  How would the correct `x-send-client-message'
call look like?


Thanks,

Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59377; Package emacs. (Sun, 20 Nov 2022 09:43:01 GMT) Full text and rfc822 format available.

Message #20 received at 59377 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 59377 <at> debbugs.gnu.org
Subject: Re: bug#59377: 29.0.50; Sticky frame parameter has no effect
Date: Sun, 20 Nov 2022 17:41:58 +0800
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> Shouldn't we have that information in the manual?

No, it is a very low-level detail of X window manager implementations.

> Hmm - that popup is not specific to Emacs so I would rather try to make
> it work using `x-send-client-message', even if that works only in
> openbox (and X...) then.  How would the correct `x-send-client-message'
> call look like?

  (x-send-client-message frame 0 frame "_NET_WM_DESKTOP" 32
  			 '(#xffffffff 1))

Bind `x-fast-protocol-requests' around the call for optimal performance.
Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59377; Package emacs. (Sun, 20 Nov 2022 11:57:02 GMT) Full text and rfc822 format available.

Message #23 received at 59377 <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 59377 <at> debbugs.gnu.org
Subject: Re: bug#59377: 29.0.50; Sticky frame parameter has no effect
Date: Sun, 20 Nov 2022 12:56:21 +0100
Po Lu <luangruo <at> yahoo.com> writes:

> > Shouldn't we have that information in the manual?
>
> No, it is a very low-level detail of X window manager implementations.

That the feature doesn't work with standard WMs is not a detail.  Maybe
say something like "if supported by your WM" or "not all WM are
supported" or so.

>   (x-send-client-message frame 0 frame "_NET_WM_DESKTOP" 32
>   			 '(#xffffffff 1))

Works well, thank you.

Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59377; Package emacs. (Sun, 20 Nov 2022 12:26:01 GMT) Full text and rfc822 format available.

Message #26 received at 59377 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 59377 <at> debbugs.gnu.org
Subject: Re: bug#59377: 29.0.50; Sticky frame parameter has no effect
Date: Sun, 20 Nov 2022 20:25:22 +0800
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> That the feature doesn't work with standard WMs is not a detail.  Maybe
> say something like "if supported by your WM" or "not all WM are
> supported" or so.

If Openbox does not support the hint, then it is not a ``standard window
manager'', as far as virtual desktops are concerned.

The manual already says:

‘sticky’
     If non-‘nil’, the frame is visible on all virtual desktops on
     systems with virtual desktops.
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59377; Package emacs. (Sun, 20 Nov 2022 13:05:02 GMT) Full text and rfc822 format available.

Message #29 received at 59377 <at> debbugs.gnu.org (full text, mbox):

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 59377 <at> debbugs.gnu.org
Subject: Re: bug#59377: 29.0.50; Sticky frame parameter has no effect
Date: Sun, 20 Nov 2022 14:03:48 +0100
Po Lu <luangruo <at> yahoo.com> writes:

> > That the feature doesn't work with standard WMs is not a detail.  Maybe
> > say something like "if supported by your WM" or "not all WM are
> > supported" or so.
>
> If Openbox does not support the hint, then it is not a ``standard
> window manager'', as far as virtual desktops are concerned.

Maybe they are just virtual virtual desktops...

Ok, if you think that people who know more about the matter will not be
surprised, then it's all good, I cannot estimate.

In any case, thanks for helping.

Michael.




Reply sent to Stefan Kangas <stefankangas <at> gmail.com>:
You have taken responsibility. (Thu, 24 Nov 2022 23:54:02 GMT) Full text and rfc822 format available.

Notification sent to Michael Heerdegen <michael_heerdegen <at> web.de>:
bug acknowledged by developer. (Thu, 24 Nov 2022 23:54:02 GMT) Full text and rfc822 format available.

Message #34 received at 59377-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: Po Lu <luangruo <at> yahoo.com>, 59377-done <at> debbugs.gnu.org
Subject: Re: bug#59377: 29.0.50; Sticky frame parameter has no effect
Date: Thu, 24 Nov 2022 15:52:58 -0800
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> Po Lu <luangruo <at> yahoo.com> writes:
>
>> > That the feature doesn't work with standard WMs is not a detail.  Maybe
>> > say something like "if supported by your WM" or "not all WM are
>> > supported" or so.
>>
>> If Openbox does not support the hint, then it is not a ``standard
>> window manager'', as far as virtual desktops are concerned.
>
> Maybe they are just virtual virtual desktops...
>
> Ok, if you think that people who know more about the matter will not be
> surprised, then it's all good, I cannot estimate.
>
> In any case, thanks for helping.

So it seems like there is nothing more to do here, and I'm therefore
closing this bug report.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 23 Dec 2022 12:24:21 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 193 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.