GNU bug report logs -
#19413
24.4; (desktop-save-mode 1) save frame as page and desktop sticky (_NET_WM_STATE_STICKY) when close Emacs shaded, (setq desktop-restore-frames nil) fix issue.
Previous Next
Reported by: Oleksandr Gavenko <gavenkoa <at> gmail.com>
Date: Fri, 19 Dec 2014 21:47:01 UTC
Severity: normal
Tags: moreinfo
Found in version 24.4
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
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 19413 in the body.
You can then email your comments to 19413 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Fri, 19 Dec 2014 21:47:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Oleksandr Gavenko <gavenkoa <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Fri, 19 Dec 2014 21:47:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
I upgrade Emacs on Debian to 24.4.1.
New changes for desktop-save-mode:
*** Desktop now saves and restores the frame/window configuration.
To disable this, set `desktop-restore-frames' to nil.
I don't set desktop-restore-frames previously.
When I use Fvwm `WindowShade` command on Emacs window it hided, only titlebar
shown.
If I close Emacs in shaded state and run again it gain sticky attribute (so it
shown on every page/desktop, follow my page/desktop switching).
So with "emacs -q" and only "(desktop-save-mode 1)" this behavior reproduced.
(setq desktop-restore-frames nil) fix issue.
Here ~/.emacs.desktop which hold data that lead to sticky attribute:
(setq desktop-saved-frameset [frameset 1 (21652 39439 387790 976000) (desktop . "206") "user <at> desktop.home.int" nil nil ((((font-backend xft x) (font . "-Misc-Fixed-normal-normal-normal-*-14-*-*-*-c-70-iso10646-1") (font-parameter . "-misc-fixed-medium-r-normal-*-14-*-*-*-c-*-iso10646-1") (border-width . 0) (internal-border-width . 0) (right-divider-width . 0) (bottom-divider-width . 0) (vertical-scroll-bars . right) (foreground-color . "black") (background-color . "white") (mouse-color . "black") (border-color . "black") (screen-gamma) (line-spacing) (left-fringe . 10) (right-fringe . 11) (scroll-bar-foreground) (scroll-bar-background . "grey75") (menu-bar-lines . 1) (tool-bar-lines . 1) (title) (wait-for-wm . t) (fullscreen) (tool-bar-position . top) (icon-type . t) (auto-raise) (auto-lower) (cursor-type . box) (scroll-bar-width . 16) (alpha) (horizontal-scroll-bars . t) (display-type . color) (background-mode . light) (cursor-color . "black") (environment) (frameset--id . "0B83-6D5C-17FD-9D99") (frameset--mini t . t) (modeline . t) (minibuffer . t) (unsplittable) (icon-name) (visibility . t) (display . ":0") (explicit-name) (sticky) (height . 35) (width . 80) (left . 0) (top . 0)) ((min-height . 4) (min-width . 10) (min-height-ignore . 2) (min-width-ignore . 8) (min-height-safe . 1) (min-width-safe . 2) (min-pixel-height . 56) (min-pixel-width . 70) (min-pixel-height-ignore . 28) (min-pixel-width-ignore . 56) (min-pixel-height-safe . 14) (min-pixel-width-safe . 14)) leaf (pixel-width . 597) (pixel-height . 476) (total-width . 85) (total-height . 34) (normal-height . 1.0) (normal-width . 1.0) (buffer ".emacs-my" (selected . t) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 24) (start . 1))))])
Here X window properties that is on newly running sticky Emacs:
$ xprop -id 0x200001b
_NET_WM_STATE(ATOM) = _NET_WM_STATE_STICKY
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
XdndAware(ATOM) = BITMAP
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_WIN_AREA(CARDINAL) = 0, 0
_WIN_WORKSPACE(CARDINAL) = 1
_WIN_LAYER(CARDINAL) = 4
_WIN_STATE(CARDINAL) = 1
_NET_FRAME_EXTENTS(CARDINAL) = 6, 6, 22, 6
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 6, 6, 22, 6
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_STICK
_NET_WM_DESKTOP(CARDINAL) = 4294967295
_NET_WM_ICON_VISIBLE_NAME(UTF8_STRING) = "emacs <at> desktop.home.int"
_NET_WM_VISIBLE_NAME(UTF8_STRING) = "emacs <at> desktop.home.int «Emacs:emacs»"
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
bitmap id # to use for icon: 0x2000293
bitmap id # of mask for icon: 0x2000299
window id # of group leader: 0x2000001
_NET_WM_OPAQUE_REGION(CARDINAL) = 7, 0, 1892, 7, 0, 7, 1906, 1153
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 33554460, 33554461
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x200001b
WM_CLIENT_LEADER(WINDOW): window id # 0x2000001
_NET_WM_PID(CARDINAL) = 13282
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLIENT_MACHINE(STRING) = "desktop"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified minimum size: 51 by 96
program specified resize increment: 7 by 14
program specified base size: 44 by 82
window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "emacs", "Emacs"
WM_ICON_NAME(STRING) = "emacs <at> desktop.home.int"
_NET_WM_ICON_NAME(UTF8_STRING) = "emacs <at> desktop.home.int"
WM_NAME(STRING) = "emacs <at> desktop.home.int"
_NET_WM_NAME(UTF8_STRING) = "emacs <at> desktop.home.int"
In GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 3.14.3)
of 2014-10-25 on trouble, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11601000
System Description: Debian GNU/Linux testing (jessie)
Configured using:
`configure --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
--libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/site-lisp
--build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
--libexecdir=/usr/lib --localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.4/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.4/site-lisp:/usr/share/emacs/site-lisp
--with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
-fstack-protector-strong -Wformat -Werror=format-security -Wall'
CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-z,relro'
--
Best regards!
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Fri, 19 Dec 2014 21:53:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 19413 <at> debbugs.gnu.org (full text, mbox):
> From: Oleksandr Gavenko <gavenkoa <at> gmail.com>
> Date: Fri, 19 Dec 2014 23:46:34 +0200
>
> I upgrade Emacs on Debian to 24.4.1.
>
> New changes for desktop-save-mode:
>
> *** Desktop now saves and restores the frame/window configuration.
> To disable this, set `desktop-restore-frames' to nil.
>
> I don't set desktop-restore-frames previously.
>
> When I use Fvwm `WindowShade` command on Emacs window it hided, only titlebar
> shown.
>
> If I close Emacs in shaded state and run again it gain sticky attribute (so it
> shown on every page/desktop, follow my page/desktop switching).
>
> So with "emacs -q" and only "(desktop-save-mode 1)" this behavior reproduced.
AFAIR, Debian has a lot of stuff hiding in site-init files, and -q
doesn't disable that. Does the same problem happen with -Q or
--no-site-file?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Fri, 19 Dec 2014 22:36:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 19413 <at> debbugs.gnu.org (full text, mbox):
On 2014-12-19, Eli Zaretskii wrote:
>> When I use Fvwm `WindowShade` command on Emacs window it hided, only titlebar
>> shown.
>>
>> If I close Emacs in shaded state and run again it gain sticky attribute (so it
>> shown on every page/desktop, follow my page/desktop switching).
>>
>> So with "emacs -q" and only "(desktop-save-mode 1)" this behavior reproduced.
>
> AFAIR, Debian has a lot of stuff hiding in site-init files, and -q
> doesn't disable that. Does the same problem happen with -Q or
> --no-site-file?
Ok. I reproduce with --no-site-file and clean ~/.emacs with only:
(desktop-save-mode 1)
But one correction - I lay about "-q". Evaluation of (desktop-save-mode 1) in
non-startup stage works different. For example it doesn't read
~/.emacs.desktop file (or just doesn't rearrange frame geometry) and when I
leave Emacs - it prompt for place for .emacs.desktop. With --no-site-file and
above ~/.emacs I am not asked for savefile and bug reproduced.
Here X window properties for shaded Emacs:
$ xprop -id 0x200001a
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SHADED
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
XdndAware(ATOM) = BITMAP
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_WIN_AREA(CARDINAL) = 0, 0
_WIN_WORKSPACE(CARDINAL) = 2
_WIN_LAYER(CARDINAL) = 4
_WIN_STATE(CARDINAL) = 32
_NET_FRAME_EXTENTS(CARDINAL) = 6, 6, 22, 6
_KDE_NET_WM_FRAME_STRUT(CARDINAL) = 6, 6, 22, 6
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_STICK
_NET_WM_DESKTOP(CARDINAL) = 2
_NET_WM_ICON_VISIBLE_NAME(UTF8_STRING) = "EMACS desktop.home.int: *unsent wide reply to Eli Zaretskii*"
_NET_WM_VISIBLE_NAME(UTF8_STRING) = "EMACS desktop.home.int: *unsent wide reply to Eli Zaretskii* «Emacs:emacs»"
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
bitmap id # to use for icon: 0x200097e
bitmap id # of mask for icon: 0x2000984
window id # of group leader: 0x2000001
_NET_WM_ICON(CARDINAL) = Icon (48 x 48):
_NET_WM_OPAQUE_REGION(CARDINAL) = 7, 0, 1894, 7, 0, 7, 1908, 1165
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 33554460, 33554461
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x200001b
WM_CLIENT_LEADER(WINDOW): window id # 0x2000001
_NET_WM_PID(CARDINAL) = 19038
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLIENT_MACHINE(STRING) = "desktop"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified minimum size: 0 by 0
program specified base size: 0 by 0
window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "emacs", "Emacs"
WM_ICON_NAME(STRING) = "EMACS desktop.home.int: *unsent wide reply to Eli Zaretskii*"
_NET_WM_ICON_NAME(UTF8_STRING) = "EMACS desktop.home.int: *unsent wide reply to Eli Zaretskii*"
WM_NAME(STRING) = "EMACS desktop.home.int: *unsent wide reply to Eli Zaretskii*"
_NET_WM_NAME(UTF8_STRING) = "EMACS desktop.home.int: *unsent wide reply to Eli Zaretskii*"
I see difference in value:
_NET_WM_STATE(ATOM) = _NET_WM_STATE_SHADED
vs:
_NET_WM_STATE(ATOM) = _NET_WM_STATE_STICKY
Is desktop-save code incorrectly recognise _NET_WM_STATE_SHADED ?
--
Best regards!
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Sat, 20 Dec 2014 10:11:03 GMT)
Full text and
rfc822 format available.
Message #14 received at 19413 <at> debbugs.gnu.org (full text, mbox):
> (setq desktop-saved-frameset [frameset 1 (21652 39439 387790 976000) (desktop . "206") "user <at> desktop.home.int" nil nil (((... (sticky) ... )))])
`sticky' is nil here. When in the restored frame you evaluate
(frame-parameter nil 'sticky)
what do you get?
martin
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Sat, 20 Dec 2014 12:34:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 19413 <at> debbugs.gnu.org (full text, mbox):
On 2014-12-20, martin rudalics wrote:
>> (setq desktop-saved-frameset [frameset 1 (21652 39439 387790 976000) (desktop . "206") "user <at> desktop.home.int" nil nil (((... (sticky) ... )))])
>
> `sticky' is nil here. When in the restored frame you evaluate
>
> (frame-parameter nil 'sticky)
>
> what do you get?
>
When frame sticky (Fvwm decorate it especially) I get "t". For non-sticky I
get "nil".
I check what file used as desktop save file (two last line from output when I
C-x C-c from Emacs):
$ strace -f -eopen emacs --no-site-file 2>&1 | grep -v 'ENOENT\|python'
...
[pid 9179] open("/home/user/.emacs.desktop", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 14
[pid 9179] open("/home/user/.emacs.d/auto-save-list/.saves-9179-desktop.home.int~", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 14
With only .emacs:
(desktop-save-mode 1)
and "emacs --no-site-file" and ~/.emacs.desktop:
(setq desktop-saved-frameset [frameset 1 (21653 23984 363080 668000) (desktop . "206") "user <at> desktop.home.int" nil nil ((((font-backend xft x) (font . "-Misc-Fixed-normal-normal-normal-*-14-*-*-*-c-70-iso10646-1") (font-parameter . "-misc-fixed-medium-r-normal-*-14-*-*-*-c-*-iso10646-1") (border-width . 0) (internal-border-width . 0) (right-divider-width . 0) (bottom-divider-width . 0) (vertical-scroll-bars . right) (foreground-color . "black") (background-color . "white") (mouse-color . "black") (border-color . "black") (screen-gamma) (line-spacing) (left-fringe . 10) (right-fringe . 11) (scroll-bar-foreground) (scroll-bar-background . "grey75") (menu-bar-lines . 1) (tool-bar-lines . 1) (title) (wait-for-wm . t) (fullscreen) (tool-bar-position . top) (icon-type . t) (auto-raise) (auto-lower) (cursor-type . box) (scroll-bar-width . 16) (alpha) (horizontal-scroll-bars . t) (display-type . color) (background-mode . light) (cursor-color . "black") (environment) (frameset--id . "A948-AB72-D73D-287C") (frameset--mini t . t) (modeline . t) (minibuffer . t) (unsplittable) (icon-name) (visibility . t) (display . ":0") (explicit-name) (height . 35) (width . 80) (left . 1240) (top . 28)) ((min-height . 8) (min-width . 10) (min-height-ignore . 4) (min-width-ignore . 8) (min-height-safe . 2) (min-width-safe . 2) (min-pixel-height . 112) (min-pixel-width . 70) (min-pixel-height-ignore . 56) (min-pixel-width-ignore . 56) (min-pixel-height-safe . 28) (min-pixel-width-safe . 14)) vc (pixel-width . 597) (pixel-height . 476) (total-width . 85) (total-height . 34) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "mc.ext" (selected) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 5457) (start . 5293))) (leaf (last . t) (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "*Messages*" (selected . t) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 284) (start . 1)))))])
I always get normally started Emacs unless I shaded Emacs window. When I close
shaded Emacs ~/.emacs.desktop changed to:
(setq desktop-saved-frameset [frameset 1 (21653 24375 351017 568000) (desktop . "206") "user <at> desktop.home.int" nil nil ((((font-backend xft x) (font . "-Misc-Fixed-normal-normal-normal-*-14-*-*-*-c-70-iso10646-1") (font-parameter . "-misc-fixed-medium-r-normal-*-14-*-*-*-c-*-iso10646-1") (border-width . 0) (internal-border-width . 0) (right-divider-width . 0) (bottom-divider-width . 0) (vertical-scroll-bars . right) (foreground-color . "black") (background-color . "white") (mouse-color . "black") (border-color . "black") (screen-gamma) (line-spacing) (left-fringe . 10) (right-fringe . 11) (scroll-bar-foreground) (scroll-bar-background . "grey75") (menu-bar-lines . 1) (tool-bar-lines . 1) (title) (wait-for-wm . t) (fullscreen) (tool-bar-position . top) (icon-type . t) (auto-raise) (auto-lower) (cursor-type . box) (scroll-bar-width . 16) (alpha) (horizontal-scroll-bars . t) (display-type . color) (background-mode . light) (cursor-color . "black") (environment) (frameset--id . "A948-AB72-D73D-287C") (frameset--mini t . t) (modeline . t) (minibuffer . t) (unsplittable) (icon-name) (visibility . t) (display . ":0") (explicit-name) (sticky) (height . 35) (width . 80) (left . 1240) (top . 28)) ((min-height . 8) (min-width . 10) (min-height-ignore . 4) (min-width-ignore . 8) (min-height-safe . 2) (min-width-safe . 2) (min-pixel-height . 112) (min-pixel-width . 70) (min-pixel-height-ignore . 56) (min-pixel-width-ignore . 56) (min-pixel-height-safe . 28) (min-pixel-width-safe . 14)) vc (pixel-width . 597) (pixel-height . 476) (total-width . 85) (total-height . 34) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "mc.ext" (selected) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 5457) (start . 5293))) (leaf (last . t) (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "*Messages*" (selected . t) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 284) (start . 1)))))])
You can see difference in "(sticky)" above. New "emacs --no-site-file" opened
as sticky and when I close Emacs ~/.emacs.desktop changed to:
(setq desktop-saved-frameset [frameset 1 (21653 24557 165658 111000) (desktop . "206") "user <at> desktop.home.int" nil nil ((((font-backend xft x) (font . "-Misc-Fixed-normal-normal-normal-*-14-*-*-*-c-70-iso10646-1") (font-parameter . "-misc-fixed-medium-r-normal-*-14-*-*-*-c-*-iso10646-1") (border-width . 0) (internal-border-width . 0) (right-divider-width . 0) (bottom-divider-width . 0) (vertical-scroll-bars . right) (foreground-color . "black") (background-color . "white") (mouse-color . "black") (border-color . "black") (screen-gamma) (line-spacing) (left-fringe . 10) (right-fringe . 11) (scroll-bar-foreground) (scroll-bar-background . "grey75") (menu-bar-lines . 1) (tool-bar-lines . 1) (title) (wait-for-wm . t) (fullscreen) (tool-bar-position . top) (icon-type . t) (auto-raise) (auto-lower) (cursor-type . box) (scroll-bar-width . 16) (alpha) (horizontal-scroll-bars . t) (display-type . color) (background-mode . light) (cursor-color . "black") (environment) (frameset--id . "A948-AB72-D73D-287C") (frameset--mini t . t) (modeline . t) (minibuffer . t) (unsplittable) (icon-name) (visibility . t) (display . ":0") (explicit-name) (sticky . t) (height . 35) (width . 80) (left . 1240) (top . 28)) ((min-height . 8) (min-width . 10) (min-height-ignore . 4) (min-width-ignore . 8) (min-height-safe . 2) (min-width-safe . 2) (min-pixel-height . 112) (min-pixel-width . 70) (min-pixel-height-ignore . 56) (min-pixel-width-ignore . 56) (min-pixel-height-safe . 28) (min-pixel-width-safe . 14)) vc (pixel-width . 597) (pixel-height . 476) (total-width . 85) (total-height . 34) (normal-height . 1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "mc.ext" (selected) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 5457) (start . 5293))) (leaf (last . t) (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "*Messages*" (selected . t) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 284) (start . 1)))))])
You can see difference in "(sticky . t)" above. Next rerun leave
~/.emacs.desktop without changes.
As shown strace Emacs load ~/.emacs.d/elpa/* so I rename this dir.
Evaluation of "(desktop-save-mode 1)" in "emacs -Q" (not from ~/.emacs) prompt
me on exit:
Current desktop was not loaded from a file. Overwrite this desktop file? (yes or no)
If leave Emacs with shaded window (pressing X button in titlebar) I get GTK
file selection dialogs about .emacs.desktop file. After leaving "(sticky)"
seen in ~/.emacs.desktop.
I check value of:
after-init-hook is a variable defined in `startup.el'.
Its value is (#[0 "..."
[command-line-args desktop-save-mode desktop-restore-frames initial-window-system inhibit-startup-screen "--no-desktop" delete 0 daemonp desktop-read t]
4 "\n\n(fn)"]
x-wm-set-size-hint)
and if load "emacs -Q" and then evaluate (desktop-read) with "(sticky)" in
~/.emacs.desktop I get sticky Emacs window.
So there are two problems:
1) Emacs instead saving shaded window attribute add "(sticky)" to ~/.emacs.desktop
2) (desktop-read) wrongly apply (sticky), and (sticky . t) and (sticky . nil)
- as always sticky.
I check /src/xterm.h:
/* Atoms dealing with EWMH (i.e. _NET_...) */
Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen,
Xatom_net_wm_state_maximized_horz, Xatom_net_wm_state_maximized_vert,
Xatom_net_wm_state_sticky, Xatom_net_wm_state_hidden,
Xatom_net_frame_extents,
Xatom_net_current_desktop, Xatom_net_workarea;
There are no _NET_WM_STATE_SHADED that defined in:
http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#idm140130317598336
_NET_WM_STATE
which say:
Possible atoms are:
_NET_WM_STATE_MODAL, ATOM
_NET_WM_STATE_STICKY, ATOM
_NET_WM_STATE_MAXIMIZED_VERT, ATOM
_NET_WM_STATE_MAXIMIZED_HORZ, ATOM
_NET_WM_STATE_SHADED, ATOM
_NET_WM_STATE_SKIP_TASKBAR, ATOM
_NET_WM_STATE_SKIP_PAGER, ATOM
_NET_WM_STATE_HIDDEN, ATOM
_NET_WM_STATE_FULLSCREEN, ATOM
_NET_WM_STATE_ABOVE, ATOM
_NET_WM_STATE_BELOW, ATOM
_NET_WM_STATE_DEMANDS_ATTENTION, ATOM
--
Best regards!
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Sat, 20 Dec 2014 14:51:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 19413 <at> debbugs.gnu.org (full text, mbox):
> When frame sticky (Fvwm decorate it especially) I get "t". For non-sticky I
> get "nil".
So the value of sticky corresponds to what you see on screen. Correct?
> I always get normally started Emacs unless I shaded Emacs window. When I close
> shaded Emacs ~/.emacs.desktop changed to:
>
> (setq desktop-saved-frameset [frameset 1 (21653 24375 351017 568000) (desktop . "206") "user <at> desktop.home.int" nil nil ((((font-backend xft x) (font . "-Misc-Fixed-normal-normal-normal-*-14-*-*-*-c-70-iso10646-1") (font-parameter . "-misc-fixed-medium-r-normal-*-14-*-*-*-c-*-iso10646-1") (border-width . 0) (internal-border-width . 0) (right-divider-width . 0) (bottom-divider-width . 0) (vertical-scroll-bars . right) (foreground-color . "black") (background-color . "white") (mouse-color . "black") (border-color . "black") (screen-gamma) (line-spacing) (left-fringe . 10) (right-fringe . 11) (scroll-bar-foreground) (scroll-bar-background . "grey75") (menu-bar-lines . 1) (tool-bar-lines . 1) (title) (wait-for-wm . t) (fullscreen) (tool-bar-position . top) (icon-type . t) (auto-raise) (auto-lower) (cursor-type . box) (scroll-bar-width . 16) (alpha) (horizontal-scroll-bars . t) (display-type . color) (background-mode . light) (cursor-color . "black") (environment) (frameset--id . "A948
-AB72-D73D-287C") (frameset--mini t . t) (modeline . t) (minibuffer . t) (unsplittable) (icon-name) (visibility . t) (display . ":0") (explicit-name) (sticky) (height . 35) (width . 80) (left . 1240) (top . 28)) ((min-height . 8) (min-width . 10) (min-height-ignore . 4) (min-width-ignore . 8) (min-height-safe . 2) (min-width-safe . 2) (min-pixel-height . 112) (min-pixel-width . 70) (min-pixel-height-ignore . 56) (min-pixel-width-ignore . 56) (min-pixel-height-safe . 28) (min-pixel-width-safe . 14)) vc (pixel-width . 597) (pixel-height . 476) (total-width . 85) (total-height . 34) (normal-height .
1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "mc.ext" (selected) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 5457) (start . 5293))) (leaf (last . t) (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "*Messages*" (selected . t) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 284) (start . 1)))))])
>
> You can see difference in "(sticky)" above. New "emacs --no-site-file" opened
> as sticky and when I close Emacs ~/.emacs.desktop changed to:
>
> (setq desktop-saved-frameset [frameset 1 (21653 24557 165658 111000) (desktop . "206") "user <at> desktop.home.int" nil nil ((((font-backend xft x) (font . "-Misc-Fixed-normal-normal-normal-*-14-*-*-*-c-70-iso10646-1") (font-parameter . "-misc-fixed-medium-r-normal-*-14-*-*-*-c-*-iso10646-1") (border-width . 0) (internal-border-width . 0) (right-divider-width . 0) (bottom-divider-width . 0) (vertical-scroll-bars . right) (foreground-color . "black") (background-color . "white") (mouse-color . "black") (border-color . "black") (screen-gamma) (line-spacing) (left-fringe . 10) (right-fringe . 11) (scroll-bar-foreground) (scroll-bar-background . "grey75") (menu-bar-lines . 1) (tool-bar-lines . 1) (title) (wait-for-wm . t) (fullscreen) (tool-bar-position . top) (icon-type . t) (auto-raise) (auto-lower) (cursor-type . box) (scroll-bar-width . 16) (alpha) (horizontal-scroll-bars . t) (display-type . color) (background-mode . light) (cursor-color . "black") (environment) (frameset--id . "A948
-AB72-D73D-287C") (frameset--mini t . t) (modeline . t) (minibuffer . t) (unsplittable) (icon-name) (visibility . t) (display . ":0") (explicit-name) (sticky . t) (height . 35) (width . 80) (left . 1240) (top . 28)) ((min-height . 8) (min-width . 10) (min-height-ignore . 4) (min-width-ignore . 8) (min-height-safe . 2) (min-width-safe . 2) (min-pixel-height . 112) (min-pixel-width . 70) (min-pixel-height-ignore . 56) (min-pixel-width-ignore . 56) (min-pixel-height-safe . 28) (min-pixel-width-safe . 14)) vc (pixel-width . 597) (pixel-height . 476) (total-width . 85) (total-height . 34)
(normal-height . 1.0) (normal-width . 1.0) (combination-limit) (leaf (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "mc.ext" (selected) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 5457) (start . 5293))) (leaf (last . t) (pixel-width . 597) (pixel-height . 238) (total-width . 85) (total-height . 17) (normal-height . 0.5) (normal-width . 1.0) (buffer "*Messages*" (selected . t) (hscroll . 0) (fringes 10 11 nil) (margins nil) (scroll-bars 16 3 t nil) (vscroll . 0) (dedicated) (point . 284) (start . 1)))))])
>
> You can see difference in "(sticky . t)" above. Next rerun leave
> ~/.emacs.desktop without changes.
To get it right: You first close Emacs with a shaded frame and if you
afterwards look at the desktop file it has (sticky) in it. If you now
restart Emacs and close it again, the desktop file has (sticky . t).
> So there are two problems:
>
> 1) Emacs instead saving shaded window attribute add "(sticky)" to ~/.emacs.desktop
So if you do not have a desktop file initially but enable
`desktop-save-mode' and then
(1) close Emacs with a shaded frame, and
(2) close Emacs with an unshaded frame
the difference is a (sticky) entry for (1) and no such entry for (2).
Is that correct?
> 2) (desktop-read) wrongly apply (sticky), and (sticky . t) and (sticky . nil)
> - as always sticky.
This sounds like a reasonable explanation. x_net_wm_state has
/** store_frame_param (f, Qsticky, sticky ? Qt : Qnil); **/
without any further comment, maybe it's related. Does Emacs process
(set-frame-parameter nil 'sticky ...)
correctly on your system without desktop saving involved?
> I check /src/xterm.h:
>
> /* Atoms dealing with EWMH (i.e. _NET_...) */
> Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen,
> Xatom_net_wm_state_maximized_horz, Xatom_net_wm_state_maximized_vert,
> Xatom_net_wm_state_sticky, Xatom_net_wm_state_hidden,
> Xatom_net_frame_extents,
> Xatom_net_current_desktop, Xatom_net_workarea;
>
> There are no _NET_WM_STATE_SHADED that defined in:
>
> http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#idm140130317598336
> _NET_WM_STATE
>
> which say:
>
> Possible atoms are:
>
> _NET_WM_STATE_MODAL, ATOM
> _NET_WM_STATE_STICKY, ATOM
> _NET_WM_STATE_MAXIMIZED_VERT, ATOM
> _NET_WM_STATE_MAXIMIZED_HORZ, ATOM
> _NET_WM_STATE_SHADED, ATOM
> _NET_WM_STATE_SKIP_TASKBAR, ATOM
> _NET_WM_STATE_SKIP_PAGER, ATOM
> _NET_WM_STATE_HIDDEN, ATOM
> _NET_WM_STATE_FULLSCREEN, ATOM
> _NET_WM_STATE_ABOVE, ATOM
> _NET_WM_STATE_BELOW, ATOM
> _NET_WM_STATE_DEMANDS_ATTENTION, ATOM
We have to possibilities to deal with these: Either we wait for Jan to
return from his voyage or you fix these issues yourself. Given your
findings above I'm quite confident that you could do it.
martin
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Sat, 20 Dec 2014 17:34:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 19413 <at> debbugs.gnu.org (full text, mbox):
On 2014-12-20, martin rudalics wrote:
>> When frame sticky (Fvwm decorate it especially) I get "t". For non-sticky I
>> get "nil".
>
> So the value of sticky corresponds to what you see on screen. Correct?
Yes.
> To get it right: You first close Emacs with a shaded frame and if you
> afterwards look at the desktop file it has (sticky) in it. If you now
> restart Emacs and close it again, the desktop file has (sticky . t).
Yes.
>> So there are two problems:
>>
>> 1) Emacs instead saving shaded window attribute add "(sticky)" to ~/.emacs.desktop
>
> So if you do not have a desktop file initially but enable
> `desktop-save-mode' and then
>
> (1) close Emacs with a shaded frame, and
>
> (2) close Emacs with an unshaded frame
>
> the difference is a (sticky) entry for (1) and no such entry for (2).
> Is that correct?
Yes.
>> 2) (desktop-read) wrongly apply (sticky), and (sticky . t) and (sticky . nil)
>> - as always sticky.
>
> This sounds like a reasonable explanation. x_net_wm_state has
>
> /** store_frame_param (f, Qsticky, sticky ? Qt : Qnil); **/
>
> without any further comment, maybe it's related. Does Emacs process
>
> (set-frame-parameter nil 'sticky ...)
>
> correctly on your system without desktop saving involved?
Any of:
(set-frame-parameter nil 'sticky t)
(set-frame-parameter nil 'sticky nil)
(set-frame-parameter nil 'sticky 1)
(set-frame-parameter nil 'sticky -1)
make clean "emacs -Q" sticky. Seems that issue here.
It is possible Fvwm bug but I don't know how to distinct. In FvwmConsole I
run:
WindowId 0x2400013 Stick false
WindowId 0x2400013 Stick true
and Emacs window change stickness exactly to command.
>> I check /src/xterm.h:
>>
>> /* Atoms dealing with EWMH (i.e. _NET_...) */
>> Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen,
>> Xatom_net_wm_state_maximized_horz, Xatom_net_wm_state_maximized_vert,
>> Xatom_net_wm_state_sticky, Xatom_net_wm_state_hidden,
>> Xatom_net_frame_extents,
>> Xatom_net_current_desktop, Xatom_net_workarea;
>>
>> There are no _NET_WM_STATE_SHADED that defined in:
>>
>> http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#idm140130317598336
>> _NET_WM_STATE
>>
>> which say:
>>
>> Possible atoms are:
>>
>> _NET_WM_STATE_MODAL, ATOM
>> _NET_WM_STATE_STICKY, ATOM
>> _NET_WM_STATE_MAXIMIZED_VERT, ATOM
>> _NET_WM_STATE_MAXIMIZED_HORZ, ATOM
>> _NET_WM_STATE_SHADED, ATOM
>> _NET_WM_STATE_SKIP_TASKBAR, ATOM
>> _NET_WM_STATE_SKIP_PAGER, ATOM
>> _NET_WM_STATE_HIDDEN, ATOM
>> _NET_WM_STATE_FULLSCREEN, ATOM
>> _NET_WM_STATE_ABOVE, ATOM
>> _NET_WM_STATE_BELOW, ATOM
>> _NET_WM_STATE_DEMANDS_ATTENTION, ATOM
>
> We have to possibilities to deal with these: Either we wait for Jan to
> return from his voyage or you fix these issues yourself. Given your
> findings above I'm quite confident that you could do it.
xterm.c and elisp frame handling code are complicate to me.
I just can summarise investigation:
* (set-frame-parameter nil 'sticky ...) doesn't work, it always set
_NET_WM_STATE(ATOM) to _NET_WM_STATE_STICKY regardless passed value.
* Emacs code base know nothing about _NET_WM_STATE_SHADED value of
_NET_WM_STATE(ATOM).
* There are no "shaded" (info "(elisp)Window Frame Parameters"). I see:
‘sticky’, ‘visibility’, ‘fullscreen’ (maximized, fullboth, fullwidth,
fullheight).
* Closing shaded Emacs with "(desktop-save-mode 1)" add (stick) parameter to
~/.emacs.desktop
--
Best regards!
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Mon, 22 Dec 2014 08:53:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 19413 <at> debbugs.gnu.org (full text, mbox):
Den 2014-12-20 18:33, Oleksandr Gavenko skrev:
>
> I just can summarise investigation:
>
> * (set-frame-parameter nil 'sticky ...) doesn't work, it always set
> _NET_WM_STATE(ATOM) to _NET_WM_STATE_STICKY regardless passed value.
(set-frame-parameter nil 'sticky nil) does the right thing on non-buggy window
managers. Yours is not onw of them it seems.
>
> * Emacs code base know nothing about _NET_WM_STATE_SHADED value of
> _NET_WM_STATE(ATOM).
No.
>
> * There are no "shaded" (info "(elisp)Window Frame Parameters"). I see:
> ‘sticky’, ‘visibility’, ‘fullscreen’ (maximized, fullboth, fullwidth,
> fullheight).
We don't support shaded.
>
> * Closing shaded Emacs with "(desktop-save-mode 1)" add (stick) parameter to
> ~/.emacs.desktop
>
This is the same as (set-frame-parameter nil 'sticky nil), which triggers a
bug in your window manager. Thats the whole problem.
Jan D.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Sun, 30 Jan 2022 21:18:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 19413 <at> debbugs.gnu.org (full text, mbox):
Jan Djärv <jan.h.d <at> swipnet.se> writes:
>> * Closing shaded Emacs with "(desktop-save-mode 1)" add (stick) parameter to
>> ~/.emacs.desktop
>>
>
> This is the same as (set-frame-parameter nil 'sticky nil), which
> triggers a bug in your window manager. Thats the whole problem.
(I'm going through old bug reports that unfortunately weren't resolved
at the time.)
Skimming this bug report, it's not clear whether the problem is in Emacs
or in the window manager. Is there something to be done here on the
Emacs side (if indeed this is still a problem in the current Emacs/wm
versions)?
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Added tag(s) moreinfo.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 30 Jan 2022 21:18:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Sat, 05 Feb 2022 06:14:02 GMT)
Full text and
rfc822 format available.
Message #34 received at 19413 <at> debbugs.gnu.org (full text, mbox):
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
> Skimming this bug report, it's not clear whether the problem is in Emacs
> or in the window manager. Is there something to be done here on the
> Emacs side (if indeed this is still a problem in the current Emacs/wm
> versions)?
I think not, the reporter should switch to a more well-behaved window
manager if the problem is still present.
Thanks.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19413
; Package
emacs
.
(Sun, 06 Mar 2022 02:36:01 GMT)
Full text and
rfc822 format available.
Message #37 received at 19413 <at> debbugs.gnu.org (full text, mbox):
Po Lu <luangruo <at> yahoo.com> writes:
>> Skimming this bug report, it's not clear whether the problem is in Emacs
>> or in the window manager. Is there something to be done here on the
>> Emacs side (if indeed this is still a problem in the current Emacs/wm
>> versions)?
>
> I think not, the reporter should switch to a more well-behaved window
> manager if the problem is still present.
And there was no further response in a month, so I think this is the
conclusion, and I'm therefore closing this bug report. If there's more
to be done here, please respond to the debbugs address and we'll reopen.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
bug closed, send any further explanations to
19413 <at> debbugs.gnu.org and Oleksandr Gavenko <gavenkoa <at> gmail.com>
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 06 Mar 2022 02:36:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 03 Apr 2022 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 137 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.