unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#53839: 29.0.50; Strange bug causes tool bar to be overwritten
       [not found] <87h79bhwbg.fsf.ref@yahoo.com>
@ 2022-02-07  9:15 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-02-07 13:23   ` martin rudalics
  0 siblings, 1 reply; 7+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-02-07  9:15 UTC (permalink / raw)
  To: 53839

On any Motif or Lucid build, start Emacs with `-q', making sure that the
splash screen is displayed.  A single pixel at the bottom of the tool
bar will be overwritten by the window underneath it, until the frame is
resized again.

If I comment out this part of xfns.c:

      /* As long as tool_bar_resized is false, effectively try to change
	 F's native height.  */
      if (NILP (fullscreen) || EQ (fullscreen, Qfullwidth))
	adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f),
			   1, false, Qtool_bar_lines);
      else

The problem goes away, but I can't figure out why that is.

Thanks.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#53839: 29.0.50; Strange bug causes tool bar to be overwritten
  2022-02-07  9:15 ` bug#53839: 29.0.50; Strange bug causes tool bar to be overwritten Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-02-07 13:23   ` martin rudalics
  2022-02-07 13:29     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 7+ messages in thread
From: martin rudalics @ 2022-02-07 13:23 UTC (permalink / raw)
  To: Po Lu, 53839

[-- Attachment #1: Type: text/plain, Size: 851 bytes --]

 > On any Motif or Lucid build, start Emacs with `-q', making sure that the
 > splash screen is displayed.  A single pixel at the bottom of the tool
 > bar will be overwritten by the window underneath it, until the frame is
 > resized again.
 >
 > If I comment out this part of xfns.c:
 >
 >        /* As long as tool_bar_resized is false, effectively try to change
 > 	 F's native height.  */
 >        if (NILP (fullscreen) || EQ (fullscreen, Qfullwidth))
 > 	adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f),
 > 			   1, false, Qtool_bar_lines);
 >        else
 >
 > The problem goes away, but I can't figure out why that is.

I cannot reproduce that here, neither with the release branch nor with
master.  See the attached screenshot and notice one pixel between tool
bar and root window that comes from 'tool-bar-border'.

martin

[-- Attachment #2: Lucid-master-emacs-q.png --]
[-- Type: image/png, Size: 138819 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#53839: 29.0.50; Strange bug causes tool bar to be overwritten
  2022-02-07 13:23   ` martin rudalics
@ 2022-02-07 13:29     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-02-07 15:49       ` martin rudalics
  0 siblings, 1 reply; 7+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-02-07 13:29 UTC (permalink / raw)
  To: martin rudalics; +Cc: 53839

martin rudalics <rudalics@gmx.at> writes:

> I cannot reproduce that here, neither with the release branch nor with
> master.  See the attached screenshot and notice one pixel between tool
> bar and root window that comes from 'tool-bar-border'.

Maybe it's related to some code waiting for a configure event that never
arrives?

FWIW, the window manager I used to test was GNOME Shell.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#53839: 29.0.50; Strange bug causes tool bar to be overwritten
  2022-02-07 13:29     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-02-07 15:49       ` martin rudalics
  2022-02-08  0:46         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 7+ messages in thread
From: martin rudalics @ 2022-02-07 15:49 UTC (permalink / raw)
  To: Po Lu; +Cc: 53839

 > FWIW, the window manager I used to test was GNOME Shell.

Then the reason is what I told you earlier: In x_wm_set_size_hint in
xterm.c I have


#ifndef USE_GTK
void
x_wm_set_size_hint (struct frame *f, long flags, bool user_position, bool base_size)
{
   XSizeHints size_hints;
   Window window = FRAME_OUTER_WINDOW (f);

   if (!window)
     return;

   /* 2021 REMIX: Don't call widget_update_wm_size_hints here since on
      GNOME shell get_wm_shell may fail to produce the wmshell widget.
      As a consequence, no size hints get set before we issue our resize
      request, mutter (presumably) refuses to resize the outer window as
      requested and we end up with a wrong initial frame size.

      It's not clear whether other calls of update_wm_hints are affected
      as well but not calling widget_update_wm_size_hints here seems
      sufficient to fix the bug.  */

/** #ifdef USE_X_TOOLKIT **/
/**   if (f->output_data.x->widget) **/
/**     { **/
/**       widget_update_wm_size_hints (f->output_data.x->widget); **/
/**       return; **/
/**     } **/
/** #endif **/

   /* Setting PMaxSize caused various problems.  */

...

which works around that problem.  (I didn't try your fix but am
convinced that it gets the initial frame height wrong.)

martin





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#53839: 29.0.50; Strange bug causes tool bar to be overwritten
  2022-02-07 15:49       ` martin rudalics
@ 2022-02-08  0:46         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-02-08  8:57           ` martin rudalics
  0 siblings, 1 reply; 7+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-02-08  0:46 UTC (permalink / raw)
  To: martin rudalics; +Cc: 53839

martin rudalics <rudalics@gmx.at> writes:

>   /* 2021 REMIX: Don't call widget_update_wm_size_hints here since on
>      GNOME shell get_wm_shell may fail to produce the wmshell widget.
>      As a consequence, no size hints get set before we issue our resize
>      request, mutter (presumably) refuses to resize the outer window as
>      requested and we end up with a wrong initial frame size.
>
>      It's not clear whether other calls of update_wm_hints are affected
>      as well but not calling widget_update_wm_size_hints here seems
>      sufficient to fix the bug.  */
>
> /** #ifdef USE_X_TOOLKIT **/
> /**   if (f->output_data.x->widget) **/
> /**     { **/
> /**       widget_update_wm_size_hints (f->output_data.x->widget); **/
> /**       return; **/
> /**     } **/
> /** #endif **/
>
> which works around that problem.  (I didn't try your fix but am
> convinced that it gets the initial frame height wrong.)

I fixed the calls to widget_update_wm_size_hints on master, and it fixes
the bug, so if you're happy with that fix I'll close this bug now.

Thanks.





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#53839: 29.0.50; Strange bug causes tool bar to be overwritten
  2022-02-08  0:46         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-02-08  8:57           ` martin rudalics
  2022-02-08  9:22             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 7+ messages in thread
From: martin rudalics @ 2022-02-08  8:57 UTC (permalink / raw)
  To: Po Lu; +Cc: 53839

 > I fixed the calls to widget_update_wm_size_hints on master, and it fixes
 > the bug, so if you're happy with that fix I'll close this bug now.

If it works for you, close it.  I do not synch with master these days
because of Bug#52709.

martin





^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#53839: 29.0.50; Strange bug causes tool bar to be overwritten
  2022-02-08  8:57           ` martin rudalics
@ 2022-02-08  9:22             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 7+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-02-08  9:22 UTC (permalink / raw)
  To: martin rudalics; +Cc: 53839-done

martin rudalics <rudalics@gmx.at> writes:

>> I fixed the calls to widget_update_wm_size_hints on master, and it fixes
>> the bug, so if you're happy with that fix I'll close this bug now.

> If it works for you, close it.  I do not synch with master these days
> because of Bug#52709.

Thanks, closing.





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-02-08  9:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <87h79bhwbg.fsf.ref@yahoo.com>
2022-02-07  9:15 ` bug#53839: 29.0.50; Strange bug causes tool bar to be overwritten Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-07 13:23   ` martin rudalics
2022-02-07 13:29     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-07 15:49       ` martin rudalics
2022-02-08  0:46         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-02-08  8:57           ` martin rudalics
2022-02-08  9:22             ` Po Lu 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).