* bug#23925: 25.0.95; display broken when maximizing frame @ 2016-07-09 3:02 Roland Winkler 2016-07-09 7:11 ` Eli Zaretskii ` (2 more replies) 0 siblings, 3 replies; 36+ messages in thread From: Roland Winkler @ 2016-07-09 3:02 UTC (permalink / raw) To: 23925 After a long time I build again a more recent emacs. Unfortunately it gives me a rather unpleasant experience when maximizing the emacs frame (using the maximize function of the xfce window manager): somehow the frame is not redrawn properly, emacs seems to be unaware of the new frame size and the minibuffer disappears completely. Instead the desktop background is displayed in large parts of the emacs frame. Unmaximizing makes the problem go away. But obviously that is no solution. I can provide more details if you let me know what would be interesting. In GNU Emacs 25.0.95.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.9, cairo version 1.14.6) of 2016-07-08 built on regnitz Windowing system distributor 'The X.Org Foundation', version 11.0.11803000 System Description: Ubuntu 16.04 LTS Configured using: 'configure --with-xwidgets --with-x-toolkit=gtk3 --with-cairo' Configured features: XPM JPEG TIFF GIF PNG RSVG CAIRO IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XWIDGETS Important settings: value of $LC_COLLATE: C value of $LANG: en_US.utf8 value of $XMODIFIERS: locale-coding-system: utf-8-unix ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 3:02 bug#23925: 25.0.95; display broken when maximizing frame Roland Winkler @ 2016-07-09 7:11 ` Eli Zaretskii 2016-07-09 9:45 ` Clément Pit--Claudel 2016-07-09 21:05 ` Roland Winkler 2016-07-09 9:20 ` martin rudalics 2016-07-09 17:32 ` Glenn Morris 2 siblings, 2 replies; 36+ messages in thread From: Eli Zaretskii @ 2016-07-09 7:11 UTC (permalink / raw) To: Roland Winkler; +Cc: 23925 > Date: Fri, 8 Jul 2016 22:02:23 -0500 > From: "Roland Winkler" <winkler@gnu.org> > > > After a long time I build again a more recent emacs. Unfortunately > it gives me a rather unpleasant experience when maximizing the emacs > frame (using the maximize function of the xfce window manager): > somehow the frame is not redrawn properly, emacs seems to be unaware > of the new frame size and the minibuffer disappears completely. > Instead the desktop background is displayed in large parts of the > emacs frame. Unmaximizing makes the problem go away. But obviously > that is no solution. I can provide more details if you let me know > what would be interesting. Yes, please provide more details. We are very interested, as we are close to releasing Emacs 25.1, of which 25.0.95 is the latest pretest. What you told so far is disturbing, but doesn't give any clues where to look for the root cause of the trouble. I don't think we've heard such reports in a long, long time. > Configured using: > 'configure --with-xwidgets --with-x-toolkit=gtk3 --with-cairo' One idea I do have is to build without --with-cairo, and see if the problem goes away. The Cairo back-end is still experimental, and we know of several problems with it. Thanks. ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 7:11 ` Eli Zaretskii @ 2016-07-09 9:45 ` Clément Pit--Claudel 2016-07-09 15:30 ` martin rudalics ` (2 more replies) 2016-07-09 21:05 ` Roland Winkler 1 sibling, 3 replies; 36+ messages in thread From: Clément Pit--Claudel @ 2016-07-09 9:45 UTC (permalink / raw) To: 23925 [-- Attachment #1.1.1: Type: text/plain, Size: 3053 bytes --] On 2016-07-09 09:11, Eli Zaretskii wrote: >> Date: Fri, 8 Jul 2016 22:02:23 -0500 >> From: "Roland Winkler" <winkler@gnu.org> >> >> >> After a long time I build again a more recent emacs. Unfortunately >> it gives me a rather unpleasant experience when maximizing the emacs >> frame (using the maximize function of the xfce window manager): >> somehow the frame is not redrawn properly, emacs seems to be unaware >> of the new frame size and the minibuffer disappears completely. >> Instead the desktop background is displayed in large parts of the >> emacs frame. Unmaximizing makes the problem go away. But obviously >> that is no solution. I can provide more details if you let me know >> what would be interesting. > > Yes, please provide more details. We are very interested, as we are > close to releasing Emacs 25.1, of which 25.0.95 is the latest > pretest. What you told so far is disturbing, but doesn't give any > clues where to look for the root cause of the trouble. I don't think > we've heard such reports in a long, long time. Hi Eli and Roland, I can reproduce this. I don't usually build with Cairo, but I just did, and the problem does happen here as well. Some small notes: - Resizing the frames using the handles works fine - Maximizing the frame causes the maximized region to not be redisplayed - Running the following on a non-maximized frame) also causes a display glitch: (set-face-attribute 'default nil :height 150) (when the frame extends to accommodate the larger font size, the newly added areas do not get redisplayed) - I have attached a two screenshots showing how the maximized frame looks. The top left (corresponding to the previous size) is properly updated, while the rest of the frame displays what was on the screen when the frame was maximized - Not sure if it's related or if it should be another bug: font anti-aliasing is not the same when when maximized and unmaximized (see screenshots). Here is the output of the commands that martin suggested: (display-monitor-attributes-list) => (((name . "DP-2") (geometry 0 0 1920 1080) (workarea 0 0 1920 1055) (mm-size 344 193) (frames #<frame **scratch* 0x12bb5a0>) (source . "Gdk"))) (frame-geometry) => ((outer-position 0 . 0) (outer-size 1920 . 1055) (external-border-size 0 . 1) (title-bar-size 0 . 23) (menu-bar-external . t) (menu-bar-size 0 . 0) (tool-bar-external . t) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 0)) (setq frame-size-history '(5)) => (5) (frame--size-history) => nil (In other buffer:) Frame size history of #<frame **scratch* 0x12bb5a0> x-handle-net-wm-state nil (nil nil) My version info: In GNU Emacs 25.1.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8, cairo version 1.13.1) of 2016-06-26 built on clem-w50-mint Repository revision: 431437b6593320dc5a7a8aac9c911c778a656117 Windowing system distributor 'The X.Org Foundation', version 11.0.11501000 System Description: Linux Mint 17.3 Rosa Cheers, Clément [-- Attachment #1.1.2: Screenshot from 2016-07-09 11:35:30.png --] [-- Type: image/png, Size: 225731 bytes --] [-- Attachment #1.1.3: Screenshot from 2016-07-09 11:40:28.png --] [-- Type: image/png, Size: 242687 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 9:45 ` Clément Pit--Claudel @ 2016-07-09 15:30 ` martin rudalics 2016-07-10 1:52 ` Clément Pit--Claudel 2018-11-22 14:12 ` Dmitry Gutov 2018-12-11 3:36 ` Dmitry Gutov 2 siblings, 1 reply; 36+ messages in thread From: martin rudalics @ 2016-07-09 15:30 UTC (permalink / raw) To: Clément Pit--Claudel, 23925 > I can reproduce this. I don't usually build with Cairo, but I just did, and the problem does happen here as well. But you can't reproduce the problem without Cairo. Correct? > (frame-geometry) > => ((outer-position 0 . 0) (outer-size 1920 . 1055) (external-border-size 0 . 1) (title-bar-size 0 . 23) (menu-bar-external . t) (menu-bar-size 0 . 0) (tool-bar-external . t) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 0)) In this state please also evaluate (window--dump-frame) and post the contents of buffer *window-frame-dump*. Thanks, martin ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 15:30 ` martin rudalics @ 2016-07-10 1:52 ` Clément Pit--Claudel 2016-07-11 9:14 ` martin rudalics 0 siblings, 1 reply; 36+ messages in thread From: Clément Pit--Claudel @ 2016-07-10 1:52 UTC (permalink / raw) To: martin rudalics, 23925 [-- Attachment #1.1: Type: text/plain, Size: 1053 bytes --] On 2016-07-09 17:30, martin rudalics wrote: > In this state please also evaluate > > (window--dump-frame) frame pixel: 1920 x 1030 cols/lines: 240 x 64 units: 8 x 16 frame text pixel: 1904 x 1030 cols/lines: 238 x 64 tool: 0 scroll: 0/0 fringe: 16 border: 0 right: 0 bottom: 0 #<window 3 on *scratch*> parent: nil pixel left: 0 top: 0 size: 1920 x 1014 new: 669 char left: 0 top: 0 size: 240 x 63 new: 84 normal: 1.0 x 1.0 new: 1.0 body pixel: 1904 x 979 char: 238 x 61 width left fringe: 8 left margin: 0 right margin: 0 width right fringe: 8 scroll-bar: 0 divider: 0 height header-line: 16 mode-line: 19 divider: 0 #<window 4 on *Minibuf-0*> parent: nil pixel left: 0 top: 1014 size: 1920 x 16 new: 0 char left: 0 top: 63 size: 240 x 1 new: 84 normal: 1.0 x 1.0 new: ignore body pixel: 1904 x 16 char: 238 x 1 width left fringe: 8 left margin: 0 right margin: 0 width right fringe: 8 scroll-bar: 0 divider: 0 height header-line: 0 mode-line: 0 divider: 0 [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-10 1:52 ` Clément Pit--Claudel @ 2016-07-11 9:14 ` martin rudalics 2016-07-11 17:47 ` Clément Pit--Claudel 0 siblings, 1 reply; 36+ messages in thread From: martin rudalics @ 2016-07-11 9:14 UTC (permalink / raw) To: Clément Pit--Claudel, 23925, Roland Winkler Clément: > (((name . "DP-2") (geometry 0 0 1920 1080) (workarea 0 0 1920 1055) (mm-size 344 193) (frames #<frame **scratch* 0x12bb5a0>) (source . "Gdk"))) > ((outer-position 0 . 0) (outer-size 1920 . 1055) (external-border-size 0 . 1) (title-bar-size 0 . 23) (menu-bar-external . t) (menu-bar-size 0 . 0) (tool-bar-external . t) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 0)) > frame pixel: 1920 x 1030 cols/lines: 240 x 64 units: 8 x 16 > frame text pixel: 1904 x 1030 cols/lines: 238 x 64 > tool: 0 scroll: 0/0 fringe: 16 border: 0 right: 0 bottom: 0 > > #<window 3 on *scratch*> parent: nil > pixel left: 0 top: 0 size: 1920 x 1014 new: 669 > char left: 0 top: 0 size: 240 x 63 new: 84 > normal: 1.0 x 1.0 new: 1.0 > body pixel: 1904 x 979 char: 238 x 61 > width left fringe: 8 left margin: 0 right margin: 0 > width right fringe: 8 scroll-bar: 0 divider: 0 > height header-line: 16 mode-line: 19 divider: 0 > > #<window 4 on *Minibuf-0*> parent: nil > pixel left: 0 top: 1014 size: 1920 x 16 new: 0 > char left: 0 top: 63 size: 240 x 1 new: 84 > normal: 1.0 x 1.0 new: ignore > body pixel: 1904 x 16 char: 238 x 1 > width left fringe: 8 left margin: 0 right margin: 0 > width right fringe: 8 scroll-bar: 0 divider: 0 > height header-line: 0 mode-line: 0 divider: 0 Roland: > (((name . "DP2") (geometry 0 0 1920 1080) (workarea 0 25 1920 1055) (mm-size 510 287) (frames #<frame emacs@regnitz 0x1244a90>) (source . "Gdk"))) > ((outer-position 0 . 25) (outer-size 1913 . 1052) (external-border-size 5 . 5) (title-bar-size 0 . 18) (menu-bar-external . t) (menu-bar-size 1903 . 22) (tool-bar-external . t) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1)) > frame pixel: 1903 x 1002 cols/lines: 191 x 50 units: 10 x 20 > frame text pixel: 1870 x 1000 cols/lines: 187 x 50 > tool: 0 scroll: 15/0 fringe: 16 border: 1 right: 0 bottom: 0 > > #<window 3 on *Messages*> parent: nil > pixel left: 0 top: 0 size: 1901 x 980 new: 820 > char left: 0 top: 0 size: 190 x 49 new: 38 > normal: 1.0 x 1.0 new: nil > body pixel: 1870 x 960 char: 187 x 48 > width left fringe: 8 left margin: 0 right margin: 0 > width right fringe: 8 scroll-bar: 15 divider: 0 > height header-line: 0 mode-line: 20 divider: 0 > > #<window 4 on *Minibuf-0*> parent: nil > pixel left: 0 top: 980 size: 1901 x 20 new: 0 > char left: 0 top: 49 size: 190 x 1 new: 1 > normal: 1.0 x 1.0 new: 0 > body pixel: 1870 x 20 char: 187 x 1 > width left fringe: 8 left margin: 0 right margin: 0 > width right fringe: 8 scroll-bar: 15 divider: 0 > height header-line: 0 mode-line: 0 divider: 0 All these values are as expected - I suppose that they are the same as in a non-cairo GTK session. What happens when you type F11 (‘toggle-frame-fullscreen’) in a normal frame? Also, could one of you try a Lucid or Motif build with cairo and see what happens? martin ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-11 9:14 ` martin rudalics @ 2016-07-11 17:47 ` Clément Pit--Claudel 2016-07-12 7:29 ` martin rudalics 0 siblings, 1 reply; 36+ messages in thread From: Clément Pit--Claudel @ 2016-07-11 17:47 UTC (permalink / raw) To: martin rudalics, 23925, Roland Winkler [-- Attachment #1.1: Type: text/plain, Size: 1640 bytes --] On 2016-07-11 11:14, martin rudalics wrote: > All these values are as expected - I suppose that they are the same as > in a non-cairo GTK session. What happens when you type F11 > (‘toggle-frame-fullscreen’) in a normal frame? Also, could one of you > try a Lucid or Motif build with cairo and see what happens? F11 in a non-cairo session works fine; in a cairo one, it shows exactly the same problem. In a non-cairo build, I get: ((outer-position 0 . 0) (outer-size 1920 . 1055) (external-border-size 0 . 1) (title-bar-size 0 . 23) (menu-bar-external . t) (menu-bar-size 1920 . 22) (tool-bar-external . t) (tool-bar-position . top) (tool-bar-size 1920 . 44) (internal-border-width . 0)) frame pixel: 1920 x 964 cols/lines: 240 x 56 units: 8 x 17 frame text pixel: 1891 x 964 cols/lines: 236 x 56 tool: 0 scroll: 13/0 fringe: 16 border: 0 right: 0 bottom: 0 #<window 3 on *scratch*> parent: nil pixel left: 0 top: 0 size: 1920 x 930 new: 947 char left: 0 top: 0 size: 240 x 54 new: 54 normal: 1.0 x 1.0 new: nil body pixel: 1891 x 913 char: 236 x 53 width left fringe: 8 left margin: 0 right margin: 0 width right fringe: 8 scroll-bar: 13 divider: 0 height header-line: 0 mode-line: 17 divider: 0 #<window 4 on *Minibuf-0*> parent: nil pixel left: 0 top: 930 size: 1920 x 34 new: 0 char left: 0 top: 54 size: 240 x 2 new: 1 normal: 1.0 x 1.0 new: 0 body pixel: 1891 x 34 char: 236 x 2 width left fringe: 8 left margin: 0 right margin: 0 width right fringe: 8 scroll-bar: 13 divider: 0 height header-line: 0 mode-line: 0 divider: 0 [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-11 17:47 ` Clément Pit--Claudel @ 2016-07-12 7:29 ` martin rudalics 2016-07-12 9:29 ` Clément Pit--Claudel 2016-07-13 14:58 ` Roland Winkler 0 siblings, 2 replies; 36+ messages in thread From: martin rudalics @ 2016-07-12 7:29 UTC (permalink / raw) To: Clément Pit--Claudel, 23925, Roland Winkler > In a non-cairo build, I get: > > ((outer-position 0 . 0) (outer-size 1920 . 1055) (external-border-size 0 . 1) (title-bar-size 0 . 23) (menu-bar-external . t) (menu-bar-size 1920 . 22) (tool-bar-external . t) (tool-bar-position . top) (tool-bar-size 1920 . 44) (internal-border-width . 0)) > > frame pixel: 1920 x 964 cols/lines: 240 x 56 units: 8 x 17 > frame text pixel: 1891 x 964 cols/lines: 236 x 56 > tool: 0 scroll: 13/0 fringe: 16 border: 0 right: 0 bottom: 0 > > #<window 3 on *scratch*> parent: nil > pixel left: 0 top: 0 size: 1920 x 930 new: 947 > char left: 0 top: 0 size: 240 x 54 new: 54 > normal: 1.0 x 1.0 new: nil > body pixel: 1891 x 913 char: 236 x 53 > width left fringe: 8 left margin: 0 right margin: 0 > width right fringe: 8 scroll-bar: 13 divider: 0 > height header-line: 0 mode-line: 17 divider: 0 > > #<window 4 on *Minibuf-0*> parent: nil > pixel left: 0 top: 930 size: 1920 x 34 new: 0 > char left: 0 top: 54 size: 240 x 2 new: 1 > normal: 1.0 x 1.0 new: 0 > body pixel: 1891 x 34 char: 236 x 2 > width left fringe: 8 left margin: 0 right margin: 0 > width right fringe: 8 scroll-bar: 13 divider: 0 > height header-line: 0 mode-line: 0 divider: 0 Is it on purpose that you used a tool bar, a menu bar, scroll bars and a different font height in the non-cairo build? This way the results are not easily comparable. Anyway, I meanwhile built with cairo myself. The GTK build exhibits more or less the original problem - though sometimes the frame seems to maximize correctly. In addition, scroll bar sliders may disappear at will and resizing the echo area doesn't behave well either. A Lucid build shows similar symptoms - its scroll bars behave better, though. martin ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-12 7:29 ` martin rudalics @ 2016-07-12 9:29 ` Clément Pit--Claudel 2016-07-13 14:58 ` Roland Winkler 1 sibling, 0 replies; 36+ messages in thread From: Clément Pit--Claudel @ 2016-07-12 9:29 UTC (permalink / raw) To: martin rudalics, 23925, Roland Winkler [-- Attachment #1.1: Type: text/plain, Size: 277 bytes --] On 2016-07-12 09:29, martin rudalics wrote: > Is it on purpose that you used a tool bar, a menu bar, scroll bars and a > different font height in the non-cairo build? This way the results are > not easily comparable. Ah, sorry. I used emacs -Q for the non-cairo one. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-12 7:29 ` martin rudalics 2016-07-12 9:29 ` Clément Pit--Claudel @ 2016-07-13 14:58 ` Roland Winkler 2016-07-13 17:34 ` martin rudalics 1 sibling, 1 reply; 36+ messages in thread From: Roland Winkler @ 2016-07-13 14:58 UTC (permalink / raw) To: martin rudalics; +Cc: 23925, Clément Pit--Claudel On Tue Jul 12 2016 martin rudalics wrote: > Anyway, I meanwhile built with cairo myself. The GTK build > exhibits more or less the original problem - though sometimes the > frame seems to maximize correctly. In addition, scroll bar > sliders may disappear at will and resizing the echo area doesn't > behave well either. > > A Lucid build shows similar symptoms - its scroll bars behave > better, though. In the meanwhile, I have also built the cairo port with lucid and motif. In both case emacs shows the same bug as the gtk build. Again, I can provide more details as needed, though I expect that you are better off with your own builds. Roland ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-13 14:58 ` Roland Winkler @ 2016-07-13 17:34 ` martin rudalics 0 siblings, 0 replies; 36+ messages in thread From: martin rudalics @ 2016-07-13 17:34 UTC (permalink / raw) To: Roland Winkler; +Cc: 23925, Clément Pit--Claudel > In the meanwhile, I have also built the cairo port with lucid and > motif. In both case emacs shows the same bug as the gtk build. > Again, I can provide more details as needed, though I expect that > you are better off with your own builds. I'm afraid I can't do much about this anyway. All these builds are seriously flawed in many aspects. People should use them _exclusively_ for fixing these flaws. martin ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 9:45 ` Clément Pit--Claudel 2016-07-09 15:30 ` martin rudalics @ 2018-11-22 14:12 ` Dmitry Gutov 2018-12-11 1:40 ` Dmitry Gutov 2018-12-11 3:36 ` Dmitry Gutov 2 siblings, 1 reply; 36+ messages in thread From: Dmitry Gutov @ 2018-11-22 14:12 UTC (permalink / raw) To: Clément Pit--Claudel, 23925; +Cc: Roland Winkler Hi all, On 09.07.2016 12:45, Clément Pit--Claudel wrote: > - Resizing the frames using the handles works fine > - Maximizing the frame causes the maximized region to not be redisplayed > - Running the following on a non-maximized frame) also causes a display glitch: > (set-face-attribute 'default nil :height 150) > (when the frame extends to accommodate the larger font size, the newly added areas do not get redisplayed) > - I have attached a two screenshots showing how the maximized frame looks. The top left (corresponding to the previous size) is properly updated, while the rest of the frame displays what was on the screen when the frame was maximized > - Not sure if it's related or if it should be another bug: font anti-aliasing is not the same when when maximized and unmaximized (see screenshots). I have just tried a --with-cairo build of the latest master, and can't repro any of the symptoms described here, as long as Emacs is launched with GDK_SCALE=1 (I have a HiDPI screen, and redisplay with scale=2 looks very broken). ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2018-11-22 14:12 ` Dmitry Gutov @ 2018-12-11 1:40 ` Dmitry Gutov 2018-12-17 19:28 ` Clément Pit-Claudel 0 siblings, 1 reply; 36+ messages in thread From: Dmitry Gutov @ 2018-12-11 1:40 UTC (permalink / raw) To: Clément Pit--Claudel, 23925; +Cc: Roland Winkler On 22.11.2018 16:12, Dmitry Gutov wrote: > I have just tried a --with-cairo build of the latest master, and can't > repro any of the symptoms described here, as long as Emacs is launched > with GDK_SCALE=1 (I have a HiDPI screen, and redisplay with scale=2 > looks very broken). And with the current emacs-26 branch, even that is not a problem. So to sum up, I'm failing to reproduce any of the problems described in this bug report. Could any of the previous commenters try? ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2018-12-11 1:40 ` Dmitry Gutov @ 2018-12-17 19:28 ` Clément Pit-Claudel 2019-03-26 2:12 ` YAMAMOTO Mitsuharu 2019-06-18 20:03 ` Clément Pit-Claudel 0 siblings, 2 replies; 36+ messages in thread From: Clément Pit-Claudel @ 2018-12-17 19:28 UTC (permalink / raw) To: Dmitry Gutov, 23925; +Cc: Roland Winkler [-- Attachment #1.1: Type: text/plain, Size: 617 bytes --] On 10/12/2018 20.40, Dmitry Gutov wrote: > On 22.11.2018 16:12, Dmitry Gutov wrote: > >> I have just tried a --with-cairo build of the latest master, and can't repro any of the symptoms described here, as long as Emacs is launched with GDK_SCALE=1 (I have a HiDPI screen, and redisplay with scale=2 looks very broken). > > And with the current emacs-26 branch, even that is not a problem. > > So to sum up, I'm failing to reproduce any of the problems described in this bug report. Could any of the previous commenters try? I just tried it again, on master. I can't reproduce the problem any more. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2018-12-17 19:28 ` Clément Pit-Claudel @ 2019-03-26 2:12 ` YAMAMOTO Mitsuharu 2019-06-18 20:03 ` Clément Pit-Claudel 1 sibling, 0 replies; 36+ messages in thread From: YAMAMOTO Mitsuharu @ 2019-03-26 2:12 UTC (permalink / raw) To: Roland Winkler; +Cc: 23925, Clément Pit-Claudel, Dmitry Gutov On Tue, 18 Dec 2018 04:28:17 +0900, Clément Pit-Claudel wrote: > > >> I have just tried a --with-cairo build of the latest master, and can't repro any of the symptoms described here, as long as Emacs is launched with GDK_SCALE=1 (I have a HiDPI screen, and redisplay with scale=2 looks very broken). > > > > And with the current emacs-26 branch, even that is not a problem. > > > > So to sum up, I'm failing to reproduce any of the problems described in this bug report. Could any of the previous commenters try? > > I just tried it again, on master. I can't reproduce the problem any more. With cairo, I can still see the problem that enlarging the frame by mouse does not update the newly added area on master, with XQuartz on macOS. The following patch works for me. Does the OP still have the similar problem on master? If so, could you try the patch below? YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp diff --git a/src/xterm.c b/src/xterm.c index 1b0c2f5ec5..ec89091d2a 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -299,6 +299,10 @@ record_event (char *locus, int type) #define FRAME_CR_CONTEXT(f) ((f)->output_data.x->cr_context) #define FRAME_CR_SURFACE(f) ((f)->output_data.x->cr_surface) +#define FRAME_CR_SURFACE_DESIRED_WIDTH(f) \ + ((f)->output_data.x->cr_surface_desired_width) +#define FRAME_CR_SURFACE_DESIRED_HEIGHT(f) \ + ((f)->output_data.x->cr_surface_desired_height) static struct x_gc_ext_data * x_gc_get_ext_data (struct frame *f, GC gc, int create_if_not_found_p) @@ -333,6 +337,22 @@ x_extension_initialize (struct x_display_info *dpyinfo) dpyinfo->ext_codes = ext_codes; } +static void +x_cr_set_surface_desired_size (struct frame *f, int width, int height) +{ + cairo_surface_t *surface = FRAME_CR_SURFACE (f); + + if (surface + && cairo_image_surface_get_width (surface) == width + && cairo_image_surface_get_height (surface) == height) + FRAME_CR_SURFACE_DESIRED_WIDTH (f) = 0; + else + { + FRAME_CR_SURFACE_DESIRED_WIDTH (f) = width; + FRAME_CR_SURFACE_DESIRED_HEIGHT (f) = height; + } +} + static void x_cr_destroy_surface (struct frame *f) { @@ -350,22 +370,24 @@ cairo_t * x_begin_cr_clip (struct frame *f, GC gc) { cairo_t *cr = FRAME_CR_CONTEXT (f); + cairo_surface_t *surface = FRAME_CR_SURFACE (f); - if (!cr) + if (! surface || FRAME_CR_SURFACE_DESIRED_WIDTH (f)) { + if (surface) + cairo_surface_destroy (surface); - if (! FRAME_CR_SURFACE (f)) - { - int scale = 1; -#ifdef USE_GTK - scale = xg_get_scale (f); -#endif + FRAME_CR_SURFACE (f) = + cairo_image_surface_create (CAIRO_FORMAT_ARGB32, + FRAME_CR_SURFACE_DESIRED_WIDTH (f), + FRAME_CR_SURFACE_DESIRED_HEIGHT (f)); + FRAME_CR_SURFACE_DESIRED_WIDTH (f) = 0; - FRAME_CR_SURFACE (f) = - cairo_image_surface_create (CAIRO_FORMAT_ARGB32, - scale * FRAME_PIXEL_WIDTH (f), - scale * FRAME_PIXEL_HEIGHT (f)); - } + if (cr) cairo_destroy (cr); + cr = NULL; + } + if (!cr) + { cr = cairo_create (FRAME_CR_SURFACE (f)); FRAME_CR_CONTEXT (f) = cr; } @@ -989,41 +1011,7 @@ x_set_frame_alpha (struct frame *f) static void x_update_begin (struct frame *f) { -#ifdef USE_CAIRO - if (FRAME_TOOLTIP_P (f) && !FRAME_VISIBLE_P (f)) - return; - - if (! FRAME_CR_SURFACE (f)) - { - int width, height; -#ifdef USE_GTK - if (FRAME_GTK_WIDGET (f)) - { - GdkWindow *w = gtk_widget_get_window (FRAME_GTK_WIDGET (f)); - int scale = xg_get_scale (f); - width = scale * gdk_window_get_width (w); - height = scale * gdk_window_get_height (w); - } - else -#endif - { - width = FRAME_PIXEL_WIDTH (f); - height = FRAME_PIXEL_HEIGHT (f); - if (! FRAME_EXTERNAL_TOOL_BAR (f)) - height += FRAME_TOOL_BAR_HEIGHT (f); - if (! FRAME_EXTERNAL_MENU_BAR (f)) - height += FRAME_MENU_BAR_HEIGHT (f); - } - - if (width > 0 && height > 0) - { - block_input(); - FRAME_CR_SURFACE (f) = cairo_image_surface_create - (CAIRO_FORMAT_ARGB32, width, height); - unblock_input(); - } - } -#endif /* USE_CAIRO */ + /* Nothing to do. */ } /* Start update of window W. */ @@ -8772,7 +8760,9 @@ handle_one_xevent (struct x_display_info *dpyinfo, font_drop_xrender_surfaces (f); unblock_input (); #ifdef USE_CAIRO - if (f) x_cr_destroy_surface (f); + if (f) + x_cr_set_surface_desired_size (f, configureEvent.xconfigure.width, + configureEvent.xconfigure.height); #endif #ifdef USE_GTK if (!f @@ -8786,7 +8776,8 @@ handle_one_xevent (struct x_display_info *dpyinfo, xg_frame_resized (f, configureEvent.xconfigure.width, configureEvent.xconfigure.height); #ifdef USE_CAIRO - x_cr_destroy_surface (f); + x_cr_set_surface_desired_size (f, configureEvent.xconfigure.width, + configureEvent.xconfigure.height); #endif f = 0; } @@ -11834,7 +11825,7 @@ x_free_frame_resources (struct frame *f) free_frame_xic (f); #endif - x_free_cr_resources (f); + x_cr_destroy_surface (f); #ifdef USE_X_TOOLKIT if (f->output_data.x->widget) { diff --git a/src/xterm.h b/src/xterm.h index 972a10f4d4..3456e12d84 100644 --- a/src/xterm.h +++ b/src/xterm.h @@ -744,6 +744,10 @@ struct x_output cairo_t *cr_context; /* Cairo surface for double buffering */ cairo_surface_t *cr_surface; + /* Size reported by the last ConfigureNotify event. The value of + cr_surface_desired_width is 0 when the size matches with that of + cr_surface above. */ + int cr_surface_desired_width, cr_surface_desired_height; #endif }; ^ permalink raw reply related [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2018-12-17 19:28 ` Clément Pit-Claudel 2019-03-26 2:12 ` YAMAMOTO Mitsuharu @ 2019-06-18 20:03 ` Clément Pit-Claudel 2019-06-18 21:33 ` Dmitry Gutov 2019-06-18 23:52 ` YAMAMOTO Mitsuharu 1 sibling, 2 replies; 36+ messages in thread From: Clément Pit-Claudel @ 2019-06-18 20:03 UTC (permalink / raw) To: 23925; +Cc: Roland Winkler [-- Attachment #1.1.1: Type: text/plain, Size: 1202 bytes --] On 2018-12-17 14:28, Clément Pit-Claudel wrote: > On 10/12/2018 20.40, Dmitry Gutov wrote: >> On 22.11.2018 16:12, Dmitry Gutov wrote: >> >>> I have just tried a --with-cairo build of the latest master, and can't repro any of the symptoms described here, as long as Emacs is launched with GDK_SCALE=1 (I have a HiDPI screen, and redisplay with scale=2 looks very broken). >> >> And with the current emacs-26 branch, even that is not a problem. >> >> So to sum up, I'm failing to reproduce any of the problems described in this bug report. Could any of the previous commenters try? > > I just tried it again, on master. I can't reproduce the problem any more. I can reproduce the issue again. On 26 Mar 2019, Yamamoto Mitsuharu wrote: > Does the OP still have the similar problem on master? If so, could > you try the patch below? The patch doesn't apply any more for me :/ Could you refresh it? My current recipe is this: src/emacs -Q --eval "(progn (load-theme 'tango-dark t) (sleep-for 1) (setq-default initial-frame-alist '((fullscreen . maximized))) (tool-bar-mode -1) (menu-bar-mode -1))" It produces a display similar to the screenshot attached. Clément. [-- Attachment #1.1.2: Screenshot from 2019-06-18 14-54-58.png --] [-- Type: image/png, Size: 82176 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2019-06-18 20:03 ` Clément Pit-Claudel @ 2019-06-18 21:33 ` Dmitry Gutov 2019-06-19 0:26 ` YAMAMOTO Mitsuharu 2019-06-18 23:52 ` YAMAMOTO Mitsuharu 1 sibling, 1 reply; 36+ messages in thread From: Dmitry Gutov @ 2019-06-18 21:33 UTC (permalink / raw) To: Clément Pit-Claudel, 23925; +Cc: Roland Winkler On 18.06.2019 23:03, Clément Pit-Claudel wrote: > src/emacs -Q --eval "(progn (load-theme 'tango-dark t) (sleep-for 1) (setq-default initial-frame-alist '((fullscreen . maximized))) (tool-bar-mode -1) (menu-bar-mode -1))" I'm also (again?) seeing a related bug under GNU/Linux/X11 if I in addition to this command I press C-s-<down> followed by C-s-<up>, which are the shortcuts for "unmaximize" and "maximize". If I press C-s-<up> again, the problem clears. I've made two videos, both show the screen imperfectly, however. The first one only captures the Emacs window, so somehow the unmaximized state is not noticeable. The second only shows the upper left quarter of the screen. But you can notice the problem there on the right. https://imgur.com/a/MOxlVFZ ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2019-06-18 21:33 ` Dmitry Gutov @ 2019-06-19 0:26 ` YAMAMOTO Mitsuharu 2019-06-19 1:22 ` Dmitry Gutov 0 siblings, 1 reply; 36+ messages in thread From: YAMAMOTO Mitsuharu @ 2019-06-19 0:26 UTC (permalink / raw) To: Dmitry Gutov; +Cc: 23925, Clément Pit-Claudel, Roland Winkler On Wed, 19 Jun 2019 06:33:33 +0900, Dmitry Gutov wrote: > > On 18.06.2019 23:03, Clément Pit-Claudel wrote: > > src/emacs -Q --eval "(progn (load-theme 'tango-dark t) (sleep-for 1) (setq-default initial-frame-alist '((fullscreen . maximized))) (tool-bar-mode -1) (menu-bar-mode -1))" > > I'm also (again?) seeing a related bug under GNU/Linux/X11 if I in > addition to this command I press C-s-<down> followed by C-s-<up>, > which are the shortcuts for "unmaximize" and "maximize". If I press > C-s-<up> again, the problem clears. Could you try adding (inhibit-double-buffering . t) to initial-frame-alist above and see if the problem still happens? YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2019-06-19 0:26 ` YAMAMOTO Mitsuharu @ 2019-06-19 1:22 ` Dmitry Gutov 2019-06-19 1:38 ` YAMAMOTO Mitsuharu 2019-06-19 3:31 ` Roland Winkler 0 siblings, 2 replies; 36+ messages in thread From: Dmitry Gutov @ 2019-06-19 1:22 UTC (permalink / raw) To: YAMAMOTO Mitsuharu; +Cc: 23925, Clément Pit-Claudel, Roland Winkler On 19.06.2019 3:26, YAMAMOTO Mitsuharu wrote: > Could you try adding (inhibit-double-buffering . t) to > initial-frame-alist above and see if the problem still happens? Tried it now. The problem went away. ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2019-06-19 1:22 ` Dmitry Gutov @ 2019-06-19 1:38 ` YAMAMOTO Mitsuharu 2019-06-19 1:48 ` Dmitry Gutov 2019-06-19 14:07 ` Clément Pit-Claudel 2019-06-19 3:31 ` Roland Winkler 1 sibling, 2 replies; 36+ messages in thread From: YAMAMOTO Mitsuharu @ 2019-06-19 1:38 UTC (permalink / raw) To: Dmitry Gutov; +Cc: 23925, Clément Pit-Claudel, Roland Winkler On Wed, 19 Jun 2019 10:22:40 +0900, Dmitry Gutov wrote: > > On 19.06.2019 3:26, YAMAMOTO Mitsuharu wrote: > > Could you try adding (inhibit-double-buffering . t) to > > initial-frame-alist above and see if the problem still happens? > > Tried it now. The problem went away. Thanks for trying. Could you also try the following patch (without inhibiting double buffering)? YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp diff --git a/src/xterm.c b/src/xterm.c index bc56e99513d..9bb0b83916c 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -8834,7 +8834,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, if (f && FRAME_X_DOUBLE_BUFFERED_P (f)) font_drop_xrender_surfaces (f); unblock_input (); -#ifdef USE_CAIRO +#if defined USE_CAIRO && !defined USE_GTK if (f) x_cr_update_surface_desired_size (f, configureEvent.xconfigure.width, configureEvent.xconfigure.height); ^ permalink raw reply related [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2019-06-19 1:38 ` YAMAMOTO Mitsuharu @ 2019-06-19 1:48 ` Dmitry Gutov 2019-06-19 14:07 ` Clément Pit-Claudel 1 sibling, 0 replies; 36+ messages in thread From: Dmitry Gutov @ 2019-06-19 1:48 UTC (permalink / raw) To: YAMAMOTO Mitsuharu; +Cc: 23925, Clément Pit-Claudel, Roland Winkler On 19.06.2019 4:38, YAMAMOTO Mitsuharu wrote: > Thanks for trying. Could you also try the following patch (without > inhibiting double buffering)? It helps: I don't see this problem anymore. Thank you! (If you could also take a look at bug#36284 I just filed, that would be much appreciated). ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2019-06-19 1:38 ` YAMAMOTO Mitsuharu 2019-06-19 1:48 ` Dmitry Gutov @ 2019-06-19 14:07 ` Clément Pit-Claudel 2019-06-21 0:36 ` YAMAMOTO Mitsuharu 1 sibling, 1 reply; 36+ messages in thread From: Clément Pit-Claudel @ 2019-06-19 14:07 UTC (permalink / raw) To: YAMAMOTO Mitsuharu, Dmitry Gutov; +Cc: 23925, Roland Winkler [-- Attachment #1.1: Type: text/plain, Size: 487 bytes --] On 2019-06-18 21:38, YAMAMOTO Mitsuharu wrote: > On Wed, 19 Jun 2019 10:22:40 +0900, > Dmitry Gutov wrote: >> >> On 19.06.2019 3:26, YAMAMOTO Mitsuharu wrote: >>> Could you try adding (inhibit-double-buffering . t) to >>> initial-frame-alist above and see if the problem still happens? >> >> Tried it now. The problem went away. > > Thanks for trying. Could you also try the following patch (without > inhibiting double buffering)? That works for me too :) Thanks! [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2019-06-19 14:07 ` Clément Pit-Claudel @ 2019-06-21 0:36 ` YAMAMOTO Mitsuharu 0 siblings, 0 replies; 36+ messages in thread From: YAMAMOTO Mitsuharu @ 2019-06-21 0:36 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: 23925-done, Roland Winkler, Dmitry Gutov On Wed, 19 Jun 2019 23:07:06 +0900, Clément Pit-Claudel wrote: > > > Thanks for trying. Could you also try the following patch (without > > inhibiting double buffering)? > > That works for me too :) Thanks! The patch is installed on master as 2da3305c3c3. Closing the bug. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2019-06-19 1:22 ` Dmitry Gutov 2019-06-19 1:38 ` YAMAMOTO Mitsuharu @ 2019-06-19 3:31 ` Roland Winkler 1 sibling, 0 replies; 36+ messages in thread From: Roland Winkler @ 2019-06-19 3:31 UTC (permalink / raw) To: Dmitry Gutov; +Cc: 23925, Clément Pit-Claudel On Wed Jun 19 2019 Dmitry Gutov wrote: > On 19.06.2019 3:26, YAMAMOTO Mitsuharu wrote: > > Could you try adding (inhibit-double-buffering . t) to > > initial-frame-alist above and see if the problem still happens? > > Tried it now. The problem went away. For the records: Today, after a long time, I again built emacs from master with cairo enabled. From what I can tell so far, it is running fine. ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2019-06-18 20:03 ` Clément Pit-Claudel 2019-06-18 21:33 ` Dmitry Gutov @ 2019-06-18 23:52 ` YAMAMOTO Mitsuharu 1 sibling, 0 replies; 36+ messages in thread From: YAMAMOTO Mitsuharu @ 2019-06-18 23:52 UTC (permalink / raw) To: Clément Pit-Claudel; +Cc: 23925, Roland Winkler On Wed, 19 Jun 2019 05:03:51 +0900, Clément Pit-Claudel wrote: > > I can reproduce the issue again. > > On 26 Mar 2019, Yamamoto Mitsuharu wrote: > > Does the OP still have the similar problem on master? If so, could > > you try the patch below? > > The patch doesn't apply any more for me :/ Could you refresh it? The patch has already been applied on master in a different form. It surely fixed some problem with resizing by mouse dragging. But it seems that another problem has been reintroduced. > My current recipe is this: > > src/emacs -Q --eval "(progn (load-theme 'tango-dark t) (sleep-for 1) (setq-default initial-frame-alist '((fullscreen . maximized))) (tool-bar-mode -1) (menu-bar-mode -1))" > > It produces a display similar to the screenshot attached. Thanks. I could reproduce it on Linux Mint 18.3 with GTK+3 and GTK+2 builds. On the other hand, none of --with-x-toolkit=no/athena/motif exhibits this problem. Probably this has something to do with GTK+-specific code. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 9:45 ` Clément Pit--Claudel 2016-07-09 15:30 ` martin rudalics 2018-11-22 14:12 ` Dmitry Gutov @ 2018-12-11 3:36 ` Dmitry Gutov 2018-12-11 8:49 ` Robert Pluim 2 siblings, 1 reply; 36+ messages in thread From: Dmitry Gutov @ 2018-12-11 3:36 UTC (permalink / raw) To: Clément Pit--Claudel, 23925 On 09.07.2016 12:45, Clément Pit--Claudel wrote: > - Not sure if it's related or if it should be another bug: font anti-aliasing is not the same when when maximized and unmaximized (see screenshots). With possible exception of this part. I do see somewhat different font rendering with and without Cairo. ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2018-12-11 3:36 ` Dmitry Gutov @ 2018-12-11 8:49 ` Robert Pluim 0 siblings, 0 replies; 36+ messages in thread From: Robert Pluim @ 2018-12-11 8:49 UTC (permalink / raw) To: Dmitry Gutov; +Cc: 23925, Clément Pit--Claudel Dmitry Gutov <dgutov@yandex.ru> writes: > On 09.07.2016 12:45, Clément Pit--Claudel wrote: >> - Not sure if it's related or if it should be another bug: font >> anti-aliasing is not the same when when maximized and unmaximized >> (see screenshots). > > With possible exception of this part. I do see somewhat different font > rendering with and without Cairo. I guess thatʼs because with Cairo Emacs uses a different font backend. Can you describe the differences? Robert ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 7:11 ` Eli Zaretskii 2016-07-09 9:45 ` Clément Pit--Claudel @ 2016-07-09 21:05 ` Roland Winkler 1 sibling, 0 replies; 36+ messages in thread From: Roland Winkler @ 2016-07-09 21:05 UTC (permalink / raw) To: Eli Zaretskii, martin rudalics; +Cc: 23925 On Sat Jul 9 2016 Eli Zaretskii wrote: > > Configured using: > > 'configure --with-xwidgets --with-x-toolkit=gtk3 --with-cairo' > > One idea I do have is to build without --with-cairo, and see if the > problem goes away. The Cairo back-end is still experimental, and we > know of several problems with it. I can confirm Clément's observation that the problem appears only when cairo is used to build emacs. I enabled cairo just out of curiosity. I wouldn't mind if it got completely disabled for 25.1 (or combined with noisy warnings that cairo gives serious bugs). On Sat Jul 9 2016 Eli Zaretskii wrote: > > From: Glenn Morris <rgm@gnu.org> > > Maybe with-cairo should be renamed to with-experimental-cairo or > > somesuch, because simply describing it as experimental isn't > > getting the message across. > > > > It's unfinished, unmaintained, and has known issues. Frankly I > > suggest no-one uses it unless they are prepared to deal with the > > resulting breakage. > > What does that mean in practice, though? We already have that option > off by default, which should be enough of a hint to anybody that this > option should not be turned on without a good reason. The NEWS file made me believe that, in principle, cairo works... Cairo drawing is an experimental feature in Emacs, and subject to change in future releases. ...but merely one should not assume that cairo-related internals stay what they are now. The NEWS file could mention that emacs build with cairo is still buggy. Also, this could be mentioned in PROBLEMS which does not talk at all about cairo. (I do not know which "known issues" you have in mind. The redisplay bug is all I noticed so far, but so far my testing has been very limited.) On Sat Jul 9 2016 martin rudalics wrote: > Please post the results after doing each of the following: > > (1) Evaluate (display-monitor-attributes-list) (((name . "DP2") (geometry 0 0 1920 1080) (workarea 0 25 1920 1055) (mm-size 510 287) (frames #<frame emacs@regnitz 0x1244a90>) (source . "Gdk"))) > (2) With the badly maximized frame evaluate (frame-geometry) ((outer-position 0 . 25) (outer-size 1913 . 1052) (external-border-size 5 . 5) (title-bar-size 0 . 18) (menu-bar-external . t) (menu-bar-size 1903 . 22) (tool-bar-external . t) (tool-bar-position . top) (tool-bar-size 0 . 0) (internal-border-width . 1)) > In this state please also evaluate (window--dump-frame) frame pixel: 1903 x 1002 cols/lines: 191 x 50 units: 10 x 20 frame text pixel: 1870 x 1000 cols/lines: 187 x 50 tool: 0 scroll: 15/0 fringe: 16 border: 1 right: 0 bottom: 0 #<window 3 on *Messages*> parent: nil pixel left: 0 top: 0 size: 1901 x 980 new: 820 char left: 0 top: 0 size: 190 x 49 new: 38 normal: 1.0 x 1.0 new: nil body pixel: 1870 x 960 char: 187 x 48 width left fringe: 8 left margin: 0 right margin: 0 width right fringe: 8 scroll-bar: 15 divider: 0 height header-line: 0 mode-line: 20 divider: 0 #<window 4 on *Minibuf-0*> parent: nil pixel left: 0 top: 980 size: 1901 x 20 new: 0 char left: 0 top: 49 size: 190 x 1 new: 1 normal: 1.0 x 1.0 new: 0 body pixel: 1870 x 20 char: 187 x 1 width left fringe: 8 left margin: 0 right margin: 0 width right fringe: 8 scroll-bar: 15 divider: 0 height header-line: 0 mode-line: 0 divider: 0 > (3) Before maximizing evaluate (setq frame-size-history '(5)) > Then maximize and evaluate (frame--size-history). The result can be > found in the buffer *frame-size-history*. Frame size history of #<frame emacs@regnitz 0x1244a90> x-handle-net-wm-state nil (nil nil) x-handle-net-wm-state nil (nil nil) x-net-wm-state nil (nil maximized) x-net-wm-state nil (maximized maximized) x-handle-net-wm-state nil (maximized maximized) ======= Let me know if any other info might be useful. Roland ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 3:02 bug#23925: 25.0.95; display broken when maximizing frame Roland Winkler 2016-07-09 7:11 ` Eli Zaretskii @ 2016-07-09 9:20 ` martin rudalics 2016-07-09 17:32 ` Glenn Morris 2 siblings, 0 replies; 36+ messages in thread From: martin rudalics @ 2016-07-09 9:20 UTC (permalink / raw) To: Roland Winkler, 23925 > After a long time I build again a more recent emacs. Unfortunately > it gives me a rather unpleasant experience when maximizing the emacs > frame (using the maximize function of the xfce window manager): > somehow the frame is not redrawn properly, emacs seems to be unaware > of the new frame size and the minibuffer disappears completely. > Instead the desktop background is displayed in large parts of the > emacs frame. Unmaximizing makes the problem go away. But obviously > that is no solution. I can provide more details if you let me know > what would be interesting. > > > > > In GNU Emacs 25.0.95.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.9, cairo version 1.14.6) > of 2016-07-08 built on regnitz > Windowing system distributor 'The X.Org Foundation', version 11.0.11803000 > System Description: Ubuntu 16.04 LTS > > Configured using: > 'configure --with-xwidgets --with-x-toolkit=gtk3 --with-cairo' Please post the results after doing each of the following: (1) Evaluate (display-monitor-attributes-list) (2) With the badly maximized frame evaluate (frame-geometry) (3) Before maximizing evaluate (setq frame-size-history '(5)) Then maximize and evaluate (frame--size-history). The result can be found in the buffer *frame-size-history*. And obviously please also follow Eli's proposal to build without cairo. Thanks, martin ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 3:02 bug#23925: 25.0.95; display broken when maximizing frame Roland Winkler 2016-07-09 7:11 ` Eli Zaretskii 2016-07-09 9:20 ` martin rudalics @ 2016-07-09 17:32 ` Glenn Morris 2016-07-09 17:42 ` Eli Zaretskii 2 siblings, 1 reply; 36+ messages in thread From: Glenn Morris @ 2016-07-09 17:32 UTC (permalink / raw) To: Roland Winkler; +Cc: 23925 Maybe with-cairo should be renamed to with-experimental-cairo or somesuch, because simply describing it as experimental isn't getting the message across. It's unfinished, unmaintained, and has known issues. Frankly I suggest no-one uses it unless they are prepared to deal with the resulting breakage. Ref eg http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00689.html ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 17:32 ` Glenn Morris @ 2016-07-09 17:42 ` Eli Zaretskii 2016-07-10 1:03 ` Glenn Morris 0 siblings, 1 reply; 36+ messages in thread From: Eli Zaretskii @ 2016-07-09 17:42 UTC (permalink / raw) To: Glenn Morris; +Cc: 23925, winkler > From: Glenn Morris <rgm@gnu.org> > Date: Sat, 09 Jul 2016 13:32:36 -0400 > Cc: 23925@debbugs.gnu.org > > Maybe with-cairo should be renamed to with-experimental-cairo or somesuch, > because simply describing it as experimental isn't getting the message across. > > It's unfinished, unmaintained, and has known issues. > Frankly I suggest no-one uses it unless they are prepared to deal with > the resulting breakage. What does that mean in practice, though? We already have that option off by default, which should be enough of a hint to anybody that this option should not be turned on without a good reason. ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-09 17:42 ` Eli Zaretskii @ 2016-07-10 1:03 ` Glenn Morris 2016-07-10 14:27 ` Eli Zaretskii 0 siblings, 1 reply; 36+ messages in thread From: Glenn Morris @ 2016-07-10 1:03 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 23925, winkler Eli Zaretskii wrote: > What does that mean in practice, though? We already have that option > off by default, which should be enough of a hint to anybody that this > option should not be turned on without a good reason. Probably overkill, but eg: --- a/configure.ac +++ b/configure.ac @@ -3164,6 +3164,13 @@ AC_SUBST(M17N_FLT_LIBS) HAVE_CAIRO=no if test "${HAVE_X11}" = "yes"; then if test "${with_cairo}" != "no"; then + + AC_MSG_WARN([The Emacs Cairo port is experimental and unmaintained, +and not recommended for use by non-developers. There are several +known display problems. Please do not report display-related bugs in Cairo +builds unless you are willing to fix them yourself.]) + sleep 3 + CAIRO_REQUIRED=1.12.0 CAIRO_MODULE="cairo >= $CAIRO_REQUIRED" EMACS_CHECK_MODULES(CAIRO, $CAIRO_MODULE) (since AFAICS we have no-one who can work on these issues.) ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-10 1:03 ` Glenn Morris @ 2016-07-10 14:27 ` Eli Zaretskii 2016-07-15 15:46 ` Roland Winkler 0 siblings, 1 reply; 36+ messages in thread From: Eli Zaretskii @ 2016-07-10 14:27 UTC (permalink / raw) To: Glenn Morris; +Cc: 23925, winkler > From: Glenn Morris <rgm@gnu.org> > Cc: winkler@gnu.org, 23925@debbugs.gnu.org > Date: Sat, 09 Jul 2016 21:03:35 -0400 > > + AC_MSG_WARN([The Emacs Cairo port is experimental and unmaintained, > +and not recommended for use by non-developers. There are several > +known display problems. Please do not report display-related bugs in Cairo > +builds unless you are willing to fix them yourself.]) Sounds a tad too extreme to me. How about the following text instead? The Emacs Cairo port is experimental and still has some known display problems. We encourage more testing of this port and reporting any problems you find, but it is not recommended for production. ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-10 14:27 ` Eli Zaretskii @ 2016-07-15 15:46 ` Roland Winkler 2016-07-15 16:04 ` Eli Zaretskii 2016-07-23 17:44 ` Eli Zaretskii 0 siblings, 2 replies; 36+ messages in thread From: Roland Winkler @ 2016-07-15 15:46 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 23925 On Sun Jul 10 2016 Eli Zaretskii wrote: > The Emacs Cairo port is experimental and still has some known > display problems. We encourage more testing of this port and > reporting any problems you find, but it is not recommended for > production. How about putting something like this also in the NEWS file. The current description of the cairo port in NEWS is rather optimistic and it appears quite prominently as the very beginning of NEWS. Someone who doesn't build emacs by himself but only reads NEWS might then be disappointed if his build does not include the cairo port. (The support for built-in printing described in NEWS sounds quite attractive. It's something I have missed for a long time. Only few people might recognize that the price for this is that cairo affects all kinds of innermost emacs internals beyond the built-in printing support. And the current status of this does not match the maturity one is otherwise used to with released versions of emacs.) (I am not even sure I'd wanted to call the cairo port an "Installation Change", which again suggests to me that it was a less significant change.) Roland ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-15 15:46 ` Roland Winkler @ 2016-07-15 16:04 ` Eli Zaretskii 2016-07-23 17:44 ` Eli Zaretskii 1 sibling, 0 replies; 36+ messages in thread From: Eli Zaretskii @ 2016-07-15 16:04 UTC (permalink / raw) To: Roland Winkler; +Cc: 23925 > Date: Fri, 15 Jul 2016 10:46:21 -0500 > From: "Roland Winkler" <winkler@gnu.org> > Cc: Glenn Morris <rgm@gnu.org>, > 23925@debbugs.gnu.org > > On Sun Jul 10 2016 Eli Zaretskii wrote: > > The Emacs Cairo port is experimental and still has some known > > display problems. We encourage more testing of this port and > > reporting any problems you find, but it is not recommended for > > production. > > How about putting something like this also in the NEWS file. Fine with me. ^ permalink raw reply [flat|nested] 36+ messages in thread
* bug#23925: 25.0.95; display broken when maximizing frame 2016-07-15 15:46 ` Roland Winkler 2016-07-15 16:04 ` Eli Zaretskii @ 2016-07-23 17:44 ` Eli Zaretskii 1 sibling, 0 replies; 36+ messages in thread From: Eli Zaretskii @ 2016-07-23 17:44 UTC (permalink / raw) To: Roland Winkler; +Cc: 23925 > Date: Fri, 15 Jul 2016 10:46:21 -0500 > From: "Roland Winkler" <winkler@gnu.org> > Cc: Glenn Morris <rgm@gnu.org>, > 23925@debbugs.gnu.org > > On Sun Jul 10 2016 Eli Zaretskii wrote: > > The Emacs Cairo port is experimental and still has some known > > display problems. We encourage more testing of this port and > > reporting any problems you find, but it is not recommended for > > production. > > How about putting something like this also in the NEWS file. Done. ^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2019-06-21 0:36 UTC | newest] Thread overview: 36+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-07-09 3:02 bug#23925: 25.0.95; display broken when maximizing frame Roland Winkler 2016-07-09 7:11 ` Eli Zaretskii 2016-07-09 9:45 ` Clément Pit--Claudel 2016-07-09 15:30 ` martin rudalics 2016-07-10 1:52 ` Clément Pit--Claudel 2016-07-11 9:14 ` martin rudalics 2016-07-11 17:47 ` Clément Pit--Claudel 2016-07-12 7:29 ` martin rudalics 2016-07-12 9:29 ` Clément Pit--Claudel 2016-07-13 14:58 ` Roland Winkler 2016-07-13 17:34 ` martin rudalics 2018-11-22 14:12 ` Dmitry Gutov 2018-12-11 1:40 ` Dmitry Gutov 2018-12-17 19:28 ` Clément Pit-Claudel 2019-03-26 2:12 ` YAMAMOTO Mitsuharu 2019-06-18 20:03 ` Clément Pit-Claudel 2019-06-18 21:33 ` Dmitry Gutov 2019-06-19 0:26 ` YAMAMOTO Mitsuharu 2019-06-19 1:22 ` Dmitry Gutov 2019-06-19 1:38 ` YAMAMOTO Mitsuharu 2019-06-19 1:48 ` Dmitry Gutov 2019-06-19 14:07 ` Clément Pit-Claudel 2019-06-21 0:36 ` YAMAMOTO Mitsuharu 2019-06-19 3:31 ` Roland Winkler 2019-06-18 23:52 ` YAMAMOTO Mitsuharu 2018-12-11 3:36 ` Dmitry Gutov 2018-12-11 8:49 ` Robert Pluim 2016-07-09 21:05 ` Roland Winkler 2016-07-09 9:20 ` martin rudalics 2016-07-09 17:32 ` Glenn Morris 2016-07-09 17:42 ` Eli Zaretskii 2016-07-10 1:03 ` Glenn Morris 2016-07-10 14:27 ` Eli Zaretskii 2016-07-15 15:46 ` Roland Winkler 2016-07-15 16:04 ` Eli Zaretskii 2016-07-23 17:44 ` Eli Zaretskii
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).