* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
@ 2024-11-23 18:28 Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 10:23 ` Eli Zaretskii
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-23 18:28 UTC (permalink / raw)
To: 74496
[-- Attachment #1: Type: text/plain, Size: 901 bytes --]
Hello,
When the ctwm window manager is restarted, the emacs fullscreen frame,
set with `F11' key, shifts up by approximately 50 pixels and shows the
desktop background. The right edge of the frame shifts a little to the
left. Expect the fullscreen frame to remain unchanged.
To demonstrate,
1. start, `emacs -Q'
2. enlarge frame to fullscreen, `F11'
3. call, `Restart CTWM' from window manager menu on X
4. see the fullscreen frame bottom edge is shifted up 50 pixels approximately
X. expect to see no change to fullscreen frame when ctwm restarts
for comparison, a fullscreen xterm frame remains unchanged when ctwm restarts
=> http://sdf.org/~van.ly/img/emacs-fullscreen-frame-0.webp .
=> http://sdf.org/~van.ly/img/emacs-fullscreen-frame-1-shifts-up.webp .
=> http://mail-index.netbsd.org/netbsd-users/2024/11/23/msg031998.html discussion about shifted fullscreen frame behavior
[-- Attachment #2: gnu emacs bug diagnostics --]
[-- Type: application/octet-stream, Size: 4482 bytes --]
From: xxx@xxx.mail-host-address-is-not-set
To: bug-gnu-emacs@gnu.org
Subject: 30.0.91; x
X-Debbugs-Cc:
--text follows this line--
In GNU Emacs 30.0.91 (build 2, x86_64--netbsd, X toolkit, cairo version
1.18.0) of 2024-09-27 built on xxx
Windowing system distributor 'The X.Org Foundation', version 11.0.12101014
System Description: NetBSD xxx 10.0_STABLE NetBSD 10.0_STABLE (GENERIC) #1: Thu Nov 7 15:18:42 AEDT 2024 xxx@xxx:/u/o/n10/amd64/sys/arch/amd64/compile/GENERIC amd64
Configured using:
'configure --srcdir=/u/xxx/src/emacs/30.0.91 --localstatedir=/var
--disable-autodepend --with-native-compilation --without-ns --with-rsvg
--without-imagemagick --without-xaw3d --without-toolkit-scroll-bars
--x-includes=/usr/X11R7/include --x-libraries=/usr/X11R7/lib
--with-x-toolkit=lu --prefix=/usr/local --build=x86_64--netbsd
--host=x86_64--netbsd --infodir=/usr/pkg/info --mandir=/usr/pkg/man
--enable-option-checking=yes 'CFLAGS=-O2 -I/usr/pkg/include/cairo
-I/usr/pkg/include -I/usr/include -I/usr/pkg/include/freetype2
-I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0
-I/usr/pkg/lib/glib-2.0/include -I/usr/X11R7/include
-I/usr/pkg/include/harfbuzz -I/usr/X11R7/include/libdrm'
'CPPFLAGS=-DTERMINFO -I/usr/pkg/include -I/usr/include
-I/usr/pkg/include/freetype2 -I/usr/pkg/include/glib-2.0
-I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include
-I/usr/X11R7/include -I/usr/pkg/include/harfbuzz
-I/usr/X11R7/include/libdrm' 'LDFLAGS=-Wl,-R/usr/pkg/gcc13/lib
-Wl,-zrelro -L/usr/pkg/lib -lcairo -L/usr/lib -Wl,-R/usr/lib
-Wl,-R/usr/pkg/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib
-Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lgnutls''
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GNUTLS GSETTINGS HARFBUZZ JPEG LCMS2
LIBOTF LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE PDUMPER PNG RSVG SOUND
SQLITE3 THREADS TIFF TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM LUCID
ZLIB
Important settings:
value of $LC_COLLATE: en_AU.UTF-8
value of $LC_CTYPE: en_AU.UTF-8
value of $LC_MESSAGES: en_AU.UTF-8
value of $LC_MONETARY: en_AU.UTF-8
value of $LC_NUMERIC: en_AU.UTF-8
value of $LC_TIME: en_AU.UTF-8
value of $LANG: en_AU.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
minibuffer-regexp-mode: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset
image regexp-opt fringe tabulated-list replace newcomment text-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind kqueue lcms2
dynamic-setting system-font-setting font-render-setting cairo x-toolkit
xinput2 x multi-tty move-toolbar make-network-process native-compile
emacs)
Memory information:
((conses 16 49491 9439) (symbols 48 5360 0) (strings 32 14355 2416)
(string-bytes 1 402093) (vectors 16 8999)
(vector-slots 8 125392 10454) (floats 8 24 2) (intervals 56 330 0)
(buffers 992 10))
[-- Attachment #3: Type: text/plain, Size: 9 bytes --]
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-11-23 18:28 bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-30 10:23 ` Eli Zaretskii
2024-11-30 10:36 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Eli Zaretskii @ 2024-11-30 10:23 UTC (permalink / raw)
To: Van Ly, martin rudalics; +Cc: 74496
> Date: Sat, 23 Nov 2024 18:28:16 +0000
> From: Van Ly via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>
> When the ctwm window manager is restarted, the emacs fullscreen frame,
> set with `F11' key, shifts up by approximately 50 pixels and shows the
> desktop background. The right edge of the frame shifts a little to the
> left. Expect the fullscreen frame to remain unchanged.
>
> To demonstrate,
>
> 1. start, `emacs -Q'
> 2. enlarge frame to fullscreen, `F11'
> 3. call, `Restart CTWM' from window manager menu on X
> 4. see the fullscreen frame bottom edge is shifted up 50 pixels approximately
>
> X. expect to see no change to fullscreen frame when ctwm restarts
> for comparison, a fullscreen xterm frame remains unchanged when ctwm restarts
>
> => http://sdf.org/~van.ly/img/emacs-fullscreen-frame-0.webp .
> => http://sdf.org/~van.ly/img/emacs-fullscreen-frame-1-shifts-up.webp .
>
> => http://mail-index.netbsd.org/netbsd-users/2024/11/23/msg031998.html discussion about shifted fullscreen frame behavior
Martin, any suggestions?
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-11-30 10:23 ` Eli Zaretskii
@ 2024-11-30 10:36 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 13:03 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-30 10:36 UTC (permalink / raw)
To: Eli Zaretskii, Van Ly; +Cc: 74496
> Martin, any suggestions?
Maybe setting ‘frame-resize-pixelwise’ to t could help. Some window
managers respect size hint increments even for fullscreen frames.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-11-30 10:36 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-30 13:03 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 16:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-30 13:03 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
> Maybe setting ‘frame-resize-pixelwise’ to t could help.
Setting that variable to t had no change on persisting the fullscreen frame.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-11-30 13:03 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-30 16:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 18:21 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-30 16:53 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> Setting that variable to t had no change on persisting the fullscreen frame.
What does (frame-geometry) evaluate to before and after restarting CTWM?
What does (frame-parameter nil 'fullscreen) evaluate to before and after
restarting CTWM? Does a maximized frame change too?
Thanks, martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-11-30 16:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-30 18:21 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 19:01 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-30 18:21 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
>
> What does (frame-geometry) evaluate to before and after restarting CTWM?
> What does (frame-parameter nil 'fullscreen) evaluate to before and after
> restarting CTWM? Does a maximized frame change too?
>
Having the ctwm maximized zoom frame lets both kinds of full frames
persist across ctwm restart. Then, only having full frames be of the
F11 fullscreen type lets the fullscreen persist across ctwm restart.
The result on Line 27 below seems to be key.
Thanks.
1 ;; A. F11 fullscreen before
2 (frame-geometry)
3 ((outer-position -3 . -3) (outer-size 1920 . 1080) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 0 . 0) (tab-bar-size 1918 . 14) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1))
4
5 ;; Z. F11 fullscreen after
6 (frame-geometry)
7 ((outer-position -3 . -3) (outer-size 1920 . 1080) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 0 . 0) (tab-bar-size 1918 . 14) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1))
8
9
10 ;; A. F11 fullscreen before
11 (frame-parameter nil 'fullscreen) ; => fullboth
12
13
14 ;; Z. F11 fullscreen after
15 (frame-parameter nil 'fullscreen) ; => nil
16
17
18 ;; A. ctwm max zoom before
19 (frame-geometry)
20 ((outer-position 0 . 0) (outer-size 1914 . 1074) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 0 . 0) (tab-bar-size 1912 . 14) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1))
21
22 ;; Z. ctwm max zoom after
23 (frame-geometry)
24 ((outer-position 0 . 0) (outer-size 1914 . 1074) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 0 . 0) (tab-bar-size 1912 . 14) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1))
25
26 ;; A. ctwm max zoom before
=>27 (frame-parameter nil 'fullscreen) ; => maximized
28
29 ;; Z. ctwm max zoom after
30 (frame-parameter nil 'fullscreen) ; => nil
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-11-30 18:21 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-30 19:01 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 19:25 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-30 19:01 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
>> What does (frame-geometry) evaluate to before and after restarting CTWM?
>> What does (frame-parameter nil 'fullscreen) evaluate to before and after
>> restarting CTWM? Does a maximized frame change too?
>>
>
> Having the ctwm maximized zoom frame lets both kinds of full frames
> persist across ctwm restart. Then, only having full frames be of the
> F11 fullscreen type lets the fullscreen persist across ctwm restart.
>
> The result on Line 27 below seems to be key.
I'm completely lost. I nowhere see the frame size change - a fullscreen
frame stays at 1920x1080 a maximized one at 1914x1074 and the positions
remain the same too. OTOH the value of the fullscreen parameter is
reset to nil in both cases. Can you run xwininfo to check the sizes
before and after restarting CTWM.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-11-30 19:01 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-30 19:25 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 8:46 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-30 19:25 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> I'm completely lost. I nowhere see the frame size change - a fullscreen
> frame stays at 1920x1080 a maximized one at 1914x1074 and the positions
> remain the same too. OTOH the value of the fullscreen parameter is
> reset to nil in both cases. Can you run xwininfo to check the sizes
> before and after restarting CTWM.
An emacs session that never uses CTWM's `toggle zoom' to "maximize" the
frame with border decorations showing to full frame on screen will have
the following result.
Line 7 has the frame size change.
1 ;; A. F11 fullscreen before
2 (frame-geometry)
3 ((outer-position -3 . -3) (outer-size 1920 . 1080) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 0 . 0) (tab-bar-size 1918 . 14) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1))
4
5 ;; Z. F11 fullscreen after
6 (frame-geometry)
=> 7 ((outer-position -3 . -3) (outer-size 1920 . 1072) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 0 . 0) (tab-bar-size 1918 . 14) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1))
8
9 ;; A. F11 fullscreen before
10 (frame-parameter nil 'fullscreen) ; => fullboth
11
12 ;; Z. F11 fullscreen after
13 (frame-parameter nil 'fullscreen) ;=> nil
Using CTWM's `toggle zoom' to "maximize" allows the F11 fullscreen to
persist across CTWM restart.
Hope that helps.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-11-30 19:25 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-01 8:46 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 9:59 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-01 8:46 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> An emacs session that never uses CTWM's `toggle zoom' to "maximize"
Could you please explain how that toggle works and how an emacs session
can use it? IIUC without it you see the problem below. With it you
don't see the problem. Does it have any detrimental side-effects to set
that toggle?
> the
> frame with border decorations showing to full frame on screen will have
> the following result.
>
> Line 7 has the frame size change.
>
> 1 ;; A. F11 fullscreen before
> 2 (frame-geometry)
> 3 ((outer-position -3 . -3) (outer-size 1920 . 1080) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 0 . 0) (tab-bar-size 1918 . 14) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1))
> 4
> 5 ;; Z. F11 fullscreen after
> 6 (frame-geometry)
> => 7 ((outer-position -3 . -3) (outer-size 1920 . 1072) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 0 . 0) (tab-bar-size 1918 . 14) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1))
But this is a difference of 8 pixels and nowhere near the 50 pixels you
mentioned earlier.
> 8
> 9 ;; A. F11 fullscreen before
> 10 (frame-parameter nil 'fullscreen) ; => fullboth
> 11
> 12 ;; Z. F11 fullscreen after
> 13 (frame-parameter nil 'fullscreen) ;=> nil
>
> Using CTWM's `toggle zoom' to "maximize" allows the F11 fullscreen to
> persist across CTWM restart.
Not really IIUC. The 'fullscreen' status is reset in either case.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-01 8:46 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-01 9:59 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 11:05 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-01 9:59 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> > An emacs session that never uses CTWM's `toggle zoom' to "maximize"
>
> Could you please explain how that toggle works and how an emacs session
> can use it? IIUC without it you see the problem below. With it you
> don't see the problem. Does it have any detrimental side-effects to set
> that toggle?
>
I use a CTWM keyboard shortcut that pops up a `Window' context menu over
the emacs frame. Included is a section that lists
Window
- Zoom
- Zoom-V
- Zoom-H
Using `Window, Zoom' effects the `maximize' operation on the frame, the
frame border shows while the frame occupies all of the screen. When
this maximized frame is in a CTWM virtual workspace and has as neighbors
that are F11 invoked fullscreen frames, CTWM restart does not cause the
shift at the bottom frame edge upwards by a few pixels.
> > 5 ;; Z. F11 fullscreen after
> > 6 (frame-geometry)
> > => 7 ((outer-position -3 . -3) (outer-size 1920 . 1072) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 0 . 0) (tab-bar-size 1918 . 14) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1))
>
> But this is a difference of 8 pixels and nowhere near the 50 pixels you
> mentioned earlier.
>
The 50 pixels was my rough guess estimate. The measured value is 8 pixels.
> > 8
> > 9 ;; A. F11 fullscreen before
> > 10 (frame-parameter nil 'fullscreen) ; => fullboth
> > 11
> > 12 ;; Z. F11 fullscreen after
> > 13 (frame-parameter nil 'fullscreen) ;=> nil
> >
> > Using CTWM's `toggle zoom' to "maximize" allows the F11 fullscreen to
> > persist across CTWM restart.
>
> Not really IIUC. The 'fullscreen' status is reset in either case.
>
In an emacs session, I arrange for 3 CTWM virtual workspaces to each
display an emacs frame fullscreen invoked by F11. CTWM restart causes
the bottom edge to shift upwards by 8 pixels. Undesired behavior.
In a new, quit and start again, emacs session, I arrange for 3 CTWM
virtual workspaces to display 2 emacs frames fullscreen invoked by F11
and 1 emacs frame `maximized' full screen with border edges showing.
CTWM restart does not change how the frames are displayed. Desired behavior.
Using CTWM's `Window, zoom' that sees the following result lets the F11
fullscreen and `maximized' full screen with border edges persist across
CTWM restart. Desired behavior.
=>27 (frame-parameter nil 'fullscreen) ; => maximized
The puzzle is why having only F11 `fullboth' fullscreens will shift the
bottom edge up by 8 pixels on CTWM restart.
Hope that helps.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-01 9:59 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-01 11:05 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 14:26 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 15:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-01 11:05 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> The puzzle is why having only F11 `fullboth' fullscreens will shift the
> bottom edge up by 8 pixels on CTWM restart.
So I see two problems we have to investigate:
- The fullscreen parameters are reset when restarting CWTM regardless of
whether the frame was maximized or fullboth. This means that when you
do F11, restart CWTM and do F11 again the frame will become fullscreen
again. Right?
- The size of fullscreen frames shrinks by 8 pixels unless there is a
maximized frame present.
IIUC you are using Lucid. Now in xterm.c there are three instances of
store_frame_param (f, Qfullscreen, lval);
Can you put a breakpoint on each of them, ideally conditioned on lval
equaling Qnil, restart CWTM and post a backtrace of whatever happens.
I'd like to find out what kind of event makes us reset the parameter.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-01 11:05 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-01 14:26 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 17:50 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 15:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-01 14:26 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
>
> - The fullscreen parameters are reset when restarting CWTM regardless of
> whether the frame was maximized or fullboth. This means that when you
> do F11, restart CWTM and do F11 again the frame will become fullscreen
> again. Right?
Yes.
> - The size of fullscreen frames shrinks by 8 pixels unless there is a
> maximized frame present.
>
> IIUC you are using Lucid. Now in xterm.c there are three instances of
I use Lucid or Xaw, the bug diagnostics report will show it.
>
> store_frame_param (f, Qfullscreen, lval);
>
> Can you put a breakpoint on each of them, ideally conditioned on lval
> equaling Qnil, restart CWTM and post a backtrace of whatever happens.
> I'd like to find out what kind of event makes us reset the parameter.
I'll need to find and read documentation to figure out how that is to be
done.
Meanwhile, some more observations. Inside xterm or uxterm the keychord
`fn RET' or `meta RET' will fullscreen and persist across CTWM restart.
Now unrelated to CTWM restart, the following is observed when zooming.
Using the `Window' context menu zoom from CTWM on xterm or uxterm
choosing any of the options `Zoom, Zoom-V, Zoom-H' leaves a
- gap at the right and bottom edge for `Zoom',
- gap at bottom edge for `Zoom-V' and
- gap at the right edge for `Zoom-H'.
The above suggests CTWM has issues calculating the height and width
dimensions for fullscreen on u/xterm.
Also, from a normal 80x24 u/xterm, when I `Window, Zoom' that results in
the gap at right and bottom edge, then when I keychord `meta RET' the
first time, I get the borderless fullscreen, keychord the second time
and u/xterm returns to a normal 80x24 dimension.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-01 14:26 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-01 17:50 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 16:04 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-01 17:50 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> Meanwhile, some more observations. Inside xterm or uxterm the keychord
> `fn RET' or `meta RET' will fullscreen and persist across CTWM restart.
What does `fn RET' do in an Emacs window? Or in any other window but
the terminal windows you cite above?
> Now unrelated to CTWM restart, the following is observed when zooming.
What is zooming? Just maximizing the window or more?
> Using the `Window' context menu zoom from CTWM on xterm or uxterm
> choosing any of the options `Zoom, Zoom-V, Zoom-H' leaves a
>
> - gap at the right and bottom edge for `Zoom',
> - gap at bottom edge for `Zoom-V' and
> - gap at the right edge for `Zoom-H'.
>
> The above suggests CTWM has issues calculating the height and width
> dimensions for fullscreen on u/xterm.
Usually, terminal windows cannot be really maximized. They want the
window height be a multiple of their font height + line spacing.
> Also, from a normal 80x24 u/xterm, when I `Window, Zoom' that results in
> the gap at right and bottom edge, then when I keychord `meta RET' the
> first time, I get the borderless fullscreen, keychord the second time
> and u/xterm returns to a normal 80x24 dimension.
I doubt that a fullscreen terminal can display half a line at the
bottom. So your borderless fullscreen is likely an artefact.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-01 11:05 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 14:26 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 15:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 16:22 ` Eli Zaretskii
2024-12-03 8:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 2 replies; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 15:47 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> > The puzzle is why having only F11 `fullboth' fullscreens will shift the
> > bottom edge up by 8 pixels on CTWM restart.
>
> So I see two problems we have to investigate:
>
> - The fullscreen parameters are reset when restarting CWTM regardless of
> whether the frame was maximized or fullboth. This means that when you
> do F11, restart CWTM and do F11 again the frame will become fullscreen
> again. Right?
Yes.
> - The size of fullscreen frames shrinks by 8 pixels unless there is a
> maximized frame present.
That was the case when I was evaluating those expressions. But, now
fullboth and maximized frames will adjust up the bottom edge by 8
pixels.
> IIUC you are using Lucid. Now in xterm.c there are three instances of
>
> store_frame_param (f, Qfullscreen, lval);
>
> Can you put a breakpoint on each of them, ideally conditioned on lval
> equaling Qnil, restart CWTM and post a backtrace of whatever happens.
> I'd like to find out what kind of event makes us reset the parameter.
I pieced together the following steps to make emacs debuggable. I'll
need pointers to info pages to make progress.
a. make distclean
b. configure ... 'CFLAGS=-g3 -ggdb -Og ...'
c. make
i. start, emacs -Q
ii. use, M-x gdb
1 For help, type "help".
2 Type "apropos word" to search for commands related to "word"...
3 "0x7f7fff604da0s": not in executable format: file format not recognized
4 No symbol table is loaded. Use the "file" command.
5 Breakpoint 1 (xterm.c:18044) pending.
6 No symbol table is loaded. Use the "file" command.
7 Breakpoint 2 (xterm.c:28275) pending.
8 No symbol table is loaded. Use the "file" command.
9 Breakpoint 3 (xterm.c:28343) pending.
10 (gdb) run
11 The target does not support running in non-stop mode.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-01 17:50 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 16:04 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-03 8:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-02 16:04 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> > Meanwhile, some more observations. Inside xterm or uxterm the keychord
> > `fn RET' or `meta RET' will fullscreen and persist across CTWM restart.
>
> What does `fn RET' do in an Emacs window? Or in any other window but
> the terminal windows you cite above?
`meta RET' will fullscreen the xterm.
`fn RET' will run overwrite-mode, I mislabelled the left hand keychord
which is also `meta RET'.
> > Now unrelated to CTWM restart, the following is observed when zooming.
>
> What is zooming? Just maximizing the window or more?
Yes, zooming maximizes fullboth, vertical or horizontal dimensions.
> > Using the `Window' context menu zoom from CTWM on xterm or uxterm
> > choosing any of the options `Zoom, Zoom-V, Zoom-H' leaves a
> >
> > - gap at the right and bottom edge for `Zoom',
> > - gap at bottom edge for `Zoom-V' and
> > - gap at the right edge for `Zoom-H'.
> >
> > The above suggests CTWM has issues calculating the height and width
> > dimensions for fullscreen on u/xterm.
>
> Usually, terminal windows cannot be really maximized. They want the
> window height be a multiple of their font height + line spacing.
>
> > Also, from a normal 80x24 u/xterm, when I `Window, Zoom' that results in
> > the gap at right and bottom edge, then when I keychord `meta RET' the
> > first time, I get the borderless fullscreen, keychord the second time
> > and u/xterm returns to a normal 80x24 dimension.
>
> I doubt that a fullscreen terminal can display half a line at the
> bottom. So your borderless fullscreen is likely an artefact.
This is how emacsclient looks inside a borderless fullscreen xterm.
http://sdf.org/~van.ly/img/emacs-30-0-91-inside-fullscreen-xterm.webp
The minibuffer area looks stretched more than one line.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-02 15:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-02 16:22 ` Eli Zaretskii
2024-12-04 5:15 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-03 8:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 66+ messages in thread
From: Eli Zaretskii @ 2024-12-02 16:22 UTC (permalink / raw)
To: Van Ly; +Cc: rudalics, 74496
> From: Van Ly <van.ly@SDF.ORG>
> Cc: eliz@gnu.org, 74496@debbugs.gnu.org
> Date: Mon, 02 Dec 2024 15:47:35 +0000
>
> I pieced together the following steps to make emacs debuggable. I'll
> need pointers to info pages to make progress.
>
>
>
> a. make distclean
> b. configure ... 'CFLAGS=-g3 -ggdb -Og ...'
> c. make
>
>
>
> i. start, emacs -Q
> ii. use, M-x gdb
>
At this point, you should see a prompt in the minibuffer saysing
something like
Run gdb (like this): gdb -i=mi SOMETHING
Edit the last part so it says /path/to/emacs instead of SOMETHING, and
then press RET.
> 1 For help, type "help".
> 2 Type "apropos word" to search for commands related to "word"...
> 3 "0x7f7fff604da0s": not in executable format: file format not recognized
> 4 No symbol table is loaded. Use the "file" command.
> 5 Breakpoint 1 (xterm.c:18044) pending.
> 6 No symbol table is loaded. Use the "file" command.
> 7 Breakpoint 2 (xterm.c:28275) pending.
> 8 No symbol table is loaded. Use the "file" command.
> 9 Breakpoint 3 (xterm.c:28343) pending.
> 10 (gdb) run
> 11 The target does not support running in non-stop mode.
This is because you didn't give GDB the executable (emacs) to work on
and run. If you do it like above, then "run" should start Emacs.
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-02 15:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 16:22 ` Eli Zaretskii
@ 2024-12-03 8:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 5:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-03 8:24 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
>> - The size of fullscreen frames shrinks by 8 pixels unless there is a
>> maximized frame present.
>
> That was the case when I was evaluating those expressions. But, now
> fullboth and maximized frames will adjust up the bottom edge by 8
> pixels.
Does this mean that restarting CWTM will always shrink all maximized and
fullboth Emacs frames by 8 pixels? What about fullheight frames? And
does the width of frames not shrink any more?
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-02 16:04 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-03 8:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 5:58 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-03 8:24 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> This is how emacsclient looks inside a borderless fullscreen xterm.
>
> http://sdf.org/~van.ly/img/emacs-30-0-91-inside-fullscreen-xterm.webp
>
> The minibuffer area looks stretched more than one line.
Is the violet background set up by Emacs? There are a few violet pixels
at the right of the mode line so I suppose it is not. How does it look
like with
(set-face-attribute 'default nil :background "red")
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-02 16:22 ` Eli Zaretskii
@ 2024-12-04 5:15 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 9:52 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-04 5:15 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: rudalics, 74496
Eli Zaretskii <eliz@gnu.org> writes:
>> i. start, emacs -Q
>> ii. use, M-x gdb
>>
>
> At this point, you should see a prompt in the minibuffer saysing
> something like
>
> Run gdb (like this): gdb -i=mi SOMETHING
>
> Edit the last part so it says /path/to/emacs instead of SOMETHING, and
> then press RET.
>
Thanks, having the path to emacs will let gdb run.
33 (gdb) condition 1 lval == Qnil
34 No symbol "builtin_lisp_symbol" in current context.
What more is needed for a watch at the break conditional on `lval == Qnil'?
1 For help, type "help".
2 Type "apropos word" to search for commands related to "word"...
3 Reading symbols from /src/emacs/build-30-1/src/emacs...
4 warning: File "/src/emacs/build-30-1/src/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
5 To enable execution of this file add
6 add-auto-load-safe-path /src/emacs/build-30-1/src/.gdbinit
7 line to your configuration file "/u/xxx/.gdbinit".
8 To completely disable this security protection add
9 set auto-load safe-path /
10 line to your configuration file "/u/xxx/.gdbinit".
11 For more information about this security protection see the
12 "Auto-loading safe path" section in the GDB manual. E.g., run from the shell:
13 info "(gdb)Auto-loading safe path"
14 (gdb) break xterm.c:18044 if lval == Qnil
15 No symbol "builtin_lisp_symbol" in current context.
16 (gdb) break xterm.c:28275 if lval == Qnil
17 No symbol "builtin_lisp_symbol" in current context.
18 (gdb) break xterm.c:28275 if lval == Qnil
19 No symbol "builtin_lisp_symbol" in current context.
20 (gdb) info b
21 No breakpoints or watchpoints.
22 (gdb) break xterm.c:18044
23 Breakpoint 1 at 0x4d048c: file /src/emacs/30.0.91/src/xterm.c, line 18044.
24 (gdb) break xterm.c:28275
25 Breakpoint 2 at 0x4d03c7: file /src/emacs/30.0.91/src/xterm.c, line 28275.
26 (gdb) break xterm.c:28343
27 Breakpoint 3 at 0x4e640b: file /src/emacs/30.0.91/src/xterm.c, line 28343.
28 (gdb) info b
29 Num Type Disp Enb Address What
30 1 breakpoint keep y 0x00000000004d048c in x_net_wm_state at /src/emacs/30.0.91/src/xterm.c:18044
31 2 breakpoint keep y 0x00000000004d03c7 in x_handle_net_wm_state at /src/emacs/30.0.91/src/xterm.c:28275
32 3 breakpoint keep y 0x00000000004e640b in x_check_fullscreen at /src/emacs/30.0.91/src/xterm.c:28343
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-03 8:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-04 5:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 9:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-04 5:47 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> >> - The size of fullscreen frames shrinks by 8 pixels unless there is a
> >> maximized frame present.
> >
> > That was the case when I was evaluating those expressions. But, now
> > fullboth and maximized frames will adjust up the bottom edge by 8
> > pixels.
>
> Does this mean that restarting CWTM will always shrink all maximized and
> fullboth Emacs frames by 8 pixels? What about fullheight frames? And
> does the width of frames not shrink any more?
Below is another go to capture the state of the windowframes.
When I claimed the presence of a maximized full screen would let all
fullscreens stick across ctwm restart, that might've been me seeing an
illusion.
From the data below, I see that a `maximized' full screen will leave a
gap at the bottom border. The outer-size stays at `1914 . 1069'. The
gap persists across ctwm restart.
In the case of ctwm restart on `F11 fullscreen' the windowframe
outer-size parameter goes from `1920 . 1080' to `1914 . 1069'.
Emacs 29.4 behaves the same.
More information, CTWM's window context menu for zoom, zoom-v, zoom-h
does the following to an initial frame
outer-size frame parameter changes
- 674 . 678 <= initial
- 1914 . 1069 zoom
- 674 . 1069 zoom-v
- 1914 . 678 zoom-h
Hope this helps.
// zoom zoom-v zoom-h BEGIN
1 (frame-geometry)
2 ;; initial window frame parameters
3 ;; => ((outer-position 629 . 104) (outer-size 674 . 678) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 674 . 28) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 672 . 36) (internal-border-width . 1))
4
5 (frame-geometry)
6 ;; ctwm window zoom
7 ;; => ((outer-position 0 . 0) (outer-size 1914 . 1069) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 1914 . 28) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 1912 . 36) (internal-border-width . 1))
8
9 (frame-geometry)
10 ;; ctwm window zoom vertical
11 ;; => ((outer-position 629 . 0) (outer-size 674 . 1069) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 674 . 28) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 672 . 36) (internal-border-width . 1))
12
13 (frame-geometry)
14 ;; ctwm window zoom horizontal
15 ;; => ((outer-position 0 . 104) (outer-size 1914 . 678) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 1914 . 28) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 1912 . 36) (internal-border-width . 1))
// zoom zoom-v zoom-h END
-- before ctwm restart F11 fullscreen BEGIN
1 (frame-geometry)
2 ;; => ((outer-position -3 . -3) (outer-size 1920 . 1080) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 1920 . 28) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 1918 . 36) (internal-border-width . 1))
3 (frame-parameter nil 'fullscreen)
4 ;; => fullboth
1 $ xprop
2 CTWM_OTP_AFLAGS(INTEGER) = 4
3 _MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
4 XdndAware(ATOM) = BITMAP
5 WM_STATE(WM_STATE):
6 window state: Normal
7 icon window: 0x0
=> 8 _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
9 _NET_WM_DESKTOP(CARDINAL) = 1
10 WM_OCCUPATION(STRING) = "2"
11 _NET_WM_SYNC_FENCES(CARDINAL) = 52428953, 52428954
12 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 52428952
13 _NET_WM_PID(CARDINAL) = 1943
14 _NET_WM_ICON_NAME(UTF8_STRING) = "*scratch*"
15 _NET_WM_NAME(UTF8_STRING) = "*scratch*"
16 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, WM_SAVE_YOURSELF, _NET_WM_PING, _NET_WM_SYNC_REQUEST
17 WM_CLIENT_LEADER(WINDOW): window id # 0x3200088
18 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
19 WM_CLASS(STRING) = "emacs", "Emacs"
20 WM_HINTS(WM_HINTS):
21 Client accepts input or input focus: True
22 Initial state is Normal State.
23 bitmap id # to use for icon: 0x320002d
24 bitmap id # of mask for icon: 0x320002f
25 WM_NORMAL_HINTS(WM_SIZE_HINTS):
26 user specified size: 674 by 678
27 program specified minimum size: 34 by 66
28 program specified resize increment: 8 by 17
29 program specified base size: 34 by 66
30 window gravity: NorthWest
31 WM_CLIENT_MACHINE(STRING) = "xxx"
32 WM_ICON_NAME(STRING) = "*scratch*"
33 WM_NAME(STRING) = "*scratch*"
-- before ctwm restart F11 fullscreen END
== after ctwm restart F11 fullscreen BEGIN
1 (frame-geometry)
2 ;; => ((outer-position -3 . -3) (outer-size 1914 . 1069) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 1914 . 28) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 1912 . 36) (internal-border-width . 1))
3 (frame-parameter nil 'fullscreen)
4 ;; => nil
1 $ xprop
2 CTWM_OTP_AFLAGS(INTEGER) = 4
3 _MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
4 XdndAware(ATOM) = BITMAP
5 WM_STATE(WM_STATE):
6 window state: Normal
7 icon window: 0x0
=> 8 _NET_WM_STATE(ATOM) =
9 _NET_WM_DESKTOP(CARDINAL) = 1
10 WM_OCCUPATION(STRING) = "2"
11 _NET_WM_SYNC_FENCES(CARDINAL) = 52428953, 52428954
12 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 52428952
13 _NET_WM_PID(CARDINAL) = 1943
14 _NET_WM_ICON_NAME(UTF8_STRING) = "*scratch*"
15 _NET_WM_NAME(UTF8_STRING) = "*scratch*"
16 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, WM_SAVE_YOURSELF, _NET_WM_PING, _NET_WM_SYNC_REQUEST
17 WM_CLIENT_LEADER(WINDOW): window id # 0x3200088
18 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
19 WM_CLASS(STRING) = "emacs", "Emacs"
20 WM_HINTS(WM_HINTS):
21 Client accepts input or input focus: True
22 Initial state is Normal State.
23 bitmap id # to use for icon: 0x320002d
24 bitmap id # of mask for icon: 0x320002f
25 WM_NORMAL_HINTS(WM_SIZE_HINTS):
26 user specified size: 674 by 678
27 program specified minimum size: 34 by 66
28 program specified resize increment: 8 by 17
29 program specified base size: 34 by 66
30 window gravity: NorthWest
31 WM_CLIENT_MACHINE(STRING) = "xxx"
32 WM_ICON_NAME(STRING) = "*scratch*"
33 WM_NAME(STRING) = "*scratch*"
== after ctwm restart F11 fullscreen END
-- before ctwm restart zoom maximized full screen BEGIN
1 (frame-geometry)
2 ;; => ((outer-position 0 . 0) (outer-size 1914 . 1069) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 1914 . 28) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 1912 . 36) (internal-border-width . 1))
3 (frame-parameter nil 'fullscreen)
4 ;; => maximized
1 $ xprop
2 CTWM_OTP_AFLAGS(INTEGER) = 4
3 _MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
4 XdndAware(ATOM) = BITMAP
5 WM_STATE(WM_STATE):
6 window state: Normal
7 icon window: 0x0
=> 8 _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ
9 _NET_WM_DESKTOP(CARDINAL) = 2
10 WM_OCCUPATION(STRING) = "3"
11 _NET_WM_SYNC_FENCES(CARDINAL) = 52429087, 52429088
12 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 52429086
13 _NET_WM_PID(CARDINAL) = 1943
14 _NET_WM_ICON_NAME(UTF8_STRING) = "*scratch*"
15 _NET_WM_NAME(UTF8_STRING) = "*scratch*"
16 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, WM_SAVE_YOURSELF, _NET_WM_PING, _NET_WM_SYNC_REQUEST
17 WM_CLIENT_LEADER(WINDOW): window id # 0x320010e
18 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
19 WM_CLASS(STRING) = "emacs", "Emacs"
20 WM_HINTS(WM_HINTS):
21 Client accepts input or input focus: True
22 Initial state is Normal State.
23 bitmap id # to use for icon: 0x320002d
24 bitmap id # of mask for icon: 0x320002f
25 WM_NORMAL_HINTS(WM_SIZE_HINTS):
26 user specified size: 674 by 678
27 program specified minimum size: 34 by 66
28 program specified resize increment: 8 by 17
29 program specified base size: 34 by 66
30 window gravity: NorthWest
31 WM_CLIENT_MACHINE(STRING) = "xxx"
32 WM_ICON_NAME(STRING) = "*scratch*"
33 WM_NAME(STRING) = "*scratch*"
-- before ctwm restart zoom maximized full screen END
== after ctwm restart zoom maximized full screen BEGIN
1 (frame-geometry)
2 ;; => ((outer-position 0 . 0) (outer-size 1914 . 1069) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 1914 . 28) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 1912 . 36) (internal-border-width . 1))
3 (frame-parameter nil 'fullscreen)
4 ;; => nil
1 $ xprop
2 CTWM_OTP_AFLAGS(INTEGER) = 4
3 _MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
4 XdndAware(ATOM) = BITMAP
5 WM_STATE(WM_STATE):
6 window state: Normal
7 icon window: 0x0
=> 8 _NET_WM_STATE(ATOM) =
9 _NET_WM_DESKTOP(CARDINAL) = 2
10 WM_OCCUPATION(STRING) = "3"
11 _NET_WM_SYNC_FENCES(CARDINAL) = 52429087, 52429088
12 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 52429086
13 _NET_WM_PID(CARDINAL) = 1943
14 _NET_WM_ICON_NAME(UTF8_STRING) = "*scratch*"
15 _NET_WM_NAME(UTF8_STRING) = "*scratch*"
16 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, WM_SAVE_YOURSELF, _NET_WM_PING, _NET_WM_SYNC_REQUEST
17 WM_CLIENT_LEADER(WINDOW): window id # 0x320010e
18 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
19 WM_CLASS(STRING) = "emacs", "Emacs"
20 WM_HINTS(WM_HINTS):
21 Client accepts input or input focus: True
22 Initial state is Normal State.
23 bitmap id # to use for icon: 0x320002d
24 bitmap id # of mask for icon: 0x320002f
25 WM_NORMAL_HINTS(WM_SIZE_HINTS):
26 user specified size: 674 by 678
27 program specified minimum size: 34 by 66
28 program specified resize increment: 8 by 17
29 program specified base size: 34 by 66
30 window gravity: NorthWest
31 WM_CLIENT_MACHINE(STRING) = "xxx"
32 WM_ICON_NAME(STRING) = "*scratch*"
33 WM_NAME(STRING) = "*scratch*
== after ctwm restart zoom maximized full screen END
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-03 8:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-04 5:58 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 9:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-04 5:58 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> Is the violet background set up by Emacs? There are a few violet pixels
> at the right of the mode line so I suppose it is not. How does it look
> like with
>
> (set-face-attribute 'default nil :background "red")
>
The uxterm's color is set from Xresources.
UXTerm.vt100.foreground: gray66
UXTerm.vt100.background: darkslateblue
and then tty color is disabled using
(defun x/tty-color-mode-no ()
"Disable color in emacsclient session."
(interactive)
(set-frame-parameter nil 'tty-color-mode 'no))
evaluating
(set-face-attribute 'default nil :background "red")
has no effect on the uxterm/emacsclient but changes to red background
the other emacs windowframes sharing this session.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-04 5:15 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-04 9:52 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 11:11 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-04 9:52 UTC (permalink / raw)
To: Van Ly, Eli Zaretskii; +Cc: 74496
[-- Attachment #1: Type: text/plain, Size: 886 bytes --]
> 33 (gdb) condition 1 lval == Qnil
> 34 No symbol "builtin_lisp_symbol" in current context.
I see. The condition would have been
condition 1 EQ (lval, Qnil)
but lval is not a C variable. So it won't work without modifying the
source. I have no good idea yet how to do that. Setting these
breakpoints unconditionally is out of the question - we want to catch
the transition from Qfullboth to Qnil here.
Maybe you can try the attached diff (it's against the release version)
and set breakpoints at the four lines I marked with a
// break-here
comment. Start gdb via run -Q, do F11 and restart CWTM. Here you have
to switch to the debugging Emacs (either you have it on another
workspace or you find an equivalent of Alt-TAB used by most window
managers) type "bt" and post the backtrace here. Maybe it will let us
find out why that parameter gets reset.
martin
[-- Attachment #2: break-fullscreen.diff --]
[-- Type: text/x-patch, Size: 2120 bytes --]
diff --git a/src/frame.c b/src/frame.c
index f6053fca3ef..e4787ae1bf5 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -4539,7 +4539,11 @@ gui_set_frame_parameters_1 (struct frame *f, Lisp_Object alist,
{
Lisp_Object old_value = get_frame_param (f, Qfullscreen);
- store_frame_param (f, Qfullscreen, fullscreen);
+ if (EQ (old_value, Qfullboth) && EQ (fullscreen, Qnil))
+ store_frame_param (f, Qfullscreen, fullscreen); // break here
+ else
+ store_frame_param (f, Qfullscreen, fullscreen);
+
if (!EQ (fullscreen, old_value))
gui_set_fullscreen (f, fullscreen, old_value);
}
diff --git a/src/xterm.c b/src/xterm.c
index fd3e58f85f6..3b5311b0977 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -18041,7 +18041,11 @@ x_net_wm_state (struct frame *f, Window window)
break;
}
- store_frame_param (f, Qfullscreen, lval);
+ if (EQ (get_frame_param (f, Qfullscreen), Qfullboth) && EQ (lval, Qnil))
+ store_frame_param (f, Qfullscreen, lval); // break here
+ else
+ store_frame_param (f, Qfullscreen, lval);
+
store_frame_param (f, Qsticky, sticky ? Qt : Qnil);
store_frame_param (f, Qshaded, shaded ? Qt : Qnil);
}
@@ -28272,7 +28276,11 @@ x_handle_net_wm_state (struct frame *f, const XPropertyEvent *event)
break;
}
- store_frame_param (f, Qfullscreen, lval);
+ if (EQ (get_frame_param (f, Qfullscreen), Qfullboth) && EQ (lval, Qnil))
+ store_frame_param (f, Qfullscreen, lval); // break here
+ else
+ store_frame_param (f, Qfullscreen, lval);
+
store_frame_param (f, Qsticky, sticky ? Qt : Qnil);
store_frame_param (f, Qshaded, shaded ? Qt : Qnil);
@@ -28340,7 +28348,10 @@ x_check_fullscreen (struct frame *f)
/* `x_net_wm_state' might have reset the fullscreen frame parameter,
restore it. */
- store_frame_param (f, Qfullscreen, lval);
+ if (EQ (get_frame_param (f, Qfullscreen), Qfullboth) && EQ (lval, Qnil))
+ store_frame_param (f, Qfullscreen, lval); // break here
+ else
+ store_frame_param (f, Qfullscreen, lval);
}
/* This function is called by x_set_offset to determine whether the window
^ permalink raw reply related [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-04 5:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-04 9:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-04 9:53 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> From the data below, I see that a `maximized' full screen will leave a
> gap at the bottom border. The outer-size stays at `1914 . 1069'. The
> gap persists across ctwm restart.
>
> In the case of ctwm restart on `F11 fullscreen' the windowframe
> outer-size parameter goes from `1920 . 1080' to `1914 . 1069'.
So we have 6 pixels width and 11 pixels height less. Doesn't make much
sense to me.
> Emacs 29.4 behaves the same.
>
> More information, CTWM's window context menu for zoom, zoom-v, zoom-h
> does the following to an initial frame
>
> outer-size frame parameter changes
> - 674 . 678 <= initial
> - 1914 . 1069 zoom
> - 674 . 1069 zoom-v
> - 1914 . 678 zoom-h
But this implies that zooming does _not_ do what you want (at least not
entirely) and restarting CTWM is probably not the real cause of the
problem.
> // zoom zoom-v zoom-h BEGIN
>
> 1 (frame-geometry)
> 2 ;; initial window frame parameters
> 3 ;; => ((outer-position 629 . 104) (outer-size 674 . 678) (external-border-size -3 . -3) (outer-border-width . 0) (title-bar-size 0 . 6) (menu-bar-external . t) (menu-bar-size 674 . 28) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 672 . 36) (internal-border-width . 1))
These values are fishy - here I get for an initial emacs -Q Lucid frame
((outer-position 0 . 0) (outer-size 764 . 885) (external-border-size 5 . 5) (outer-border-width . 0) (title-bar-size 0 . 14) (menu-bar-external . t) (menu-bar-size 754 . 31) (tab-bar-size 0 . 0) (tool-bar-external) (tool-bar-position . top) (tool-bar-size 752 . 36) (internal-border-width . 1))
An external border size of -3 can only harm. The menu bar width should
be the outer frame width minus twice that of the external borders - 764
minus 10 gives 754 here. Similar for the tool bar where you should also
subtract twice the internal border width. We have to find out the cause
for this but I don't yet know how.
Now two times 3 gives 6 which _could_ explain the 6 pixels width
decrease but it wouldn't explain the 11 pixels height decrease.
When with gdb in frame_geometry in xfns.c you put a breakpoint at the
line staring with an if below (it's line 6747 here)
XGetGeometry (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f),
&rootw, &x_native, &y_native, &native_width, &native_height,
&x_border_width, &ign);
/** XGetWindowAttributes (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), &atts); **/
if (!FRAME_PARENT_FRAME (f))
run -Q and evaluate (frame-geometry) in the emacs you run, the
breakpoint should be hit. If you now type
p x_border_width
in the debugging buffer, what does it print?
> => 8 _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
...
> => 8 _NET_WM_STATE(ATOM) =
> => 8 _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ
...
> => 8 _NET_WM_STATE(ATOM) =
We have to find out who resets them. Can you try doing this for any
other GUI application that can be made fullscreen via F11?
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-04 5:58 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-04 9:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 2:39 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-04 9:53 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> and then tty color is disabled using
>
> (defun x/tty-color-mode-no ()
> "Disable color in emacsclient session."
> (interactive)
> (set-frame-parameter nil 'tty-color-mode 'no))
Who does that? And if in that emacs you set
(set-frame-parameter nil 'tty-color-mode 'yes)
and evaluate
> (set-face-attribute 'default nil :background "red")
does it have any effect?
BTW I installed CTWM here but I have no idea how to restart it from
within a fullscreen Emacs frame. Any attemtps to assign f.restart to
"F9" in the init file has CTWM hang and sometimes spills out that the
init file has a syntax error.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-04 9:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-05 2:39 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 9:23 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-05 2:39 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> BTW I installed CTWM here but I have no idea how to restart it from
> within a fullscreen Emacs frame. Any attemtps to assign f.restart to
> "F9" in the init file has CTWM hang and sometimes spills out that the
> init file has a syntax error.
On a right handed mouse use the left button depressed on the desktop
background to present
- Restart CTWM
- Quit
The fullscreen Emacs frame goes in one of the virtual workspaces. Keep
one workspace showing the desktop background for the mouse to click on.
The following CTWM configuration presents the Restart CTWM menu item on
Super-p or mod4-p keychord
https://cvsweb.netbsd.org/bsdweb.cgi/src/external/mit/ctwm/etc/system.ctwmrc?rev=1.20;content-type=text%2Fplain
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-05 2:39 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-05 9:23 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 11:14 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-05 9:23 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
>> BTW I installed CTWM here but I have no idea how to restart it from
>> within a fullscreen Emacs frame. Any attemtps to assign f.restart to
>> "F9" in the init file has CTWM hang and sometimes spills out that the
>> init file has a syntax error.
>
> On a right handed mouse use the left button depressed on the desktop
> background to present
When my Emacs window is fullboth there is do desktop background.
> - Restart CTWM
> - Quit
>
> The fullscreen Emacs frame goes in one of the virtual workspaces. Keep
> one workspace showing the desktop background for the mouse to click on.
How do I select a workspace showing the desktop background from a
workspace showing a fullboth Emacs frame?
> The following CTWM configuration presents the Restart CTWM menu item on
> Super-p or mod4-p keychord
>
> https://cvsweb.netbsd.org/bsdweb.cgi/src/external/mit/ctwm/etc/system.ctwmrc?rev=1.20;content-type=text%2Fplain
But a menu is of no use when I have a fullboth Emacs frame. All I need
is one simple keybinding to restart CTWM in a workspace that is fully
occupied by a fullboth Emacs frame. Or a shell command that restarts
CTWM.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-05 9:23 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-05 11:14 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 18:02 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-05 11:14 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
>
> When my Emacs window is fullboth there is do desktop background.
>
>
> How do I select a workspace showing the desktop background from a
> workspace showing a fullboth Emacs frame?
>
You'll need to have available CTWM's workspace virtual screens.
See at the top right, there are 5 virtual screens and you use one of
them with the desktop background exposed
http://sdf.org/~van.ly/img/netbsd-ctwm-workspace-virtual-screens-at-top-right.webp
from the fullboth Emacs windowframe switch to a specific virtual
screen with a keychord such as super-N or mod4-N where N is a number,
or where N is an arrow key left/right.
>
> But a menu is of no use when I have a fullboth Emacs frame. All I need
> is one simple keybinding to restart CTWM in a workspace that is fully
> occupied by a fullboth Emacs frame. Or a shell command that restarts
> CTWM.
>
Could send a signal to tell the CTWM process to restart and reload.
Anyway, both Firefox and Chrome will F11 fullscreen and CTWM restart
will let their windowframe dimension persist.
Firefox on `maximize' window, zoom leaves no gap at the bottom edge.
The xterm running emacsclient that is in fullscreen evaluating
(set-frame-parameter nil 'tty-color-mode 'yes)
(set-face-attribute 'default nil :background "red")
turns the background color red.
Some more details looking at the dimensions on the xterm are as follows.
// *shell* buffer output inside emacsclient session
// after many CTWM restarts
1 $ xprop
2 xprop
3 _NET_WM_NAME(UTF8_STRING) = "uxterm"
4 _NET_WM_ICON_NAME(UTF8_STRING) = "xterm"
5 CTWM_OTP_AFLAGS(INTEGER) = 4
6 WM_STATE(WM_STATE):
7 window state: Normal
8 icon window: 0x0
9 _NET_WM_STATE(ATOM) =
10 _NET_WM_DESKTOP(CARDINAL) = 4
11 WM_OCCUPATION(STRING) = "5"
12 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
13 _NET_WM_PID(CARDINAL) = 4215
14 WM_CLIENT_LEADER(WINDOW): window id # 0x2a0000c
15 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
16 WM_CLASS(STRING) = "xterm", "UXTerm"
17 WM_HINTS(WM_HINTS):
18 Client accepts input or input focus: True
19 Initial state is Normal State.
20 bitmap id # to use for icon: 0x2a0001d
21 bitmap id # of mask for icon: 0x2a0001f
22 WM_NORMAL_HINTS(WM_SIZE_HINTS):
23 program specified size: 1920 by 1080
24 program specified minimum size: 16 by 28
25 program specified resize increment: 1 by 1
26 program specified base size: 4 by 4
27 window gravity: NorthWest
28 WM_CLIENT_MACHINE(STRING) = "xxx"
29 WM_COMMAND(STRING) = { "/usr/X11R7/bin/xterm", "-class", "UXTerm", "-title", "uxterm", "-u8" }
30 WM_ICON_NAME(STRING) = "xterm"
31 WM_NAME(STRING) = "uxterm"
// plain xterm before CTWM restart
1 $ xprop
2 CTWM_OTP_AFLAGS(INTEGER) = 4
3 WM_STATE(WM_STATE):
4 window state: Normal
5 icon window: 0x0
6 _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
7 _NET_WM_DESKTOP(CARDINAL) = 2
8 WM_OCCUPATION(STRING) = "3"
9 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
10 _NET_WM_PID(CARDINAL) = 17153
11 WM_CLIENT_LEADER(WINDOW): window id # 0x320000c
12 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
13 WM_CLASS(STRING) = "xterm", "UXTerm"
14 WM_HINTS(WM_HINTS):
15 Client accepts input or input focus: True
16 Initial state is Normal State.
17 bitmap id # to use for icon: 0x320001d
18 bitmap id # of mask for icon: 0x320001f
19 WM_NORMAL_HINTS(WM_SIZE_HINTS):
20 program specified size: 1920 by 1080
21 program specified resize increment: 1 by 1
22 window gravity: NorthWest
23 WM_CLIENT_MACHINE(STRING) = "xxx"
24 WM_COMMAND(STRING) = { "/usr/X11R7/bin/xterm", "-class", "UXTerm", "-title", "uxterm", "-u8" }
25 WM_ICON_NAME(STRING) = "xterm"
26 WM_NAME(STRING) = "uxterm"
// plain xterm after CTWM restart
27 $ xprop
28 CTWM_OTP_AFLAGS(INTEGER) = 4
29 WM_STATE(WM_STATE):
30 window state: Normal
31 icon window: 0x0
32 _NET_WM_STATE(ATOM) =
33 _NET_WM_DESKTOP(CARDINAL) = 2
34 WM_OCCUPATION(STRING) = "3"
35 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
36 _NET_WM_PID(CARDINAL) = 17153
37 WM_CLIENT_LEADER(WINDOW): window id # 0x320000c
38 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
39 WM_CLASS(STRING) = "xterm", "UXTerm"
40 WM_HINTS(WM_HINTS):
41 Client accepts input or input focus: True
42 Initial state is Normal State.
43 bitmap id # to use for icon: 0x320001d
44 bitmap id # of mask for icon: 0x320001f
45 WM_NORMAL_HINTS(WM_SIZE_HINTS):
46 program specified size: 1920 by 1080
47 program specified resize increment: 1 by 1
48 window gravity: NorthWest
49 WM_CLIENT_MACHINE(STRING) = "xxx"
50 WM_COMMAND(STRING) = { "/usr/X11R7/bin/xterm", "-class", "UXTerm", "-title", "uxterm", "-u8" }
51 WM_ICON_NAME(STRING) = "xterm"
52 WM_NAME(STRING) = "uxterm"
I'll do the source patch and gdb backtrace when I get a chance to.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-05 11:14 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-05 18:02 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-06 10:42 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 13:12 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-05 18:02 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> Some more details looking at the dimensions on the xterm are as follows.
I suppose you won't see any maximized/fullscreen there. xterms don't
have that. Can you try with Firefox?
I meanwhile managed to run a Lucid build under CWTM. The behavior below
shows xwininfo output, 'frame-geometry' and fullscreen frame parameter.
Restarting CWTM does not change the size of a maximized or fullscreen
frame here. Maximized frames stay at 1674x1007 pixels (1680x1050 outer
size). Fullboth frames stay at 1680x1050 pixels (1686x1093 outer size).
I suppose the borders sum up to 6 pixels and the title bar to 40 pixels
and for fullboth frames they are "drawn" outside the display. All these
sum up correctly and there is no shrinking. Also, the -3 values your
'frame-geometry' reports for external border sizes are not reproducible
here.
What happens though is:
- The fullscreen parameter is reset to nil in both cases after a CTWM
restart. This is a bug I will debug tomorrow but it's possible that
we can't do anything about it.
- When restarting CTWM there is a short moment (less than a second)
where the frame shrinks slightly in both cases. I'll take a look into
this with the frame size history facility.
- A maximized/fullscreen GTK-3 built frame is broken after a CTWM
restart in the sense that scrollbars are no more positioned correctly
- they are drawn partially offscreen. Have you ever tried building
with GTK-3?
In particular the last issue means that we do not get the expected
values from X routines like XGetGeometry and XGetWindowProperty.
martin
Maximized
xwininfo: Window id: 0x1400181 "*shell*"
Absolute upper-left X: 3
Absolute upper-left Y: 40
Relative upper-left X: 3
Relative upper-left Y: 40
Width: 1674
Height: 1007
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +3+40 -3+40 -3-3 +3-3
-geometry 1642x958+0+0
(frame-geometry) =>
((outer-position 0 . 0) (outer-size 1680 . 1050)
(external-border-size 3 . 3) (outer-border-width . 0)
(title-bar-size 0 . 37) (menu-bar-external . t)
(menu-bar-size 1674 . 31) (tab-bar-size 0 . 0) (tool-bar-external)
(tool-bar-position . top) (tool-bar-size 0 . 0)
(internal-border-width . 1))
(frame-parameter nil 'fullscreen) => maximized
Maximized after restart
xwininfo: Window id: 0x1400181 "*shell*"
Absolute upper-left X: 3
Absolute upper-left Y: 40
Relative upper-left X: 3
Relative upper-left Y: 40
Width: 1674
Height: 1007
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +3+40 -3+40 -3-3 +3-3
-geometry 1642x958+0+0
(frame-geometry) =>
((outer-position 0 . 0) (outer-size 1680 . 1050)
(external-border-size 3 . 3) (outer-border-width . 0)
(title-bar-size 0 . 37) (menu-bar-external . t)
(menu-bar-size 1674 . 31) (tab-bar-size 0 . 0) (tool-bar-external)
(tool-bar-position . top) (tool-bar-size 0 . 0)
(internal-border-width . 1))
(frame-parameter nil 'fullscreen) => nil
Fullboth after F11
xwininfo: Window id: 0x1400181 "*shell*"
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 3
Relative upper-left Y: 40
Width: 1680
Height: 1050
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1648x1001+-3--3
(frame-geometry) =>
((outer-position -3 . -40) (outer-size 1686 . 1093)
(external-border-size 3 . 3) (outer-border-width . 0)
(title-bar-size 0 . 37) (menu-bar-external . t)
(menu-bar-size 1680 . 31) (tab-bar-size 0 . 0) (tool-bar-external)
(tool-bar-position . top) (tool-bar-size 0 . 0)
(internal-border-width . 1))
(frame-parameter nil 'fullscreen) => fullboth
Fullboth after restart
xwininfo: Window id: 0x1400181 "*shell*"
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 3
Relative upper-left Y: 40
Width: 1680
Height: 1050
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1648x1001+-3--3
(frame-geometry) =>
((outer-position -3 . -40) (outer-size 1686 . 1093)
(external-border-size 3 . 3) (outer-border-width . 0)
(title-bar-size 0 . 37) (menu-bar-external . t)
(menu-bar-size 1680 . 31) (tab-bar-size 0 . 0) (tool-bar-external)
(tool-bar-position . top) (tool-bar-size 0 . 0)
(internal-border-width . 1))
(frame-parameter nil 'fullscreen) => nil
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-05 18:02 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-06 10:42 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 14:03 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 13:12 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-06 10:42 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
Some further details here:
> - A maximized/fullscreen GTK-3 built frame is broken after a CTWM
> restart in the sense that scrollbars are no more positioned correctly
> - they are drawn partially offscreen. Have you ever tried building
> with GTK-3?
This is not entirely correct. The scrollbars of a maximized/fullscreen
GTK-3 frame are broken right away, no need for a CTWM restart.
More interesting is the following: With 'frame-resize-pixelwise' nil
zooming a frame vertically gets me a pixel height of 962. With
'frame-resize-pixelwise' t it gets me 976. So please try again setting
(setq frame-resize-pixelwise t)
and do it in your init file. Its doc-string says explicitly
With some window managers you may have to set this to non-nil in order
to set the size of a frame in pixels, to maximize frames or to make them
fullscreen. To resize your initial frame pixelwise, set this option to
a non-nil value in your init file.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-04 9:52 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-07 11:11 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 10:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-07 11:11 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> Maybe you can try the attached diff (it's against the release version)
> and set breakpoints at the four lines I marked with a
>
> // break-here
>
> comment. Start gdb via run -Q, do F11 and restart CWTM.
Here is the backtrace.
1 (gdb) info b
2 Num Type Disp Enb Address What
3 1 breakpoint keep y 0x000000000042edfd in gui_set_frame_parameters_1 at /u/xxx/src/emacs/29.4/src/frame.c:4461
4 2 breakpoint keep y 0x00000000004cf6fb in x_net_wm_state at /u/xxx/src/emacs/29.4/src/xterm.c:17504
5 3 breakpoint keep y 0x00000000004cf5c1 in x_handle_net_wm_state at /u/xxx/src/emacs/29.4/src/xterm.c:27249
6 4 breakpoint keep y 0x00000000004e52b5 in x_check_fullscreen at /u/xxx/src/emacs/29.4/src/xterm.c:27324
7 (gdb) run -Q
8 Starting program: /u/xxx/src/emacs/build-29-0/src/emacs -Q
9 [New LWP 7051 of process 24519]
10 [New LWP 795 of process 24519]
11 [New LWP 1577 of process 24519]
12 [New process 24519]
13 [New process 24519]
14
15 Thread 1 "" hit Breakpoint 2, x_net_wm_state (f=f@entry=0x71354096ac10, window=<optimized out>) at /u/xxx/src/emacs/29.4/src/xterm.c:17504
16 17504 store_frame_param (f, Qfullscreen, lval); // break here
17 (gdb) bt
18 #0 x_net_wm_state (f=f@entry=0x71354096ac10, window=<optimized out>) at /u/xxx/src/emacs/29.4/src/xterm.c:17504
19 #1 0x00000000004e9343 in handle_one_xevent (dpyinfo=dpyinfo@entry=0x713541033000, event=event@entry=0x7f7fff03c0d0, finish=finish@entry=0x7f7fff03c0cc, hold_quit=hold_quit@entry=0x7f7fff03c1c0) at /u/xxx/src/emacs/29.4/src/xterm.c:20998
20 #2 0x00000000004f06cd in XTread_socket (terminal=<optimized out>, hold_quit=0x7f7fff03c1c0) at /u/xxx/src/emacs/29.4/src/xterm.c:24812
21 #3 0x000000000051b7bd in gobble_input () at /u/xxx/src/emacs/29.4/src/keyboard.c:7427
22 #4 0x000000000051b8d1 in handle_async_input () at /u/xxx/src/emacs/29.4/src/keyboard.c:7658
23 #5 0x000000000051b8e7 in process_pending_signals () at /u/xxx/src/emacs/29.4/src/keyboard.c:7672
24 #6 0x00000000005cb17a in wait_reading_process_output (time_limit=<optimized out>, nsecs=nsecs@entry=0, read_kbd=-1, do_display=do_display@entry=true, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=just_wait_proc@entry=0) at /u/xxx/src/emacs/29.4/src/process.c:5304
25 #7 0x00000000004282e2 in sit_for (timeout=timeout@entry=0x7a, reading=reading@entry=true, display_option=display_option@entry=1) at /u/xxx/src/emacs/29.4/src/dispnew.c:6263
26 #8 0x000000000051e53b in read_char (commandflag=1, map=map@entry=0x713540069963, prev_event=0x0, used_mouse_menu=used_mouse_menu@entry=0x7f7fff03c6bb, end_time=end_time@entry=0x0) at /u/xxx/src/emacs/29.4/src/lisp.h:767
27 #9 0x000000000051f5ec in read_key_sequence (keybuf=keybuf@entry=0x7f7fff03c790, prompt=prompt@entry=0x0, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false) at /u/xxx/src/emacs/29.4/src/keyboard.c:10084
28 #10 0x000000000052090f in command_loop_1 () at /u/xxx/src/emacs/29.4/src/keyboard.c:1384
29 #11 0x0000000000583676 in internal_condition_case (bfun=bfun@entry=0x520748 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x5166aa <cmd_error>) at /u/xxx/src/emacs/29.4/src/eval.c:1474
30 #12 0x00000000005113fb in command_loop_2 (handlers=handlers@entry=0x90) at /u/xxx/src/emacs/29.4/src/keyboard.c:1133
31 #13 0x00000000005835ef in internal_catch (tag=tag@entry=0xfe40, func=func@entry=0x5113dd <command_loop_2>, arg=arg@entry=0x90) at /u/xxx/src/emacs/29.4/src/eval.c:1197
32 #14 0x00000000005113ba in command_loop () at /u/xxx/src/emacs/29.4/src/keyboard.c:1111
33 #15 0x00000000005162b8 in recursive_edit_1 () at /u/xxx/src/emacs/29.4/src/keyboard.c:720
34 #16 0x00000000005165dd in Frecursive_edit () at /u/xxx/src/emacs/29.4/src/keyboard.c:803
35 #17 0x0000000000510982 in main (argc=2, argv=0x7f7fff03cad8) at /u/xxx/src/emacs/29.4/src/emacs.c:2521
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-05 18:02 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-06 10:42 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-07 13:12 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 11:02 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-07 13:12 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
[-- Attachment #1: Type: text/plain, Size: 156 bytes --]
martin rudalics <rudalics@gmx.at> writes:
Can you try with Firefox?
See attached for Firefox detected screen values.
[-- Attachment #2: ctwm restart before/after firefox screen values --]
[-- Type: application/octet-stream, Size: 7672 bytes --]
// firefox f11 fullscreen before
1 $ xprop
2 xprop
3 CTWM_OTP_AFLAGS(INTEGER) = 4
4 _NET_WM_USER_TIME(CARDINAL) = 710287239
5 WM_STATE(WM_STATE):
6 window state: Normal
7 icon window: 0x0
8 _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
9 _NET_WM_DESKTOP(CARDINAL) = 1
10 WM_OCCUPATION(STRING) = "2"
11 WM_HINTS(WM_HINTS):
12 Client accepts input or input focus: True
13 Initial state is Normal State.
14 bitmap id # to use for icon: 0x2e00019
15 bitmap id # of mask for icon: 0x2e00020
16 window id # of group leader: 0x2e00001
17 _GTK_THEME_VARIANT(UTF8_STRING) = "dark"
18 _NET_WM_BYPASS_COMPOSITOR(CARDINAL) = 2
19 WM_WINDOW_ROLE(STRING) = "browser"
20 XdndAware(ATOM) = BITMAP
21 _NET_WM_ICON(CARDINAL) = Icon (128 x 128):
22 (not shown)
23 Icon (32 x 32):
24 ;; not shown
25 Icon (48 x 48):
26 (not shown)
27 Icon (64 x 64):
28 (not shown)
29 Icon (16 x 16):
30 ;; not shown
31
32 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
33 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 48234519, 48234520
34 _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2e00016
35 WM_CLIENT_LEADER(WINDOW): window id # 0x2e00001
36 _NET_WM_PID(CARDINAL) = 4275
37 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
38 WM_CLIENT_MACHINE(STRING) = "xxx"
39 WM_NORMAL_HINTS(WM_SIZE_HINTS):
40 program specified minimum size: 450 by 120
41 program specified maximum size: 16384 by 16384
42 program specified base size: 450 by 120
43 window gravity: NorthWest
44 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
45 WM_CLASS(STRING) = "Navigator", "firefox128-default"
46 WM_ICON_NAME(STRING) = "Nightly"
47 _NET_WM_ICON_NAME(UTF8_STRING) = "Nightly"
48 WM_NAME(STRING) = "Nightly"
49 _NET_WM_NAME(UTF8_STRING) = "Nightly"
// firefox f11 fullscreen after
1 $ xprop
2 xprop
3 CTWM_OTP_AFLAGS(INTEGER) = 4
4 _NET_WM_USER_TIME(CARDINAL) = 710452294
5 WM_STATE(WM_STATE):
6 window state: Normal
7 icon window: 0x0
8 _NET_WM_STATE(ATOM) =
9 _NET_WM_DESKTOP(CARDINAL) = 1
10 WM_OCCUPATION(STRING) = "2"
11 WM_HINTS(WM_HINTS):
12 Client accepts input or input focus: True
13 Initial state is Normal State.
14 bitmap id # to use for icon: 0x2e00019
15 bitmap id # of mask for icon: 0x2e00020
16 window id # of group leader: 0x2e00001
17 _GTK_THEME_VARIANT(UTF8_STRING) = "dark"
18 _NET_WM_BYPASS_COMPOSITOR(CARDINAL) = 2
19 WM_WINDOW_ROLE(STRING) = "browser"
20 XdndAware(ATOM) = BITMAP
21 _NET_WM_ICON(CARDINAL) = Icon (128 x 128):
22 (not shown)
23 Icon (32 x 32):
24 ;; not shown
25 Icon (48 x 48):
26 (not shown)
27 Icon (64 x 64):
28 (not shown)
29 Icon (16 x 16):
30 ;; not shown
31
32 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
33 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 48234519, 48234520
34 _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2e00016
35 WM_CLIENT_LEADER(WINDOW): window id # 0x2e00001
36 _NET_WM_PID(CARDINAL) = 4275
37 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
38 WM_CLIENT_MACHINE(STRING) = "xxx"
39 WM_NORMAL_HINTS(WM_SIZE_HINTS):
40 program specified minimum size: 450 by 120
41 program specified maximum size: 16384 by 16384
42 program specified base size: 450 by 120
43 window gravity: NorthWest
44 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
45 WM_CLASS(STRING) = "Navigator", "firefox128-default"
46 WM_ICON_NAME(STRING) = "Nightly"
47 _NET_WM_ICON_NAME(UTF8_STRING) = "Nightly"
48 WM_NAME(STRING) = "Nightly"
49 _NET_WM_NAME(UTF8_STRING) = "Nightly"
// firefox maximized full screen before
1 $ xprop
2 xprop
3 WM_STATE(WM_STATE):
4 window state: Normal
5 icon window: 0x0
6 _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ
7 _NET_WM_DESKTOP(CARDINAL) = 2
8 WM_OCCUPATION(STRING) = "3"
9 WM_HINTS(WM_HINTS):
10 Client accepts input or input focus: True
11 Initial state is Normal State.
12 bitmap id # to use for icon: 0x2e00051
13 bitmap id # of mask for icon: 0x2e00057
14 window id # of group leader: 0x2e00001
15 _GTK_THEME_VARIANT(UTF8_STRING) = "dark"
16 _NET_WM_BYPASS_COMPOSITOR(CARDINAL) = 2
17 WM_WINDOW_ROLE(STRING) = "browser"
18 XdndAware(ATOM) = BITMAP
19 _NET_WM_ICON(CARDINAL) = Icon (128 x 128):
20 (not shown)
21 Icon (32 x 32):
22 ;; not shown
23 Icon (48 x 48):
24 (not shown)
25 Icon (64 x 64):
26 (not shown)
27 Icon (16 x 16):
28 ;; not shown
29
30 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
31 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 48234575, 48234576
32 _NET_WM_USER_TIME(CARDINAL) = 710456534
33 _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2e0004e
34 WM_CLIENT_LEADER(WINDOW): window id # 0x2e00001
35 _NET_WM_PID(CARDINAL) = 4275
36 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
37 WM_CLIENT_MACHINE(STRING) = "xxx"
38 WM_NORMAL_HINTS(WM_SIZE_HINTS):
39 program specified minimum size: 450 by 120
40 program specified maximum size: 16384 by 16384
41 program specified base size: 450 by 120
42 window gravity: NorthWest
43 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
44 WM_CLASS(STRING) = "Navigator", "firefox128-default"
45 WM_ICON_NAME(STRING) = "Nightly"
46 _NET_WM_ICON_NAME(UTF8_STRING) = "Nightly"
47 WM_NAME(STRING) = "Nightly"
48 _NET_WM_NAME(UTF8_STRING) = "Nightly"
49
// firefox maximized full screen after
1 $ xprop
2 xprop
3 WM_STATE(WM_STATE):
4 window state: Normal
5 icon window: 0x0
6 _NET_WM_STATE(ATOM) =
7 _NET_WM_DESKTOP(CARDINAL) = 2
8 WM_OCCUPATION(STRING) = "3"
9 WM_HINTS(WM_HINTS):
10 Client accepts input or input focus: True
11 Initial state is Normal State.
12 bitmap id # to use for icon: 0x2e00051
13 bitmap id # of mask for icon: 0x2e00057
14 window id # of group leader: 0x2e00001
15 _GTK_THEME_VARIANT(UTF8_STRING) = "dark"
16 _NET_WM_BYPASS_COMPOSITOR(CARDINAL) = 2
17 WM_WINDOW_ROLE(STRING) = "browser"
18 XdndAware(ATOM) = BITMAP
19 _NET_WM_ICON(CARDINAL) = Icon (128 x 128):
20 (not shown)
21 Icon (32 x 32):
22 ;; not shown
23 Icon (48 x 48):
24 (not shown)
25 Icon (64 x 64):
26 (not shown)
27 Icon (16 x 16):
28 ;; not shown
29
30 _NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
31 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 48234575, 48234576
32 _NET_WM_USER_TIME(CARDINAL) = 710661510
33 _NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2e0004e
34 WM_CLIENT_LEADER(WINDOW): window id # 0x2e00001
35 _NET_WM_PID(CARDINAL) = 4275
36 WM_LOCALE_NAME(STRING) = "en_AU.UTF-8"
37 WM_CLIENT_MACHINE(STRING) = "xxx"
38 WM_NORMAL_HINTS(WM_SIZE_HINTS):
39 program specified minimum size: 450 by 120
40 program specified maximum size: 16384 by 16384
41 program specified base size: 450 by 120
42 window gravity: NorthWest
43 WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
44 WM_CLASS(STRING) = "Navigator", "firefox128-default"
45 WM_ICON_NAME(STRING) = "Nightly"
46 _NET_WM_ICON_NAME(UTF8_STRING) = "Nightly"
47 WM_NAME(STRING) = "Nightly"
48 _NET_WM_NAME(UTF8_STRING) = "Nightly"
49
[-- Attachment #3: Type: text/plain, Size: 735 bytes --]
the -3 values your
> 'frame-geometry' reports for external border sizes are not reproducible
> here.
My dot ctwmrc has these options commented out. They may explain the
minus 3 pixel value detected.
#UseThreeDIconManagers
#UseThreeDWMap
#UseThreeDBorders
#UseThreeDMenus
#UseThreeDTitles
Have you ever tried building
> with GTK-3?
I'm not able to use the gtk-3 build as it causes the tty/emacsclient session
to lockup. The bug is documented.
The gtk-3 build is the default option from pkgsrc.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-06 10:42 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-07 14:03 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 15:52 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-07 14:03 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> More interesting is the following: With 'frame-resize-pixelwise' nil
> zooming a frame vertically gets me a pixel height of 962. With
> 'frame-resize-pixelwise' t it gets me 976. So please try again setting
>
> (setq frame-resize-pixelwise t)
>
> and do it in your init file. Its doc-string says explicitly
>
> With some window managers you may have to set this to non-nil in order
> to set the size of a frame in pixels, to maximize frames or to make them
> fullscreen. To resize your initial frame pixelwise, set this option to
> a non-nil value in your init file.
That first time I measured the frame attributes and the values persisted
after a ctwm restart was from
(setq frame-resize-pixelwise t)
you were expecting values to be different from the first data capture I
reported and I had misattributed the cause to be the presence of a
maximized full screen.
I hadn't put that setting in the init file and forgot about that.
Below is the state of the windowframes.
;; with frame-resize-pixelwise setting confirmed
(setq-default frame-resize-pixelwise t)
Fullboth after F11
xwininfo: Window id: 0x4001aa "*About GNU Emacs*"
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1920
Height: 1080
Depth: 24
Visual: 0x20
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x22 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1902x1057+-3+-3
(frame-geometry) =>
((outer-position -3 . -3) (outer-size 1920 . 1080)
(external-border-size -3 . -3) (outer-border-width . 0)
(title-bar-size 0 . 6) (menu-bar-external . t)
(menu-bar-size 0 . 0) (tab-bar-size 1918 . 21)
(tool-bar-external) (tool-bar-position . top)
(tool-bar-size 0 . 0) (internal-border-width . 1))
(frame-parameter nil 'fullscreen) =>
fullboth
Fullboth after restart
xwininfo: Window id: 0x4001aa "*About GNU Emacs*"
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1920
Height: 1080
Depth: 24
Visual: 0x20
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x22 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 1902x1057+-3+-3
(frame-geometry) =>
((outer-position -3 . -3) (outer-size 1920 . 1080)
(external-border-size -3 . -3) (outer-border-width . 0)
(title-bar-size 0 . 6) (menu-bar-external . t)
(menu-bar-size 0 . 0) (tab-bar-size 1918 . 21)
(tool-bar-external) (tool-bar-position . top)
(tool-bar-size 0 . 0) (internal-border-width . 1))
(frame-parameter nil 'fullscreen) =>
nil
Maximized
xwininfo: Window id: 0x400220 "*About GNU Emacs*"
Absolute upper-left X: 3
Absolute upper-left Y: 3
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1914
Height: 1074
Depth: 24
Visual: 0x20
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x22 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +3+3 -3+3 -3-3 +3-3
-geometry 1896x1051+0+0
(frame-geometry) =>
((outer-position 0 . 0) (outer-size 1914 . 1074)
(external-border-size -3 . -3) (outer-border-width . 0)
(title-bar-size 0 . 6) (menu-bar-external . t)
(menu-bar-size 0 . 0) (tab-bar-size 1912 . 21)
(tool-bar-external) (tool-bar-position . top)
(tool-bar-size 0 . 0) (internal-border-width . 1))
(frame-parameter nil 'fullscreen) =>
maximized
Maximized after restart
xwininfo: Window id: 0x400220 "*About GNU Emacs*"
Absolute upper-left X: 3
Absolute upper-left Y: 3
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1914
Height: 1074
Depth: 24
Visual: 0x20
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x22 (installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +3+3 -3+3 -3-3 +3-3
-geometry 1896x1051+0+0
(frame-geometry) =>
((outer-position 0 . 0) (outer-size 1914 . 1074)
(external-border-size -3 . -3) (outer-border-width . 0)
(title-bar-size 0 . 6) (menu-bar-external . t)
(menu-bar-size 0 . 0) (tab-bar-size 1912 . 21)
(tool-bar-external) (tool-bar-position . top)
(tool-bar-size 0 . 0) (internal-border-width . 1))
(frame-parameter nil 'fullscreen) =>
nil
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-07 14:03 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-07 15:52 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 16:33 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-07 15:52 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
I'll take a look into
> this with the frame size history facility.
> That first time I measured the frame attributes and the values persisted
> after a ctwm restart was from
>
> (setq frame-resize-pixelwise t)
>
> you were expecting values to be different from the first data capture I
> reported and I had misattributed the cause to be the presence of a
> maximized full screen.
>
> I hadn't put that setting in the init file and forgot about that.
I should have told you but I forgot as well. We'd eventually have to
install a watcher for this variable. Whenever it is (re-)set that would
(re-)set the size hints accordingly, maybe even in a let-binding. But
this requires some experimenting. At the time 'frame-resize-pixelwise'
was implemented, variable watchers were not available yet.
> ;; with frame-resize-pixelwise setting confirmed
> (setq-default frame-resize-pixelwise t)
>
>
>
> Fullboth after F11
...
> Width: 1920
> Height: 1080
...
> (frame-parameter nil 'fullscreen) =>
> fullboth
...
> Fullboth after restart
...
> Width: 1920
> Height: 1080
...
> (frame-parameter nil 'fullscreen) =>
> nil
...
> Maximized
>
> xwininfo: Window id: 0x400220 "*About GNU Emacs*"
...
> Width: 1914
> Height: 1074
....
> (frame-parameter nil 'fullscreen) =>
> maximized
...
> Maximized after restart
...
> Width: 1914
> Height: 1074
...
> (frame-parameter nil 'fullscreen) =>
> nil
So IIUC the unexpected resizing with CTWM restart can be fixed by
setting 'frame-resize-pixelwise' to t. The fullscreen parameter
settings are still broken. These might be related to an obscure
variable I coined 'x-frame-normalize-before-maximize' years ago but I
have to experiment with it myself before telling you more.
BTW, earlier I wrote that
> - When restarting CTWM there is a short moment (less than a second)
> where the frame shrinks slightly in both cases.
Meanwhile I noticed the same behavior with all "vertically zoomed"
windows including those on xterms. Can you observe a similar effect?
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-07 15:52 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-07 16:33 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 17:36 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-07 16:33 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> So IIUC the unexpected resizing with CTWM restart can be fixed by
> setting 'frame-resize-pixelwise' to t. The fullscreen parameter
> settings are still broken. These might be related to an obscure
> variable I coined 'x-frame-normalize-before-maximize' years ago but I
> have to experiment with it myself before telling you more.
>
> BTW, earlier I wrote that
>
> > - When restarting CTWM there is a short moment (less than a second)
> > where the frame shrinks slightly in both cases.
>
> Meanwhile I noticed the same behavior with all "vertically zoomed"
> windows including those on xterms. Can you observe a similar effect?
Having the setting 'frame-resize-pixelwise' to t in place I don't see
any slight shrinkage in any of the cases at the time of ctwm restart.
After ctwm restart, in all cases of F11 fullscreen, zoom, zoom vertical,
and zoom horizontal, the ability to toggle to previous frame size is
lost. What I there do is move the entire frame to one side, C-x 5 2 to
create a new frame of default size, C-x 5 0 to remove the windowframe
that is unable to toggle between fullscreen and previous size because of
ctwm restart.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-07 16:33 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-07 17:36 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 6:26 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-07 17:36 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> After ctwm restart, in all cases of F11 fullscreen, zoom, zoom vertical,
> and zoom horizontal, the ability to toggle to previous frame size is
> lost.
What happens is that whatever the non-nil fullscreen state is, the size
of the frame in the state immediately before restarting CTWM is frozen:
It becomes the frame's new "normal" size after CTWM has restarted. You
still can transit from maximized to fullboth and vice-versa but the
previous normal size is lost.
Not that the "normal" size works well with each and every window manager
but the behavior on CTWM is quite singular. OTOH I don't know of any WM
that supports its own restart on-the-fly. Maybe that's the prize one
has to pay for it.
> What I there do is move the entire frame to one side, C-x 5 2 to
> create a new frame of default size, C-x 5 0 to remove the windowframe
> that is unable to toggle between fullscreen and previous size because of
> ctwm restart.
But this is a problem you had without setting 'frame-resize-pixelwise'
too. Right?
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-07 17:36 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-08 6:26 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 16:57 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-08 6:26 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> > What I there do is move the entire frame to one side, C-x 5 2 to
> > create a new frame of default size, C-x 5 0 to remove the windowframe
> > that is unable to toggle between fullscreen and previous size because of
> > ctwm restart.
>
> But this is a problem you had without setting 'frame-resize-pixelwise'
> too. Right?
Yes.
The frame-resize-pixelwise setting is what I need. Would be good to see
it in the FAQ windowmanager section. Would be better for that section
to be retrievable from an apropos-init-file command.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-07 11:11 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-08 10:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 12:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 7:35 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-08 10:58 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
[-- Attachment #1: Type: text/plain, Size: 6565 bytes --]
>> Maybe you can try the attached diff (it's against the release version)
>> and set breakpoints at the four lines I marked with a
>>
>> // break-here
>>
>> comment. Start gdb via run -Q, do F11 and restart CWTM.
>
> Here is the backtrace.
>
> 1 (gdb) info b
> 2 Num Type Disp Enb Address What
> 3 1 breakpoint keep y 0x000000000042edfd in gui_set_frame_parameters_1 at /u/xxx/src/emacs/29.4/src/frame.c:4461
> 4 2 breakpoint keep y 0x00000000004cf6fb in x_net_wm_state at /u/xxx/src/emacs/29.4/src/xterm.c:17504
> 5 3 breakpoint keep y 0x00000000004cf5c1 in x_handle_net_wm_state at /u/xxx/src/emacs/29.4/src/xterm.c:27249
> 6 4 breakpoint keep y 0x00000000004e52b5 in x_check_fullscreen at /u/xxx/src/emacs/29.4/src/xterm.c:27324
> 7 (gdb) run -Q
> 8 Starting program: /u/xxx/src/emacs/build-29-0/src/emacs -Q
> 9 [New LWP 7051 of process 24519]
> 10 [New LWP 795 of process 24519]
> 11 [New LWP 1577 of process 24519]
> 12 [New process 24519]
> 13 [New process 24519]
> 14
> 15 Thread 1 "" hit Breakpoint 2, x_net_wm_state (f=f@entry=0x71354096ac10, window=<optimized out>) at /u/xxx/src/emacs/29.4/src/xterm.c:17504
> 16 17504 store_frame_param (f, Qfullscreen, lval); // break here
> 17 (gdb) bt
> 18 #0 x_net_wm_state (f=f@entry=0x71354096ac10, window=<optimized out>) at /u/xxx/src/emacs/29.4/src/xterm.c:17504
> 19 #1 0x00000000004e9343 in handle_one_xevent (dpyinfo=dpyinfo@entry=0x713541033000, event=event@entry=0x7f7fff03c0d0, finish=finish@entry=0x7f7fff03c0cc, hold_quit=hold_quit@entry=0x7f7fff03c1c0) at /u/xxx/src/emacs/29.4/src/xterm.c:20998
> 20 #2 0x00000000004f06cd in XTread_socket (terminal=<optimized out>, hold_quit=0x7f7fff03c1c0) at /u/xxx/src/emacs/29.4/src/xterm.c:24812
> 21 #3 0x000000000051b7bd in gobble_input () at /u/xxx/src/emacs/29.4/src/keyboard.c:7427
> 22 #4 0x000000000051b8d1 in handle_async_input () at /u/xxx/src/emacs/29.4/src/keyboard.c:7658
> 23 #5 0x000000000051b8e7 in process_pending_signals () at /u/xxx/src/emacs/29.4/src/keyboard.c:7672
> 24 #6 0x00000000005cb17a in wait_reading_process_output (time_limit=<optimized out>, nsecs=nsecs@entry=0, read_kbd=-1, do_display=do_display@entry=true, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=just_wait_proc@entry=0) at /u/xxx/src/emacs/29.4/src/process.c:5304
> 25 #7 0x00000000004282e2 in sit_for (timeout=timeout@entry=0x7a, reading=reading@entry=true, display_option=display_option@entry=1) at /u/xxx/src/emacs/29.4/src/dispnew.c:6263
> 26 #8 0x000000000051e53b in read_char (commandflag=1, map=map@entry=0x713540069963, prev_event=0x0, used_mouse_menu=used_mouse_menu@entry=0x7f7fff03c6bb, end_time=end_time@entry=0x0) at /u/xxx/src/emacs/29.4/src/lisp.h:767
> 27 #9 0x000000000051f5ec in read_key_sequence (keybuf=keybuf@entry=0x7f7fff03c790, prompt=prompt@entry=0x0, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true, prevent_redisplay=prevent_redisplay@entry=false) at /u/xxx/src/emacs/29.4/src/keyboard.c:10084
> 28 #10 0x000000000052090f in command_loop_1 () at /u/xxx/src/emacs/29.4/src/keyboard.c:1384
> 29 #11 0x0000000000583676 in internal_condition_case (bfun=bfun@entry=0x520748 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x5166aa <cmd_error>) at /u/xxx/src/emacs/29.4/src/eval.c:1474
> 30 #12 0x00000000005113fb in command_loop_2 (handlers=handlers@entry=0x90) at /u/xxx/src/emacs/29.4/src/keyboard.c:1133
> 31 #13 0x00000000005835ef in internal_catch (tag=tag@entry=0xfe40, func=func@entry=0x5113dd <command_loop_2>, arg=arg@entry=0x90) at /u/xxx/src/emacs/29.4/src/eval.c:1197
> 32 #14 0x00000000005113ba in command_loop () at /u/xxx/src/emacs/29.4/src/keyboard.c:1111
> 33 #15 0x00000000005162b8 in recursive_edit_1 () at /u/xxx/src/emacs/29.4/src/keyboard.c:720
> 34 #16 0x00000000005165dd in Frecursive_edit () at /u/xxx/src/emacs/29.4/src/keyboard.c:803
> 35 #17 0x0000000000510982 in main (argc=2, argv=0x7f7fff03cad8) at /u/xxx/src/emacs/29.4/src/emacs.c:2521
Thanks. I attach a new diff to override the previous one which should
now trace all changes from fullheight to nil and vice-versa. Please set
the breakpoints as you did before in the lines marked with // break here.
The new diff differs from the previous one in that I now trace the
fullheight behavior. It's similar to the fullscreen one but one can run
it in one and the same virtual space and this make sure that no space
switches interfere.
Run Emacs as above, but zoom the Emacs window vertically verifying that
breakpoints are hit twice - type c to continue in each case - and then
restart CTWM. Now things should get interesting. At the first time a
breakpoint is hit do
p lval
It gets me 2 here. Type c and wait if you get a second hit. If so type
p lval
again. This gets me 0 here and we reset the fullscreen parameter to
nil. Please confirm whether you see the same.
Whatever the cause of this behavior is I observed the following here:
In x_net_wm_state we do
int value = FULLSCREEN_NONE;
x_get_current_wm_state (f, window, &value, &sticky, &shaded);
In x_get_current_wm_state we now get in the call for the first
breakpoint mentioned above an actual_size > 0 regardless of whether
xcb_get_property is used or XGetWindowProperty. For the call of the
second breakpoint we get actual_size = 0 so the result of the call is
probably meaningless. We use it nevertheless and so we reset the
fullscreen parameter to nil.
Unfortunately, fixing that behavior was of no help here. Even if I do
not process calls where actual_size is 0 and the 'fullheight' value is
preserved (so Emacs does not reset fullheight by itself), it seems that
CTWM thinks that the window is no more fullheight with the old
fullheight sizes becoming the new normal sizes.
Note also that CTWM restart here triggers the following sequence of events
UnmapNotify, visible | iconified
MapNotify, not hidden & iconified, PS=754x976
UnmapNotify, visible | iconified
PropertyNotify, not hidden & iconified
MapNotify, not hidden & not iconified, PS=754x976
which means that the frame gets unmapped and iconified in between and
only then restored. Whether and how these affect the fullscreen
behavior is yet unclear to me.
martin
[-- Attachment #2: lucid.diff --]
[-- Type: text/x-patch, Size: 2609 bytes --]
diff --git a/src/xterm.c b/src/xterm.c
index fd3e58f85f6..ef354a54d1e 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -18041,7 +18041,12 @@ x_net_wm_state (struct frame *f, Window window)
break;
}
- store_frame_param (f, Qfullscreen, lval);
+ if (EQ (get_frame_param (f, Qfullscreen), Qfullheight)
+ || EQ (lval, Qfullheight))
+ store_frame_param (f, Qfullscreen, lval); // break here
+ else
+ store_frame_param (f, Qfullscreen, lval);
+
store_frame_param (f, Qsticky, sticky ? Qt : Qnil);
store_frame_param (f, Qshaded, shaded ? Qt : Qnil);
}
@@ -21573,6 +21578,14 @@ handle_one_xevent (struct x_display_info *dpyinfo,
#endif /* !defined USE_X_TOOLKIT && !defined USE_GTK */
+ if (f && CONSP (frame_size_history))
+ frame_size_history_extra
+ (f, build_string ("ConfigureNotify"),
+ FRAME_PIXEL_WIDTH (f), FRAME_PIXEL_HEIGHT (f),
+ configureEvent.xconfigure.width,
+ configureEvent.xconfigure.height,
+ f->new_width, f->new_height);
+
#ifdef USE_GTK
if (!f
&& (f = any)
@@ -21581,15 +21594,6 @@ handle_one_xevent (struct x_display_info *dpyinfo,
|| !(configureEvent.xconfigure.width <= 1
&& configureEvent.xconfigure.height <= 1)))
{
-
- if (CONSP (frame_size_history))
- frame_size_history_extra
- (f, build_string ("ConfigureNotify"),
- FRAME_PIXEL_WIDTH (f), FRAME_PIXEL_HEIGHT (f),
- configureEvent.xconfigure.width,
- configureEvent.xconfigure.height,
- f->new_width, f->new_height);
-
#ifdef HAVE_XDBE
if (FRAME_X_DOUBLE_BUFFERED_P (f))
x_drop_xrender_surfaces (f);
@@ -28272,7 +28276,12 @@ x_handle_net_wm_state (struct frame *f, const XPropertyEvent *event)
break;
}
- store_frame_param (f, Qfullscreen, lval);
+ if (EQ (get_frame_param (f, Qfullscreen), Qfullheight)
+ || EQ (lval, Qfullheight))
+ store_frame_param (f, Qfullscreen, lval); // break here
+ else
+ store_frame_param (f, Qfullscreen, lval);
+
store_frame_param (f, Qsticky, sticky ? Qt : Qnil);
store_frame_param (f, Qshaded, shaded ? Qt : Qnil);
@@ -28340,7 +28349,11 @@ x_check_fullscreen (struct frame *f)
/* `x_net_wm_state' might have reset the fullscreen frame parameter,
restore it. */
- store_frame_param (f, Qfullscreen, lval);
+ if (EQ (get_frame_param (f, Qfullscreen), Qfullheight)
+ || EQ (lval, Qfullheight))
+ store_frame_param (f, Qfullscreen, lval); // break here
+ else
+ store_frame_param (f, Qfullscreen, lval);
}
/* This function is called by x_set_offset to determine whether the window
^ permalink raw reply related [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-07 13:12 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-08 11:02 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-08 11:02 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> My dot ctwmrc has these options commented out. They may explain the
> minus 3 pixel value detected.
>
> #UseThreeDIconManagers
> #UseThreeDWMap
> #UseThreeDBorders
> #UseThreeDMenus
> #UseThreeDTitles
A value of -3 for the border width is still a pain.
> I'm not able to use the gtk-3 build as it causes the tty/emacsclient session
> to lockup. The bug is documented.
It would suffice to start it once only. Here the scroll bars are
botched.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-08 10:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-08 12:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 13:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 7:35 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-08 12:42 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
I attach a new diff to override the previous one which should
> now trace all changes from fullheight to nil and vice-versa.
Having frame.c and xterm.c restored from the release archive, I am
unable to apply lucid.diff without error.
# emacs-29.4 frame.c and xterm.c restored
$ git apply lucid.diff
git apply lucid.diff
error: patch failed: src/xterm.c:21573
error: src/xterm.c: patch does not apply
# emacs-29.4 frame.c and xterm.c restored
$ git apply break-fullscreen.diff
git apply break-fullscreen.diff
$ git apply lucid.diff
git apply lucid.diff
error: patch failed: src/xterm.c:18041
error: src/xterm.c: patch does not apply
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-08 12:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-08 13:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 15:44 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-08 13:58 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> Having frame.c and xterm.c restored from the release archive, I am
> unable to apply lucid.diff without error.
>
> # emacs-29.4 frame.c and xterm.c restored
>
> $ git apply lucid.diff
> git apply lucid.diff
> error: patch failed: src/xterm.c:21573
> error: src/xterm.c: patch does not apply
>
> # emacs-29.4 frame.c and xterm.c restored
>
> $ git apply break-fullscreen.diff
> git apply break-fullscreen.diff
> $ git apply lucid.diff
> git apply lucid.diff
> error: patch failed: src/xterm.c:18041
> error: src/xterm.c: patch does not apply
Please forget about break-fullscreen.diff. Unless you have other
changes you want to preserve do
git reset --hard
git apply lucid.diff
If the latter fails again do
git apply lucid.diff --verbose | tee
and post me here what it says.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-08 13:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-08 15:44 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 16:16 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-08 15:44 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
Unless you have other
> changes you want to preserve do
>
> git reset --hard
> git apply lucid.diff
Even if the full release archive is newly unpacked
$ wget https://ftp.gnu.org/gnu/emacs/emacs-29.4.tar.xz.sig
$ wget https://ftp.gnu.org/gnu/emacs/emacs-29.4.tar.xz
$ gpg --verify emacs-29.4.tar.xz.sig
gpg --verify emacs-29.4.tar.xz.sig
gpg: assuming signed data in `emacs-29.4.tar.xz'
gpg: Signature made 23 June 2024 01:04:32 am AEST using RSA key ID 5957135D
gpg: Good signature from "Stefan Kangas <stefan@marxist.se>"
gpg: aka "Stefan Kangas <skangas@skangas.se>"
gpg: Note: This key has expired!
Primary key fingerprint: CEA1 DE21 AB10 8493 CC9C 6574 2E82 323B 8F43 53EE
Subkey fingerprint: BB02 E407 AE9E AA87 C9E7 2A1D 2D4E 1FE9 5957 135D
$ tar xJf emacs-29.4.tar.xz
the lucid.diff patch fails as follows
$ git apply lucid.diff
git apply lucid.diff
error: patch failed: src/xterm.c:21573
error: src/xterm.c: patch does not apply
$ git apply lucid.diff --verbose | tee
git apply lucid.diff --verbose | tee
Checking patch src/xterm.c...
Hunk #1 succeeded at 17500 (offset -541 lines).
error: while searching for:
#endif /* !defined USE_X_TOOLKIT && !defined USE_GTK */
#ifdef USE_GTK
if (!f
&& (f = any)
error: patch failed: src/xterm.c:21573
error: src/xterm.c: patch does not apply
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-08 15:44 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-08 16:16 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-08 16:16 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
[-- Attachment #1: Type: text/plain, Size: 493 bytes --]
> gpg: Signature made 23 June 2024 01:04:32 am AEST using RSA key ID 5957135D
...
> error: while searching for:
>
> #endif /* !defined USE_X_TOOLKIT && !defined USE_GTK */
>
> #ifdef USE_GTK
> if (!f
> && (f = any)
>
> error: patch failed: src/xterm.c:21573
> error: src/xterm.c: patch does not apply
Your tar file is probably too old. I attach a diff that doesn't contain
that hunk. If it's needed, I'll tell you later how to do that manually.
martin
[-- Attachment #2: lucid-2.diff --]
[-- Type: text/x-patch, Size: 1552 bytes --]
diff --git a/src/xterm.c b/src/xterm.c
index fd3e58f85f6..3087e10dddf 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -18041,7 +18041,12 @@ x_net_wm_state (struct frame *f, Window window)
break;
}
- store_frame_param (f, Qfullscreen, lval);
+ if (EQ (get_frame_param (f, Qfullscreen), Qfullheight)
+ || EQ (lval, Qfullheight))
+ store_frame_param (f, Qfullscreen, lval); // break here
+ else
+ store_frame_param (f, Qfullscreen, lval);
+
store_frame_param (f, Qsticky, sticky ? Qt : Qnil);
store_frame_param (f, Qshaded, shaded ? Qt : Qnil);
}
@@ -28272,7 +28277,12 @@ x_handle_net_wm_state (struct frame *f, const XPropertyEvent *event)
break;
}
- store_frame_param (f, Qfullscreen, lval);
+ if (EQ (get_frame_param (f, Qfullscreen), Qfullheight)
+ || EQ (lval, Qfullheight))
+ store_frame_param (f, Qfullscreen, lval); // break here
+ else
+ store_frame_param (f, Qfullscreen, lval);
+
store_frame_param (f, Qsticky, sticky ? Qt : Qnil);
store_frame_param (f, Qshaded, shaded ? Qt : Qnil);
@@ -28340,7 +28350,11 @@ x_check_fullscreen (struct frame *f)
/* `x_net_wm_state' might have reset the fullscreen frame parameter,
restore it. */
- store_frame_param (f, Qfullscreen, lval);
+ if (EQ (get_frame_param (f, Qfullscreen), Qfullheight)
+ || EQ (lval, Qfullheight))
+ store_frame_param (f, Qfullscreen, lval); // break here
+ else
+ store_frame_param (f, Qfullscreen, lval);
}
/* This function is called by x_set_offset to determine whether the window
^ permalink raw reply related [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-08 6:26 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-08 16:57 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 18:01 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-08 16:57 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> The frame-resize-pixelwise setting is what I need. Would be good to see
> it in the FAQ windowmanager section. Would be better for that section
> to be retrievable from an apropos-init-file command.
What is the "FAQ windowmanager" section?
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-08 16:57 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-08 18:01 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 9:10 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-08 18:01 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> What is the "FAQ windowmanager" section?
I suppose there is an FAQ for emacs that has a window manager section.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-08 10:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 12:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-09 7:35 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 9:11 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-09 7:35 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> Run Emacs as above, but zoom the Emacs window vertically verifying that
> breakpoints are hit twice - type c to continue in each case - and then
Having applied the patch lucid-2.diff, I find gdb is unable to continue
at the first 'c' upon windowframe fullheight toggle.
1 (gdb) b xterm.c:17505
2 Breakpoint 1 at 0x4cf672: file /u/xxx/src/emacs/29.4/src/xterm.c, line 17505.
3 (gdb) b xterm.c:27251
4 Breakpoint 2 at 0x4cf533: file /u/xxx/src/emacs/29.4/src/xterm.c, line 27251.
5 (gdb) b xterm.c:27327
6 Breakpoint 3 at 0x4e5216: file /u/xxx/src/emacs/29.4/src/xterm.c, line 27327.
7 (gdb) info b
8 Num Type Disp Enb Address What
9 1 breakpoint keep y 0x00000000004cf672 in x_net_wm_state at /u/xxx/src/emacs/29.4/src/xterm.c:17505
10 2 breakpoint keep y 0x00000000004cf533 in x_handle_net_wm_state at /u/xxx/src/emacs/29.4/src/xterm.c:27251
11 3 breakpoint keep y 0x00000000004e5216 in x_check_fullscreen at /u/xxx/src/emacs/29.4/src/xterm.c:27327
12 (gdb) run -Q
13 Starting program: /u/xxx/src/emacs/build-29-0/src/emacs -Q
14 [New LWP 24268 of process 28138]
15 [New LWP 27847 of process 28138]
16 [New LWP 26167 of process 28138]
17 [New process 28138]
18 [New process 28138]
19
20 Thread 1 "" hit Breakpoint 1, x_net_wm_state (f=f@entry=0x74cbbd8d4c10, window=<optimized out>) at /u/xxx/src/emacs/29.4/src/xterm.c:17505
21 17505 store_frame_param (f, Qfullscreen, lval); // break here
22 (gdb) c
23 Continuing.
24 [New process 28138]
25 /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/infrun.c:5683: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed.
26 A problem internal to GDB has been detected,
27 further debugging may prove unreliable.
28 Quit this debugging session? (y or n) n
29 Please answer y or n.
30 /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/infrun.c:5683: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed.
31 A problem internal to GDB has been detected,
32 further debugging may prove unreliable.
33 Quit this debugging session? (y or n)
> > I'm not able to use the gtk-3 build as it causes the tty/emacsclient session
> > to lockup. The bug is documented.
>
> It would suffice to start it once only. Here the scroll bars are
> botched.
Should I build the gtk-3 variant to check the scroll bars are broken?
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-08 18:01 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-09 9:10 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 14:48 ` Eli Zaretskii
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-09 9:10 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> I suppose there is an FAQ for emacs that has a window manager section.
If you find one, please tell me.
Thanks, martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 7:35 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-09 9:11 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 11:11 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 14:51 ` Eli Zaretskii
0 siblings, 2 replies; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-09 9:11 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> 22 (gdb) c
> 23 Continuing.
> 24 [New process 28138]
> 25 /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/infrun.c:5683: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed.
> 26 A problem internal to GDB has been detected,
> 27 further debugging may prove unreliable.
> 28 Quit this debugging session? (y or n) n
> 29 Please answer y or n.
> 30 /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/infrun.c:5683: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed.
> 31 A problem internal to GDB has been detected,
> 32 further debugging may prove unreliable.
> 33 Quit this debugging session? (y or n)
Maybe Eli has an idea. Or maybe you find a newer gdb that doesn't have
that problem. I have never used NetBSD.
> Should I build the gtk-3 variant to check the scroll bars are broken?
If you find the time, please do. It's a problem we should mention in
etc/PROBLEMS so people using CWTM will build with Lucid or Motif
instead. Here the inner geometry of frames is also broken in the sense
that mouse clicks in the left fringe are no more detected if there is a
scroll bar on the left of that fringe (in another Emacs window). So
it's not a purely aesthetic problem here either.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 9:11 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-09 11:11 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-10 15:54 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 14:51 ` Eli Zaretskii
1 sibling, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-09 11:11 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> > Should I build the gtk-3 variant to check the scroll bars are broken?
>
> If you find the time, please do. It's a problem we should mention in
> etc/PROBLEMS so people using CWTM will build with Lucid or Motif
> instead. Here the inner geometry of frames is also broken in the sense
> that mouse clicks in the left fringe are no more detected if there is a
> scroll bar on the left of that fringe (in another Emacs window). So
> it's not a purely aesthetic problem here either.
When I click on the left fringe, the echo area says,
<left-fringe><mouse-1> is undefined
where the foreground windowframe is regular size and immediately below
the windowframe is fullheight.
At the transition point when all frame decorations disappear in the
course of ctwm restart, it looks as though the frame translates in the
northwest direction then goes back when the decorations re-appear.
Normally, I don't use the tool bar and make it invisible, here I see the
toolbar has all button icons except for icon+save and icon+undo.
Mousing around to reproduce your observations, I found the toolbar would
flash to all buttons being icon+text when clicking on the scrollbar area
to scroll. But at the next emacs session I wasn't able to reproduce
this glitch.
Nothing stands out as misbehaving around the scrollbars. Normally, I
hide the scrollbar.
The following are window frame attributes before and after ctwm restart.
;; (setq-default frame-resize-pixelwise t) => t
;; windowframe is at fullheight
29.4 gtk-3 before ctwm restart
xwininfo: Window id: 0x340001e "*scratch* - GNU Emacs at xxx"
Absolute upper-left X: 524
Absolute upper-left Y: 3
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 672
Height: 1069
Depth: 32
Visual: 0x8d
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x340001d (not installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +524+3 -724+3 -724-8 +524-8
-geometry 79x58+521+0
(frame-geometry) =>
((outer-position 521 . 0) (outer-size 672 . 1069)
(external-border-size -3 . -3) (outer-border-width . 0)
(title-bar-size 0 . 6) (menu-bar-external . t)
(menu-bar-size 672 . 25) (tab-bar-size 0 . 0)
(tool-bar-external . t) (tool-bar-position . top)
(tool-bar-size 672 . 41) (internal-border-width . 0))
29.4 gtk-3 after ctwm restart
xwininfo: Window id: 0x340001e "*scratch* - GNU Emacs at xxx"
Absolute upper-left X: 524
Absolute upper-left Y: 3
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 672
Height: 1069
Depth: 32
Visual: 0x8d
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x340001d (not installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +524+3 -724+3 -724-8 +524-8
-geometry 79x58+521+0
(frame-geometry) =>
((outer-position 521 . 0) (outer-size 672 . 1069)
(external-border-size -3 . -3) (outer-border-width . 0)
(title-bar-size 0 . 6) (menu-bar-external . t)
(menu-bar-size 672 . 25) (tab-bar-size 0 . 0)
(tool-bar-external . t) (tool-bar-position . top)
(tool-bar-size 672 . 41) (internal-border-width . 0))
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 9:10 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-09 14:48 ` Eli Zaretskii
0 siblings, 0 replies; 66+ messages in thread
From: Eli Zaretskii @ 2024-12-09 14:48 UTC (permalink / raw)
To: martin rudalics; +Cc: van.ly, 74496
> Date: Mon, 9 Dec 2024 10:10:34 +0100
> Cc: eliz@gnu.org, 74496@debbugs.gnu.org
> From: martin rudalics <rudalics@gmx.at>
>
> > I suppose there is an FAQ for emacs that has a window manager section.
>
> If you find one, please tell me.
The phrase "window manager" is found in the Emacs FAQ exactly once.
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 9:11 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 11:11 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-09 14:51 ` Eli Zaretskii
2024-12-09 17:14 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 66+ messages in thread
From: Eli Zaretskii @ 2024-12-09 14:51 UTC (permalink / raw)
To: martin rudalics; +Cc: van.ly, 74496
> Date: Mon, 9 Dec 2024 10:11:03 +0100
> Cc: eliz@gnu.org, 74496@debbugs.gnu.org
> From: martin rudalics <rudalics@gmx.at>
>
> > 22 (gdb) c
> > 23 Continuing.
> > 24 [New process 28138]
> > 25 /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/infrun.c:5683: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed.
> > 26 A problem internal to GDB has been detected,
> > 27 further debugging may prove unreliable.
> > 28 Quit this debugging session? (y or n) n
> > 29 Please answer y or n.
> > 30 /usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/infrun.c:5683: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed.
> > 31 A problem internal to GDB has been detected,
> > 32 further debugging may prove unreliable.
> > 33 Quit this debugging session? (y or n)
>
> Maybe Eli has an idea. Or maybe you find a newer gdb that doesn't have
> that problem. I have never used NetBSD.
Which version of GDB is that?
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 14:51 ` Eli Zaretskii
@ 2024-12-09 17:14 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 18:13 ` Eli Zaretskii
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-09 17:14 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: rudalics, 74496
Eli Zaretskii <eliz@gnu.org> writes:
>> Maybe Eli has an idea. Or maybe you find a newer gdb that doesn't have
>> that problem. I have never used NetBSD.
>
> Which version of GDB is that?
$ gdb --version
GNU gdb (GDB) 11.0.50.20200914-git
pkgsrc lists earlier versions
gdb-10.1nb6 Symbolic debugger for multiple language frontends
gdb-7.11nb11 Symbolic debugger for multiple language frontends
pkgsrc/wip lists
gdb-git gdb5 gdb6 gdb8
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 17:14 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-09 18:13 ` Eli Zaretskii
2024-12-09 18:30 ` Eli Zaretskii
2024-12-09 22:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 66+ messages in thread
From: Eli Zaretskii @ 2024-12-09 18:13 UTC (permalink / raw)
To: Van Ly; +Cc: rudalics, 74496
> From: Van Ly <van.ly@SDF.ORG>
> Cc: rudalics@gmx.at, 74496@debbugs.gnu.org
> Date: Mon, 09 Dec 2024 17:14:26 +0000
>
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Maybe Eli has an idea. Or maybe you find a newer gdb that doesn't have
> >> that problem. I have never used NetBSD.
> >
> > Which version of GDB is that?
>
> $ gdb --version
> GNU gdb (GDB) 11.0.50.20200914-git
>
> pkgsrc lists earlier versions
>
> gdb-10.1nb6 Symbolic debugger for multiple language frontends
> gdb-7.11nb11 Symbolic debugger for multiple language frontends
>
> pkgsrc/wip lists
>
> gdb-git gdb5 gdb6 gdb8
Nothing newer? The last released version of GDB is 15.2, with 16.1
around the corner.
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 18:13 ` Eli Zaretskii
@ 2024-12-09 18:30 ` Eli Zaretskii
2024-12-11 17:00 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 22:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 66+ messages in thread
From: Eli Zaretskii @ 2024-12-09 18:30 UTC (permalink / raw)
To: van.ly; +Cc: rudalics, 74496
> Cc: rudalics@gmx.at, 74496@debbugs.gnu.org
> Date: Mon, 09 Dec 2024 20:13:26 +0200
> From: Eli Zaretskii <eliz@gnu.org>
>
> > From: Van Ly <van.ly@SDF.ORG>
> > Cc: rudalics@gmx.at, 74496@debbugs.gnu.org
> > Date: Mon, 09 Dec 2024 17:14:26 +0000
> >
> >
> > Eli Zaretskii <eliz@gnu.org> writes:
> >
> > >> Maybe Eli has an idea. Or maybe you find a newer gdb that doesn't have
> > >> that problem. I have never used NetBSD.
> > >
> > > Which version of GDB is that?
> >
> > $ gdb --version
> > GNU gdb (GDB) 11.0.50.20200914-git
> >
> > pkgsrc lists earlier versions
> >
> > gdb-10.1nb6 Symbolic debugger for multiple language frontends
> > gdb-7.11nb11 Symbolic debugger for multiple language frontends
> >
> > pkgsrc/wip lists
> >
> > gdb-git gdb5 gdb6 gdb8
>
> Nothing newer? The last released version of GDB is 15.2, with 16.1
> around the corner.
But if not, maybe try to downgrade to gdb-10.1n6, since what you have
now is a development snapshot of GDB 11, which could have bugs.
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 18:13 ` Eli Zaretskii
2024-12-09 18:30 ` Eli Zaretskii
@ 2024-12-09 22:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 0 replies; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-09 22:42 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: rudalics, 74496
Eli Zaretskii <eliz@gnu.org> writes:
>> pkgsrc/wip lists
>>
>> gdb-git gdb5 gdb6 gdb8
>
> Nothing newer? The last released version of GDB is 15.2, with 16.1
> around the corner.
gdb-git is at 8.0
https://github.com/wallento/binutils-gdb/
I guess NetBSD project has different priorities. Or, people roll their
own gdb and haven't packaged that for redistribution.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 11:11 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-10 15:54 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-10 17:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-10 15:54 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> When I click on the left fringe, the echo area says,
>
> <left-fringe><mouse-1> is undefined
That's the expected reaction.
> where the foreground windowframe is regular size and immediately below
> the windowframe is fullheight.
>
> At the transition point when all frame decorations disappear in the
> course of ctwm restart, it looks as though the frame translates in the
> northwest direction then goes back when the decorations re-appear.
IIUC that's the behavior for all windows, not just the Emacs ones.
> Normally, I don't use the tool bar and make it invisible, here I see the
> toolbar has all button icons except for icon+save and icon+undo.
Interesting: On xfce here these two are the only ones that have the
'both-horiz' style. Since I never use the tool bar I have no idea how
they should look like.
> Mousing around to reproduce your observations, I found the toolbar would
> flash to all buttons being icon+text when clicking on the scrollbar area
> to scroll. But at the next emacs session I wasn't able to reproduce
> this glitch.
Don't worry. Does the toolbar work as expected under Lucid?
> Nothing stands out as misbehaving around the scrollbars. Normally, I
> hide the scrollbar.
Then let's not bother any more. Normally the GTK scroll bars follow the
current theme but I have no idea what a theme would be under CTWM.
> The following are window frame attributes before and after ctwm restart.
These look good IMO.
Thanks for checking, martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-10 15:54 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-10 17:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-10 17:42 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> Don't worry. Does the toolbar work as expected under Lucid?
On emacs 30.0.91, the tool bar shows all icons under Lucid.
The buttons work as expected. The "x" icon for discard buffer
intuitively looks "handle with extra care". Aesthetically, the icons
are difficult on my eyes. GTK-3 and Lucid have the same file cabinet
icon.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-09 18:30 ` Eli Zaretskii
@ 2024-12-11 17:00 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-12 9:22 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-11 17:00 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: rudalics, 74496
Eli Zaretskii <eliz@gnu.org> writes:
>> Nothing newer? The last released version of GDB is 15.2, with 16.1
>> around the corner.
>
> But if not, maybe try to downgrade to gdb-10.1n6, since what you have
> now is a development snapshot of GDB 11, which could have bugs.
>
The NetBSD folks could patch gdb-11. The next version is gdb-13 on the
current release redistribution. I am on the netbsd-10 stable release.
=> https://mail-index.netbsd.org/netbsd-users/2024/12/11/msg032056.html .
The frame-resize-pixelwise t setting is enough to bury this bug report
email trail?
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-11 17:00 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-12 9:22 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-12 13:40 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-12 9:22 UTC (permalink / raw)
To: Van Ly, Eli Zaretskii; +Cc: 74496
> The frame-resize-pixelwise t setting is enough to bury this bug report
> email trail?
I came to the conclusion that the "fullscreen" state after CTWM restart
is broken in CTWM. In particular, I conducted the following experiment
with Firefox, Krusader and VLC (using the .ctwmrc you proposed earlier):
- Start them via xterm.
- Use the mouse to resize their window.
- Use the menu in the title bar to make their window full height via
Zoom-V.
- Restart CTWM.
In all cases a further click on Zoom-V does not change the size of the
window to that before the previous Zoom-V. Hence, these applications
behave here just as Emacs. Can you try similar experiments? If they
turn out to do the same as here, you could try to discuss this issue
with the maintainer of CTWM.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-12 9:22 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-12 13:40 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-12 17:18 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-12 13:40 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
> > The frame-resize-pixelwise t setting is enough to bury this bug report
> > email trail?
>
> I came to the conclusion that the "fullscreen" state after CTWM restart
> is broken in CTWM. In particular, I conducted the following experiment
> with Firefox, Krusader and VLC (using the .ctwmrc you proposed earlier):
>
> - Start them via xterm.
>
> - Use the mouse to resize their window.
>
> - Use the menu in the title bar to make their window full height via
> Zoom-V.
>
> - Restart CTWM.
>
> In all cases a further click on Zoom-V does not change the size of the
> window to that before the previous Zoom-V. Hence, these applications
> behave here just as Emacs. Can you try similar experiments? If they
> turn out to do the same as here, you could try to discuss this issue
> with the maintainer of CTWM.
Opening the aperture to "F11 fullscreen" for emacs and firefox, on ctwm
restart, the F11 fullscreen state is persisted. Emacs needs the init
file to set t for frame-resize-pixelwise. Loss of the prior framesize
to the F11 fullscreen after ctwm restart is an acceptable glitch for in
my use case as I don't leave F11 fullscreen in the virtual screen
workspace.
Do other window managers remember their window frame size history prior
to their current size at time of wm restart after restart? I could use
the example to show the CTWM maintainers.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-12 13:40 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-12 17:18 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-13 9:38 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-12 17:18 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> Opening the aperture to "F11 fullscreen" for emacs and firefox, on ctwm
> restart, the F11 fullscreen state is persisted. Emacs needs the init
> file to set t for frame-resize-pixelwise. Loss of the prior framesize
> to the F11 fullscreen after ctwm restart is an acceptable glitch for in
> my use case as I don't leave F11 fullscreen in the virtual screen
> workspace.
If you ever do want to leave it you can use a workaround like this:
(defun f11 ()
(interactive)
(let ((pos (frame-position)))
(if (and (not (frame-parameter nil 'fullscreen))
(< (car pos) 0) (< (cdr pos) 0))
(progn
(set-frame-parameter nil 'fullscreen nil)
(modify-frame-parameters
nil '((left . 20) (top . 20) (width . 80) (height . 24))))
(toggle-frame-fullscreen))))
(global-set-key [f11] 'f11)
> Do other window managers remember their window frame size history prior
> to their current size at time of wm restart after restart? I could use
> the example to show the CTWM maintainers.
The CTWM maintainers will probably tell you that other window managers
do not allow restarts that keep windows alive.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-12 17:18 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-13 9:38 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-13 10:30 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-13 9:38 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
>
> (defun f11 ()
> (interactive)
> (let ((pos (frame-position)))
> (if (and (not (frame-parameter nil 'fullscreen))
> (< (car pos) 0) (< (cdr pos) 0))
> (progn
> (set-frame-parameter nil 'fullscreen nil)
> (modify-frame-parameters
> nil '((left . 20) (top . 20) (width . 80) (height . 24))))
> (toggle-frame-fullscreen))))
>
> (global-set-key [f11] 'f11)
>
Thank you for taking the trouble to compose that snippet.
> > Do other window managers remember their window frame size history prior
> > to their current size at time of wm restart after restart? I could use
> > the example to show the CTWM maintainers.
>
> The CTWM maintainers will probably tell you that other window managers
> do not allow restarts that keep windows alive.
It's probably not worth troubling the CTWM maintainers. The ctwm dot
org email archive is no longer showing content.
To stay on topic on this bug, without frame-resize-pixelwise being set
t, F11 fullscreen achieves maximized fullscreen. When ctwm restart
occurs and when the gap appears on the bottom edge of emacs relative to
the desktop background, couldn't a screen refresh controlled by emacs
call F11 fullscreen, again, and preserve the experience of maximized
fullscreen? That being the case there's no need to insert in init file
(setq-default frame-resize-pixelwise t)
Toggle on the fullboth full screen Window Zoom produces the gap at the
bottom edge before ctwm restart and that is solved by the above init
file setting. Do you see what I mean?
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-13 9:38 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-13 10:30 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-13 11:28 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-13 10:30 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> To stay on topic on this bug, without frame-resize-pixelwise being set
> t, F11 fullscreen achieves maximized fullscreen. When ctwm restart
> occurs and when the gap appears on the bottom edge of emacs relative to
> the desktop background, couldn't a screen refresh controlled by emacs
Automatically? Emacs is oblivious of ctwm restarts. All it gets are
unmap, map and configure events.
> call F11 fullscreen, again, and preserve the experience of maximized
> fullscreen? That being the case there's no need to insert in init file
>
> (setq-default frame-resize-pixelwise t)
>
> Toggle on the fullboth full screen Window Zoom produces the gap at the
> bottom edge before ctwm restart and that is solved by the above init
> file setting. Do you see what I mean?
Not really. The gap results from the fact that after ctwm restarts the
frame has become "normal" again and ctwm applies the resize hints on it.
If 'frame-resize-pixelwise' is nil, ctwm rounds the height to the next
multiple of the frame's line height (+ the basic size).
But you might be able to enhance the f11 specification I sent you
earlier to first shrink the frame by a few pixels and then toggle the
fullboth status again. So you would have to hit f11 after each ctwm
restart.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-13 10:30 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-13 11:28 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-14 9:20 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-13 11:28 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
Emacs is oblivious of ctwm restarts. All it gets are
> unmap, map and configure events.
A watch guard on the full height parameter would notice the effect ctwm
restart has taken place and the value has changed but maybe emacs can't
tell the difference between human or environment invoked change on the
height parameter. A heuristic could suggest to emacs ctwm restarted
when the bottom edge is raised less than 10 pixels.
> > call F11 fullscreen, again, and preserve the experience of maximized
> > fullscreen? That being the case there's no need to insert in init file
> >
> > (setq-default frame-resize-pixelwise t)
> >
> > Toggle on the fullboth full screen Window Zoom produces the gap at the
> > bottom edge before ctwm restart and that is solved by the above init
> > file setting. Do you see what I mean?
>
> Not really. The gap results from the fact that after ctwm restarts the
> frame has become "normal" again and ctwm applies the resize hints on it.
> If 'frame-resize-pixelwise' is nil, ctwm rounds the height to the next
> multiple of the frame's line height (+ the basic size).
Why is it that F11 fullscreen maximizes the frame without gap at bottom?
When frame-resize-pixelwise is nil, shouldn't the frame's line height
effect leave a gap at bottom?
> But you might be able to enhance the f11 specification I sent you
> earlier to first shrink the frame by a few pixels and then toggle the
> fullboth status again. So you would have to hit f11 after each ctwm
> restart.
Before knowing to apply frame-resize-pixelwise t, as is, I would hit F11
to regain the maximized fullscreen without gap after ctwm restart.
With frame-resize-pixelwise t I don't need to hit F11 after restart
because the maximized fullscreen without gap persists.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-13 11:28 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-14 9:20 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 13:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-14 9:20 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
[-- Attachment #1: Type: text/plain, Size: 1294 bytes --]
> A watch guard on the full height parameter would notice the effect ctwm
> restart has taken place and the value has changed but maybe emacs can't
> tell the difference between human or environment invoked change on the
> height parameter. A heuristic could suggest to emacs ctwm restarted
> when the bottom edge is raised less than 10 pixels.
I attached a function you can add to 'window-size-change-functions'. It
seems to work here but make sure to use it only with a Lucid build.
With a GTK build I was able to crash CTWM as
ctwm: restarting: ctwm
sh: 1: /usr/X11R7/libexec/ctwm_font_size: not found
sh: 1: /usr/X11R7/libexec/ctwm_app_menu: not found
/usr/bin/m4: syscmd subprocess failed
xterm: fatal IO error 11 (Die Ressource ist zur Zeit nicht verfügbar) or KillClient on X server ":0.0"
xterm: fatal IO error 11 (Die Ressource ist zur Zeit nicht verfügbar) or KillClient on X server ":0.0"
X connection to :0 broken (explicit kill or server shutdown).
> Why is it that F11 fullscreen maximizes the frame without gap at bottom?
> When frame-resize-pixelwise is nil, shouldn't the frame's line height
> effect leave a gap at bottom?
Apparently F11 is not affected by size hint increments. The X11 manuals are
not clear about this.
martin
[-- Attachment #2: ctwm-restart.el --]
[-- Type: text/x-emacs-lisp, Size: 568 bytes --]
(defun ctwm-restart (frame)
(let ((pos (frame-position frame)))
(when (and (not (eq (frame-parameter frame 'fullscreen) 'fullboth))
(< (car pos) 0) (< (cdr pos) 0)
(>= (frame-outer-width frame) (display-pixel-width))
(>= (frame-outer-height frame) (display-pixel-height)))
(set-frame-parameter frame 'fullscreen nil)
(modify-frame-parameters
frame `((width . ,(display-pixel-width))
(height . ,(display-pixel-height))))
(toggle-frame-fullscreen))))
(add-hook 'window-size-change-functions 'ctwm-restart)
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-14 9:20 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-19 13:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 14:57 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 66+ messages in thread
From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-19 13:42 UTC (permalink / raw)
To: martin rudalics; +Cc: eliz, 74496
martin rudalics <rudalics@gmx.at> writes:
>
> I attached a function you can add to 'window-size-change-functions'. It
> seems to work here but make sure to use it only with a Lucid build.
>
Without
(setopt frame-resize-pixelwise t)
Seems to work for fullboth but not maximized on 30.0.92.
F11 maximized will shift after ctwm restart and won't self correct.
With
(setopt frame-resize-pixelwise t) ;and without ctwm-restart window-size-change-functions hook
fullboth and maximized work on 30.0.92.
--
vl
^ permalink raw reply [flat|nested] 66+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts
2024-12-19 13:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-19 14:57 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 66+ messages in thread
From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-19 14:57 UTC (permalink / raw)
To: Van Ly; +Cc: eliz, 74496
> Without
>
> (setopt frame-resize-pixelwise t)
>
> Seems to work for fullboth but not maximized on 30.0.92.
It will only work for fullboth. With practically all window managers
that accept size hints you have to set 'frame-resize-pixelwise' to
non-nil to make maximized, fullheight and fullwidth work. You don't
need it on Windows because that does not process size hints.
> F11 maximized will shift after ctwm restart and won't self correct.
What is "F11 maximized"? F11 is "fullboth" (it was called "fullscreen"
once). "Self correct" will work only if the top left corner of the
frame has negative coordinates. This holds only for fullboth frames.
> With
>
> (setopt frame-resize-pixelwise t) ;and without ctwm-restart window-size-change-functions hook
>
> fullboth and maximized work on 30.0.92.
Yes. But you wanted to make F11 survive restarts without setting
'frame-resize-pixelwise'.
martin
^ permalink raw reply [flat|nested] 66+ messages in thread
end of thread, other threads:[~2024-12-19 14:57 UTC | newest]
Thread overview: 66+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-23 18:28 bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 10:23 ` Eli Zaretskii
2024-11-30 10:36 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 13:03 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 16:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 18:21 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 19:01 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-30 19:25 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 8:46 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 9:59 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 11:05 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 14:26 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-01 17:50 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 16:04 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-03 8:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 5:58 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 9:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 2:39 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 9:23 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 11:14 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-05 18:02 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-06 10:42 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 14:03 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 15:52 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 16:33 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 17:36 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 6:26 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 16:57 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 18:01 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 9:10 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 14:48 ` Eli Zaretskii
2024-12-07 13:12 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 11:02 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 15:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-02 16:22 ` Eli Zaretskii
2024-12-04 5:15 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 9:52 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-07 11:11 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 10:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 12:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 13:58 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 15:44 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-08 16:16 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 7:35 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 9:11 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 11:11 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-10 15:54 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-10 17:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 14:51 ` Eli Zaretskii
2024-12-09 17:14 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 18:13 ` Eli Zaretskii
2024-12-09 18:30 ` Eli Zaretskii
2024-12-11 17:00 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-12 9:22 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-12 13:40 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-12 17:18 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-13 9:38 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-13 10:30 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-13 11:28 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-14 9:20 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 13:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-19 14:57 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-09 22:42 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-03 8:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 5:47 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-04 9:53 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
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).