GNU bug report logs - #58515
29.0.50; [PATCH] Fix menu bar height

Previous Next

Package: emacs;

Reported by: Manuel Giraud <manuel <at> ledu-giraud.fr>

Date: Fri, 14 Oct 2022 14:43:02 UTC

Severity: normal

Tags: patch

Found in version 29.0.50

Fixed in version 30.1

Done: Manuel Giraud <manuel <at> ledu-giraud.fr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 58515 in the body.
You can then email your comments to 58515 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#58515; Package emacs. (Fri, 14 Oct 2022 14:43:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Manuel Giraud <manuel <at> ledu-giraud.fr>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 14 Oct 2022 14:43:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Manuel Giraud <manuel <at> ledu-giraud.fr>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; [PATCH] Fix menu bar height
Date: Fri, 14 Oct 2022 16:42:36 +0200
[Message part 1 (text/plain, inline)]
Hi,

This patch tries to fix height calculation for menu bar in X when not
using a toolkit.  It is taking into account the fact that the menu bar
face could be boxed.

There are others issues left (i.e. not handled by this patch):

      - a customization of the menu face does not trigger a redisplay,
        so one has to deactivate/re-activate the menu bar in order to
        update (I don't know how this is done for other faces)
        
      - with a boxed menu bar face, the box is not displayed correctly
        on the right side of the bar

[0001-Fix-menu-bar-height-for-with-x-toolkit-no.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
Best regards,


In GNU Emacs 29.0.50 (build 1, x86_64-unknown-openbsd7.2, cairo version
 1.17.6) of 2022-10-14 built on elite.giraud
Repository revision: 820e6f399d0af56ebfdc581f68424f4cb9cbe53b
Repository branch: mgi/play
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: OpenBSD elite.giraud 7.2 GENERIC.MP#778 amd64

Configured using:
 'configure --prefix=/home/manuel/emacs --bindir=/home/manuel/bin
 --with-x-toolkit=no --without-sound --without-compress-install
 CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBOTF LIBXML2 MODULES NOTIFY KQUEUE OLDXMENU PDUMPER PNG RSVG
SQLITE3 THREADS TIFF WEBP X11 XDBE XIM XINPUT2 XPM ZLIB

Important settings:
  value of $LC_ALL: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Change Log

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  icomplete-mode: t
  display-time-mode: t
  display-battery-mode: t
  shell-dirtrack-mode: t
  global-so-long-mode: t
  repeat-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/manuel/.el/exwm/exwm hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm
/home/manuel/.el/exwm/exwm-xim hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-xim
/home/manuel/.el/exwm/exwm-workspace hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-workspace
/home/manuel/.el/exwm/exwm-randr hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-randr
/home/manuel/.el/exwm/exwm-manage hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-manage
/home/manuel/.el/exwm/exwm-layout hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-layout
/home/manuel/.el/exwm/exwm-input hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-input
/home/manuel/.el/exwm/exwm-floating hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-floating
/home/manuel/.el/exwm/exwm-core hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-core
/home/manuel/.el/exwm/exwm-config hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-config
/home/manuel/.el/exwm/exwm-cm hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-cm
/home/manuel/.el/exwm/exwm-systemtray hides /home/manuel/.emacs.d/elpa/exwm-0.26/exwm-systemtray
/home/manuel/.emacs.d/elpa/transient-20220918.2101/transient hides /home/manuel/emacs/share/emacs/29.0.50/lisp/transient

Features:
(shadow sort mail-extr emacsbug whitespace gnus-dired magit-patch
sh-script smie hideshow executable find-dired ffap misearch
multi-isearch vc-git vc-dispatcher vc-svn bug-reference tmm cus-start
pulse magit-extras face-remap magit-bookmark magit-submodule
magit-obsolete magit-blame magit-stash magit-reflog magit-bisect
magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff
smerge-mode diff diff-mode git-commit log-edit pcvs-util add-log
magit-core magit-autorevert autorevert filenotify magit-margin
magit-transient magit-process with-editor magit-mode transient magit-git
magit-base magit-section dash compat-27 compat-26 compat compat-macs
paredit edmacro icomplete time battery exwm-randr xcb-randr exwm-config
exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor
xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb
xcb-xproto xcb-types xcb-debug kmacro server stimmung-themes
modus-operandi-theme modus-themes ytdious osm mingus libmpdee reporter
edebug debug backtrace transmission diary-lib diary-loaddefs color
calc-bin calc-ext calc calc-loaddefs rect calc-macs w3m-load mu4e
mu4e-org mu4e-main mu4e-view mu4e-headers mu4e-compose mu4e-draft
mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark
mu4e-message flow-fill mule-util hl-line mu4e-contacts mu4e-update
mu4e-folders mu4e-server mu4e-context mu4e-vars mu4e-helpers mu4e-config
bookmark ido supercite regi ebdb-message ebdb-gnus gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill
kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus
gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int
gnus-range message sendmail yank-media puny rfc822 mml mml-sec epa epg
rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
rfc2047 rfc2045 ietf-drums gmm-utils mailheader gnus-win gnus nnheader
gnus-util mail-utils range mm-util mail-prsvr ebdb-mua ebdb-com crm
ebdb-format ebdb mailabbrev eieio-opt speedbar ezimage dframe eieio-base
pcase timezone org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro
org-footnote org-src ob-comint org-pcomplete org-list org-faces
org-entities org-version ob-emacs-lisp ob-core ob-eval org-table
oc-basic bibtex ol org-keys oc org-compat org-macs org-loaddefs
find-func cal-menu calendar cal-loaddefs visual-basic-mode cl web-mode
disp-table erlang-start smart-tabs-mode skeleton cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
slime-asdf grep slime-tramp tramp tramp-loaddefs trampver
tramp-integration cus-edit cus-load wid-edit files-x tramp-compat rx
shell pcomplete parse-time iso8601 time-date ls-lisp format-spec
slime-fancy slime-indentation slime-cl-indent cl-indent
slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references
slime-compiler-notes-tree slime-scratch slime-presentations advice
bridge slime-macrostep macrostep slime-mdot-fu slime-enclosing-context
slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl elp slime-parse slime
derived cl-extra help-mode lisp-mnt gud apropos compile
text-property-search etags fileloop generator xref project arc-mode
archive-mode noutline outline icons pp comint ansi-osc ansi-color ring
hyperspec thingatpt slime-autoloads dired-aux dired-x dired
dired-loaddefs so-long notifications dbus xml repeat easy-mmode
auctex-autoloads tex-site boxquote-autoloads debbugs-autoloads
hyperbole-autoloads magit-autoloads git-commit-autoloads
magit-section-autoloads dash-autoloads paredit-autoloads
rust-mode-autoloads stimmung-themes-autoloads transient-autoloads
with-editor-autoloads info compat-autoloads ytdious-autoloads package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache
json subr-x map byte-opt gv bytecomp byte-compile cconv url-vars
cl-loaddefs cl-lib rmc iso-transl tooltip eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
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 composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads dbusbind
kqueue lcms2 dynamic-setting system-font-setting font-render-setting
cairo xinput2 x multi-tty make-network-process emacs)

Memory information:
((conses 16 811685 71052)
 (symbols 48 57973 6)
 (strings 32 176669 9548)
 (string-bytes 1 5791024)
 (vectors 16 102826)
 (vector-slots 8 1742825 122739)
 (floats 8 530 454)
 (intervals 56 16815 580)
 (buffers 1000 36))

-- 
Manuel Giraud

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58515; Package emacs. (Sat, 15 Oct 2022 01:38:01 GMT) Full text and rfc822 format available.

Message #8 received at 58515 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Manuel Giraud <manuel <at> ledu-giraud.fr>
Cc: 58515 <at> debbugs.gnu.org
Subject: Re: bug#58515: 29.0.50; [PATCH] Fix menu bar height
Date: Sat, 15 Oct 2022 09:37:28 +0800
Manuel Giraud <manuel <at> ledu-giraud.fr> writes:

> Hi,
>
> This patch tries to fix height calculation for menu bar in X when not
> using a toolkit.  It is taking into account the fact that the menu bar
> face could be boxed.
>
> There are others issues left (i.e. not handled by this patch):
>
>       - a customization of the menu face does not trigger a redisplay,
>         so one has to deactivate/re-activate the menu bar in order to
>         update (I don't know how this is done for other faces)
>         
>       - with a boxed menu bar face, the box is not displayed correctly
>         on the right side of the bar

Thanks.  I think the latter two should be fixed first before installing
this; also, menu bar height computation is rather tricky in its
interaction with various window managers, so I'd wait until after the
Emacs 29 branch is cut.

Also, please move the changes to xterm.c to xfns.c.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58515; Package emacs. (Sat, 15 Oct 2022 08:29:01 GMT) Full text and rfc822 format available.

Message #11 received at 58515 <at> debbugs.gnu.org (full text, mbox):

From: Manuel Giraud <manuel <at> ledu-giraud.fr>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 58515 <at> debbugs.gnu.org
Subject: Re: bug#58515: 29.0.50; [PATCH] Fix menu bar height
Date: Sat, 15 Oct 2022 10:28:35 +0200
Po Lu <luangruo <at> yahoo.com> writes:

[...]

> Thanks.  I think the latter two should be fixed first before installing
> this; also, menu bar height computation is rather tricky in its
> interaction with various window managers, so I'd wait until after the
> Emacs 29 branch is cut.

Ok.  I'll try to keep this around for Emacs 30 then.  In the mean time,
I'll also try to advance on those last two points.

> Also, please move the changes to xterm.c to xfns.c.

Ok.  I'll change this and post to this report.

Best regards,
-- 
Manuel Giraud




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58515; Package emacs. (Sat, 15 Oct 2022 08:30:02 GMT) Full text and rfc822 format available.

Message #14 received at 58515 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Manuel Giraud <manuel <at> ledu-giraud.fr>
Cc: 58515 <at> debbugs.gnu.org
Subject: Re: bug#58515: 29.0.50; [PATCH] Fix menu bar height
Date: Sat, 15 Oct 2022 16:29:25 +0800
Manuel Giraud <manuel <at> ledu-giraud.fr> writes:

> Po Lu <luangruo <at> yahoo.com> writes:
>
> [...]
>
>> Thanks.  I think the latter two should be fixed first before installing
>> this; also, menu bar height computation is rather tricky in its
>> interaction with various window managers, so I'd wait until after the
>> Emacs 29 branch is cut.
>
> Ok.  I'll try to keep this around for Emacs 30 then.  In the mean time,
> I'll also try to advance on those last two points.
>
>> Also, please move the changes to xterm.c to xfns.c.
>
> Ok.  I'll change this and post to this report.

Thanks.




bug marked as fixed in version 30.1, send any further explanations to 58515 <at> debbugs.gnu.org and Manuel Giraud <manuel <at> ledu-giraud.fr> Request was from Manuel Giraud <manuel <at> ledu-giraud.fr> to control <at> debbugs.gnu.org. (Fri, 25 Aug 2023 07:55:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 22 Sep 2023 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 210 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.