emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs's set-frame-size can not work well with gnome-shell?


From: Dmitry Gutov
Subject: Re: Emacs's set-frame-size can not work well with gnome-shell?
Date: Sun, 26 Jan 2020 14:02:49 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

On 26.01.2020 11:43, martin rudalics wrote:
OK.  Someone else swallows our resize request and I have no idea who and
why.  Can you try these steps once more with xterm.diff applied?  I'll
attach it again.

Okay. With xterm.diff applied it works like this:

Breakpoint 1 is hit. I add breakpoint 2. Hit continue -> B 2 is hit.

Call resize-test again (target height is the same): B1 is hit, B2 is not.

Change resize-test to call set-frame-height with a different HEIGHT (e.g. 30). Call resize-test: B1 and B2 are both hit.

Call resize-test again (however many times): only B1 is hit.

IOW, something somewhere remembers the last value we've set HEIGHT to, and doesn't send any more configureEvent's for the same value.

The actual visible height of the child frame still doesn't change, meanwhile.

(gdb) b frame.c:3572
Breakpoint 3 at 0x4e8d2: file frame.c, line 3572.
(gdb) run -Q
Starting program: /home/dgutov/vc/emacs/src/emacs -Q
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffefcc5700 (LWP 23475)]
[New Thread 0x7fffef450700 (LWP 23476)]
[New Thread 0x7fffee842700 (LWP 23477)]
warning: Corrupted shared library list: 0x5555563e2fd0 != 0x5555560c3f00
[New Thread 0x7fffed816700 (LWP 23481)]
warning: Corrupted shared library list: 0x55555626b400 != 0x5555563e2fd0

Thread 1 "emacs" hit Breakpoint 3, Fset_frame_height (frame=<optimized out>, height=make_fixnum(20), pretend=XIL(0), pixelwise=XIL(0)) at frame.c:3572
3572      adjust_frame_size (f, -1, pixel_height, 1, !NILP (pretend), Qheight);
(gdb) b xterm.c:8904
Breakpoint 4 at 0x55555565c97c: file xterm.c, line 8904.
(gdb) c
Continuing.

Thread 1 "emacs" hit Breakpoint 4, handle_one_xevent (dpyinfo=0x555555fda800, event=0x7fffffffcad0, finish=0x555555b9df30 <current_finish>, hold_quit=0x7fffffffcd50)
    at xterm.c:8904
8904          configureEvent = *event;
(gdb) p event
$1 = (const XEvent *) 0x7fffffffcad0
(gdb) c
Continuing.

Thread 1 "emacs" hit Breakpoint 3, Fset_frame_height (frame=<optimized out>, height=make_fixnum(20), pretend=XIL(0), pixelwise=XIL(0)) at frame.c:3572
3572      adjust_frame_size (f, -1, pixel_height, 1, !NILP (pretend), Qheight);
(gdb) c
Continuing.

Thread 1 "emacs" hit Breakpoint 3, Fset_frame_height (frame=<optimized out>, height=make_fixnum(30), pretend=XIL(0), pixelwise=XIL(0)) at frame.c:3572
3572      adjust_frame_size (f, -1, pixel_height, 1, !NILP (pretend), Qheight);
(gdb) c
Continuing.

Thread 1 "emacs" hit Breakpoint 4, handle_one_xevent (dpyinfo=0x555555fda800, event=0x7fffffffcad0, finish=0x555555b9df30 <current_finish>, hold_quit=0x7fffffffcd50)
    at xterm.c:8904
8904          configureEvent = *event;
(gdb) c
Continuing.

Thread 1 "emacs" hit Breakpoint 3, Fset_frame_height (frame=<optimized out>, height=make_fixnum(30), pretend=XIL(0), pixelwise=XIL(0)) at frame.c:3572
3572      adjust_frame_size (f, -1, pixel_height, 1, !NILP (pretend), Qheight);
(gdb) c
Continuing.

Thread 1 "emacs" hit Breakpoint 3, Fset_frame_height (frame=<optimized out>, height=make_fixnum(30), pretend=XIL(0), pixelwise=XIL(0)) at frame.c:3572
3572      adjust_frame_size (f, -1, pixel_height, 1, !NILP (pretend), Qheight);
(gdb) c
Continuing.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]