* 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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 2024-12-20 6:37 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 68+ 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] 68+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts 2024-12-19 14:57 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-20 6:37 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-12-20 9:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 68+ messages in thread From: Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-20 6:37 UTC (permalink / raw) To: martin rudalics; +Cc: eliz, 74496 martin rudalics <rudalics@gmx.at> writes: > > 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. For me, ctwm's windowframe resize zoom, zoom vertical, zoom horizontal alters the "full*" parameter value and leaves in the borderdecoration. The F11 'toggle-frame-fullscreen removes the border and is fullscreen "maximized". > > > 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'. I think I want F11 to maximized fullscreen to survive ctwm restart and that means (setopt frame-resize-pixelwise t) ;is in init.el or when it becomes the implicit default -- vl ^ permalink raw reply [flat|nested] 68+ messages in thread
* bug#74496: 30.0.91; fullscreen frame set with F11 is shifted when ctwm restarts 2024-12-20 6:37 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-20 9:24 ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 0 replies; 68+ messages in thread From: martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-20 9:24 UTC (permalink / raw) To: Van Ly; +Cc: eliz, 74496 > The F11 'toggle-frame-fullscreen removes the border Not necessarily. The border is left alone but the frame's window is typically enlarged and moved in a way that makes the border outside the visible portion of the frame. > and is fullscreen "maximized". This is what 'toggle-frame-maximized' should do. > I think I want F11 to maximized fullscreen to survive ctwm restart and that means > > (setopt frame-resize-pixelwise t) ;is in init.el or when it becomes the implicit default You have to decide whether you want to see the borders or not. If you want to see the borders use 'toggle-frame-maximized' (ESC <f10>). If you don't want to see them use 'toggle-frame-fullscreen' (f11). martin ^ permalink raw reply [flat|nested] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ 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; 68+ 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] 68+ messages in thread
end of thread, other threads:[~2024-12-20 9:24 UTC | newest] Thread overview: 68+ 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-20 6:37 ` Van Ly via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-12-20 9:24 ` 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).