unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Vivek Dasmohapatra <vivek@etla.org>
Cc: 22000@debbugs.gnu.org, David Engster <deng@randomsample.de>
Subject: bug#22000: Patch addressing the menu-bar frame-resize interaction
Date: Mon, 15 Oct 2018 20:23:10 +0200	[thread overview]
Message-ID: <5BC4DB0E.3050501@gmx.at> (raw)
In-Reply-To: <alpine.DEB.2.02.1810151455060.19047@platypus.pepperfish.net>

 > When in 'always or 'automatic mode, the menu bar will be in a scrolled
 > window. The extra space cannot be properly ameliorated with CSS
 > styling as this does not seem to work well. In the default mode,
 > the scrolled window is not present - the menu bar is dynamically
 > re-parented between the scrolled window (which is created on demand)
 > and the emacs pane (vbox widget) when the menu bar scrolling mode
 > is changed.
 >
 > At these GTK versions truncation does not work, so the menu bar
 > frame size jitter big persists in the default mode.

Very good.  I can get my normal menu bar back with GTK 3.4.2.  But I'm
still inclined to ask you to do the following:

- Provide the forced frame resize behavior for GTK >= 3.16 as well.  I
   think the corresponding value of the menu-bar-scrollbar parameter
   should be something like 'forced-resize' in that case.

- IIUC there's now no way for GTK < 3.16 to get the
   'menu-bar-scrollbar' nil behavior.  No great deal but if you added
   'forced-resize', then a user who does not like the large menu bar
   can get that easily by using 'forced-resize' instead.  The default
   for GTK < 3.16 would still be nil.

+The behaviour of GTK menu bars when they would otherwise grow wider than

"behaviour" is "behavior" in the Emacs manual.

+the frame. Valid values are @code{always} to draw a scrollbar whether or

Please use two spaces after a sentence end in documentations.

+not it is required; @code{automatic} to draw one only when necessary; and
+@code{nil} (or any other value) for the default behaviour, which is to
+truncate the scrollbar if possible (GTK 3.16 and later). Prior to GTK 3.16
+the default behaviour is to force a frame resize: This is a GTK limitation.

This is too terse.  In particular "nil" also stands for not drawing a
scrollbar and that should stated.  And note that the forced frame
resize occurs only when a new menu bar shall be drawn.  Even now a
user can alway truncate the menu bar by manually resizing the frame.
This should be somehow mentioned in the text to avoid confusions.

Finally, I would provide a 'menu-bar-scrollbar-mode' that would add
the 'menu-bar-scrollbar' parameter automatically.  Please have a look
at how for example 'window-divider-mode' (which is off by default)
does that.  Then we could also add an entry in the "Show/Hide" entry
of the Options menu.  Provided we can add/remove a menu bar scrollbar
dynamically to/from an existing frame.  No great harm if we can't, but
then we should mention that fact somewhere.

 > [ Tested on gtk 3.22.11 and 3.4.2 ]

People are strongly urged to test this with their GTK builds.  At
least one or two feedbacks would be awfully welcome.  Maybe you could
also provide one large patch which includes all changes?

BTW, compiling with GTK 3.4.2 gives a spurious

../../src/gtkutil.c: In function ‘xg_update_frame_menubar’:
../../src/gtkutil.c:3609:22: warning: variable ‘sw’ set but not used [-Wunused-but-set-variable]

warning here.

Thanks, martin






  reply	other threads:[~2018-10-15 18:23 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-23 20:55 bug#22000: 25.0.50; Running dired changes frame width, gtk_distribute_natural_allocation throws assertion David Engster
2015-11-24  8:28 ` martin rudalics
2015-11-24 16:48   ` David Engster
2015-11-24 19:26     ` martin rudalics
2015-11-25 16:15       ` David Engster
2015-11-25 17:48         ` martin rudalics
2015-11-25 19:00           ` David Engster
2015-11-26  8:22             ` martin rudalics
2018-07-15 18:09 ` bug#22000: Patch addressing the menu-bar frame-resize interaction Vivek Dasmohapatra
2018-07-16  7:28   ` martin rudalics
2018-07-16  9:46     ` Vivek Dasmohapatra
2018-07-16 19:58       ` Vivek Dasmohapatra
2018-07-17  7:48         ` martin rudalics
2018-07-17 13:45           ` Vivek Dasmohapatra
2018-07-17 19:02             ` Vivek Dasmohapatra
2018-07-18  7:01               ` martin rudalics
2018-07-18  7:07                 ` martin rudalics
2018-07-18 10:39                 ` Vivek Dasmohapatra
2018-07-19  8:19                   ` martin rudalics
2018-07-19 12:04                     ` Vivek Dasmohapatra
2018-07-20  8:14                       ` martin rudalics
2018-07-20  9:21                         ` Vivek Dasmohapatra
2018-07-20 12:34                           ` martin rudalics
2018-07-20 17:44                             ` Vivek Dasmohapatra
2018-07-21  7:43                               ` martin rudalics
2018-07-21 13:24                                 ` Vivek Dasmohapatra
2018-07-22  7:24                                   ` martin rudalics
2018-07-22 12:29                                     ` Vivek Dasmohapatra
2018-07-23  6:50                                       ` martin rudalics
2018-10-11 13:05                                         ` Vivek Dasmohapatra
2018-10-11 18:17                                           ` martin rudalics
2018-10-11 18:27                                             ` martin rudalics
2018-10-11 18:48                                               ` Vivek Dasmohapatra
2018-10-11 20:51                                             ` Vivek Dasmohapatra
2018-10-12  8:44                                               ` martin rudalics
2018-10-12 12:47                                                 ` Vivek Dasmohapatra
2018-10-12 18:12                                                   ` martin rudalics
2018-10-12 18:25                                                     ` Vivek Dasmohapatra
2018-10-13  8:20                                                       ` martin rudalics
2018-10-13 10:03                                                         ` Vivek Dasmohapatra
2018-10-15 13:57                                                         ` Vivek Dasmohapatra
2018-10-15 18:23                                                           ` martin rudalics [this message]
2018-10-16  1:19                                                             ` Vivek Dasmohapatra
2018-10-16  8:47                                                               ` martin rudalics
2018-10-16 18:58                                                             ` Vivek Dasmohapatra
2018-10-17  7:29                                                               ` martin rudalics
2018-10-18  1:02                                                                 ` Vivek Dasmohapatra
2018-10-18  8:06                                                                   ` martin rudalics
2018-10-18 12:23                                                                     ` Vivek Dasmohapatra
2018-10-18 12:48                                                                       ` Robert Pluim
2018-10-18 13:24                                                                         ` Vivek Dasmohapatra
2018-10-18 13:46                                                                           ` Robert Pluim
2018-10-18 13:56                                                                           ` Eli Zaretskii
2018-10-18 17:08                                                                             ` Vivek Dasmohapatra
2018-10-18 18:16                                                                               ` Eli Zaretskii
2018-10-18 18:34                                                                                 ` Vivek Dasmohapatra
2018-10-18 13:51                                                                         ` Stephen Berman
2018-10-18 14:31                                                                           ` Robert Pluim
2018-10-18 13:51                                                                       ` Eli Zaretskii
2018-10-18 17:26                                                                         ` Vivek Dasmohapatra
2018-10-18 18:20                                                                           ` Eli Zaretskii
2018-10-18 18:32                                                                             ` Vivek Dasmohapatra
2018-10-18 19:55                                                                             ` Drew Adams
2018-10-19  6:23                                                                               ` Eli Zaretskii
2018-10-18 13:34                                                                     ` Eli Zaretskii
2018-10-18 14:22                                                                       ` Robert Pluim
2018-10-18 16:41                                                                         ` martin rudalics
2018-10-19  7:41                                                                           ` Robert Pluim
2018-10-19  8:34                                                                             ` martin rudalics
2018-10-19  9:14                                                                               ` Robert Pluim
2018-10-19 13:44                                                                                 ` Robert Pluim
2018-10-19 17:57                                                                                   ` martin rudalics
2018-10-23 10:07                                                                                     ` Robert Pluim
2018-10-23 13:45                                                                                       ` martin rudalics
2018-10-23 14:02                                                                                         ` Robert Pluim
2018-10-23 18:18                                                                                           ` martin rudalics
2018-10-23 19:19                                                                                             ` Robert Pluim
2018-10-24  9:44                                                                                               ` martin rudalics
2018-10-24 11:52                                                                                                 ` Robert Pluim
2018-10-24 12:18                                                                                                   ` Vivek Dasmohapatra
2018-10-19 14:17                                                                               ` Stephen Berman
2018-10-19 14:44                                                                                 ` Vivek Dasmohapatra
2018-10-19 16:21                                                                                   ` Stephen Berman
2018-10-21 15:44                                                                                     ` Vivek Dasmohapatra
2018-10-21 15:50                                                                                     ` Vivek Dasmohapatra
2018-10-22 17:11                                                                                       ` Vivek Dasmohapatra
2018-10-19 17:57                                                                                 ` martin rudalics
2018-10-18 16:40                                                                       ` martin rudalics
2018-10-18 17:07                                                                         ` Eli Zaretskii
2018-10-18 17:13                                                                           ` Vivek Dasmohapatra
2018-10-19  7:26                                                                             ` Robert Pluim
2018-10-19  8:23                                                                               ` Eli Zaretskii
2018-10-19  9:25                                                                                 ` Robert Pluim
2018-10-12 18:34                                                     ` Vivek Dasmohapatra
2018-10-12 18:16                                                 ` Vivek Dasmohapatra
     [not found] <<87k2p8h1vn.fsf@isaac.fritz.box>
     [not found] ` <<5B52E425.8010608@gmx.at>
     [not found]   ` <<alpine.DEB.2.02.1807211421040.921@platypus.pepperfish.net>
     [not found]     ` <<5B543148.1010004@gmx.at>
     [not found]       ` <<alpine.DEB.2.02.1807221324380.921@platypus.pepperfish.net>
     [not found]         ` <<5B557ACA.4020106@gmx.at>
     [not found]           ` <<alpine.DEB.2.02.1810111400480.5980@platypus.pepperfish.net>
     [not found]             ` <<5BBF93CF.4060301@gmx.at>
     [not found]               ` <<alpine.DEB.2.02.1810112148100.5980@platypus.pepperfish.net>
     [not found]                 ` <<5BC05EEB.9010609@gmx.at>
     [not found]                   ` <<alpine.DEB.2.02.1810121316230.5980@platypus.pepperfish.net>
     [not found]                     ` <<5BC0E405.90805@gmx.at>
     [not found]                       ` <<alpine.DEB.2.02.1810121917570.5980@platypus.pepperfish.net>
     [not found]                         ` <<5BC1AAE2.7070808@gmx.at>
     [not found]                           ` <<alpine.DEB.2.02.1810151455060.19047@platypus.pepperfish.net>
     [not found]                             ` <<5BC4DB0E.3050501@gmx.at>
     [not found]                               ` <<alpine.DEB.2.02.1810161954120.19047@platypus.pepperfish.net>
     [not found]                                 ` <<5BC6E4F2.2030607@gmx.at>
     [not found]                                   ` <<alpine.DEB.2.02.1810180200180.19047@platypus.pepperfish.net>
     [not found]                                     ` <<5BC83F03.4050006@gmx.at>
     [not found]                                       ` <<alpine.DEB.2.02.1810181321230.19047@platypus.pepperfish.net>
     [not found]                                         ` <<83o9brqs6e.fsf@gnu.org>
     [not found]                                           ` <<alpine.DEB.2.02.1810181813500.19047@platypus.pepperfish.net>
     [not found]                                             ` <<83bm7rqfpo.fsf@gnu.org>
     [not found]                                               ` <<766dc2b9-7931-48b2-b2f2-6b57d7ca85dd@default>
     [not found]                                                 ` <<835zxyqwtg.fsf@gnu.org>
2018-10-20 23:58                                                   ` Drew Adams
2018-10-21  2:39                                                     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5BC4DB0E.3050501@gmx.at \
    --to=rudalics@gmx.at \
    --cc=22000@debbugs.gnu.org \
    --cc=deng@randomsample.de \
    --cc=vivek@etla.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).