* bug#24107: 25.1; menu-bar-size and tool-bar-size are reported inconsistently on w32 @ 2016-07-29 17:59 Eli Zaretskii 2016-07-30 8:22 ` martin rudalics 0 siblings, 1 reply; 6+ messages in thread From: Eli Zaretskii @ 2016-07-29 17:59 UTC (permalink / raw) To: 24107 emacs -Q M-: (frame-geometry) RET When I do this on MS-Windows, I get ... (menu-bar-size 672 . 19) ... (tool-bar-size 680 . 36) ... which looks incorrect, because the width of both is the same. I think the width of the menu bar is the correct one. The reason I think that is that when I disable the scroll bars, the width reported for the menu bar is exactly the window-body-width plus the 16 pixels used up by the fringes. In GNU Emacs 25.1.2 (i686-pc-mingw32) of 2016-07-29 built on HOME-C4E4A596F7 Repository revision: b275cc76f0c5ab49e81445fcc3420c8772aefd42 Windowing system distributor 'Microsoft Corp.', version 5.1.2600 Configured using: 'configure --prefix=/d/usr --enable-checking=yes,glyphs --with-wide-int --with-modules 'CFLAGS=-O0 -gdwarf-4 -g3'' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS MODULES Important settings: value of $LANG: ENU locale-coding-system: cp1255 Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-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 auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message dired format-spec rfc822 mml mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr mail-utils time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic 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 charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote w32notify w32 multi-tty make-network-process emacs) Memory information: ((conses 16 93479 7177) (symbols 56 20753 0) (miscs 48 46 128) (strings 16 17774 5347) (string-bytes 1 441649) (vectors 16 12447) (vector-slots 8 432686 5016) (floats 8 162 106) (intervals 40 266 121) (buffers 856 21)) ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#24107: 25.1; menu-bar-size and tool-bar-size are reported inconsistently on w32 2016-07-29 17:59 bug#24107: 25.1; menu-bar-size and tool-bar-size are reported inconsistently on w32 Eli Zaretskii @ 2016-07-30 8:22 ` martin rudalics 2016-07-30 8:41 ` Eli Zaretskii 0 siblings, 1 reply; 6+ messages in thread From: martin rudalics @ 2016-07-30 8:22 UTC (permalink / raw) To: Eli Zaretskii, 24107 > emacs -Q > M-: (frame-geometry) RET > > When I do this on MS-Windows, I get > > ... (menu-bar-size 672 . 19) ... (tool-bar-size 680 . 36) ... > > which looks incorrect, because the width of both is the same. I think > the width of the menu bar is the correct one. The reason I think that > is that when I disable the scroll bars, the width reported for the > menu bar is exactly the window-body-width plus the 16 pixels used up > by the fringes. It's the best I came up with so far. I can't use the width of the menu bar: Try doing (set-frame-parameter nil 'internal-border-width 36) and you'll see what I mean. BTW the Lucid and Motif builds _do_ report the same width for menu and tool bar which is wrong with a non-zero internal border width. martin ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#24107: 25.1; menu-bar-size and tool-bar-size are reported inconsistently on w32 2016-07-30 8:22 ` martin rudalics @ 2016-07-30 8:41 ` Eli Zaretskii 2016-07-30 9:39 ` martin rudalics 0 siblings, 1 reply; 6+ messages in thread From: Eli Zaretskii @ 2016-07-30 8:41 UTC (permalink / raw) To: martin rudalics; +Cc: 24107 > Date: Sat, 30 Jul 2016 10:22:14 +0200 > From: martin rudalics <rudalics@gmx.at> > > > emacs -Q > > M-: (frame-geometry) RET > > > > When I do this on MS-Windows, I get > > > > ... (menu-bar-size 672 . 19) ... (tool-bar-size 680 . 36) ... > > > > which looks incorrect, because the width of both is the same. I think > > the width of the menu bar is the correct one. The reason I think that > > is that when I disable the scroll bars, the width reported for the > > menu bar is exactly the window-body-width plus the 16 pixels used up > > by the fringes. > > It's the best I came up with so far. I can't use the width of the menu > bar: Try doing > > (set-frame-parameter nil 'internal-border-width 36) > > and you'll see what I mean. OK, but this means you can compute the width of the tool bar as you do for any other window, and then add to that the width of the fringes. Since on Windows the tool bar is just a special window which doesn't have fringes, this should be accurate, no? ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#24107: 25.1; menu-bar-size and tool-bar-size are reported inconsistently on w32 2016-07-30 8:41 ` Eli Zaretskii @ 2016-07-30 9:39 ` martin rudalics 2016-07-30 10:36 ` Eli Zaretskii 0 siblings, 1 reply; 6+ messages in thread From: martin rudalics @ 2016-07-30 9:39 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 24107 [-- Attachment #1: Type: text/plain, Size: 442 bytes --] > OK, but this means you can compute the width of the tool bar as you do > for any other window, and then add to that the width of the fringes. > Since on Windows the tool bar is just a special window which doesn't > have fringes, this should be accurate, no? It's not related to fringes. I forgot to subtract the width of the external borders. Does the attached patch (mostly fixing indentation hell) give the correct result? martin [-- Attachment #2: w32fns.diff --] [-- Type: text/plain, Size: 1492 bytes --] diff --git a/src/w32fns.c b/src/w32fns.c index 584e311..2b07bb2 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -8465,24 +8465,25 @@ with offset DY added (default is -10). Fcons (Qouter_size, Fcons (make_number (right - left), make_number (bottom - top))), - Fcons (Qexternal_border_size, + Fcons (Qexternal_border_size, Fcons (make_number (external_border_width), make_number (external_border_height))), Fcons (Qtitle_bar_size, Fcons (make_number (title_bar_width), make_number (title_bar_height))), - Fcons (Qmenu_bar_external, Qt), - Fcons (Qmenu_bar_size, - Fcons (make_number - (menu_bar.rcBar.right - menu_bar.rcBar.left), - make_number (menu_bar_height))), - Fcons (Qtool_bar_external, Qnil), + Fcons (Qmenu_bar_external, Qt), + Fcons (Qmenu_bar_size, + Fcons (make_number + (menu_bar.rcBar.right - menu_bar.rcBar.left), + make_number (menu_bar_height))), + Fcons (Qtool_bar_external, Qnil), Fcons (Qtool_bar_position, tool_bar_height ? Qtop : Qnil), - Fcons (Qtool_bar_size, + Fcons (Qtool_bar_size, Fcons (make_number (tool_bar_height - ? right - left - 2 * internal_border_width - : 0), + ? (right - left - 2 * external_border_width + - 2 * internal_border_width) + : 0), make_number (tool_bar_height))), Fcons (Qinternal_border_width, make_number (internal_border_width))); ^ permalink raw reply related [flat|nested] 6+ messages in thread
* bug#24107: 25.1; menu-bar-size and tool-bar-size are reported inconsistently on w32 2016-07-30 9:39 ` martin rudalics @ 2016-07-30 10:36 ` Eli Zaretskii 2016-07-30 12:30 ` martin rudalics 0 siblings, 1 reply; 6+ messages in thread From: Eli Zaretskii @ 2016-07-30 10:36 UTC (permalink / raw) To: martin rudalics; +Cc: 24107 > Date: Sat, 30 Jul 2016 11:39:22 +0200 > From: martin rudalics <rudalics@gmx.at> > CC: 24107@debbugs.gnu.org > > It's not related to fringes. I forgot to subtract the width of the > external borders. Does the attached patch (mostly fixing indentation > hell) give the correct result? Yes, thanks. ^ permalink raw reply [flat|nested] 6+ messages in thread
* bug#24107: 25.1; menu-bar-size and tool-bar-size are reported inconsistently on w32 2016-07-30 10:36 ` Eli Zaretskii @ 2016-07-30 12:30 ` martin rudalics 0 siblings, 0 replies; 6+ messages in thread From: martin rudalics @ 2016-07-30 12:30 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 24107-done > Yes, thanks. Installed on master. Bug closed. Thanks for spotting this blatant discrepancy, martin ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-07-30 12:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-07-29 17:59 bug#24107: 25.1; menu-bar-size and tool-bar-size are reported inconsistently on w32 Eli Zaretskii 2016-07-30 8:22 ` martin rudalics 2016-07-30 8:41 ` Eli Zaretskii 2016-07-30 9:39 ` martin rudalics 2016-07-30 10:36 ` Eli Zaretskii 2016-07-30 12:30 ` martin rudalics
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).