Subject: bug#71162: closed (Re: bug#71162: In Linux Emacs 27.1 rejects custom toolbar icons)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 27 May 2024 11:21:02 +0000

Your bug report

#71162: 27.1; toolbar icons

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
71162: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71162
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#71162: In Linux Emacs 27.1 rejects custom toolbar icons
From: Eli Zaretskii <[email-masked]>
To: David McCracken <[email-masked]>
Cc: [email-masked]
Date: Mon, 27 May 2024 14:20:39 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Sun, 26 May 2024 21:16:19 -0700
> Cc: [email-masked]
> From: David McCracken <[email-masked]>
> 
> grep -r XPM3 * in /usr/share/emacs shows etc/PROBLEMS:** macOS doesn't come with libxpm, so only XPM3
> is supported. This subservience  to Apple contradicts the general principle of open source. However, we can
> adapt to it. sudo install xpmutils installs sxpm, which can convert XPM 1 and 2 to 3. sxpm --help is inscrutable.
> sxpm file.xpm - o file.xpm changes file.xpm to XPM3. When this is applied to the icon files, emacs 27.1 in Linux
> correctly uses them in the toolbar even when they are located in ~/icons.
> 
> Many thanks to Benjamin Riefenstahl and Eli Zaretskii for helping me to resolve this problem.

OK, so I'm now closing this bug.

Subject: [email-masked]
From: David McCracken <[email-masked]>
To: [email-masked]
Date: Thu, 23 May 2024 21:08:24 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

From: d <[email-masked]>
To: [email-masked]
Subject: 27.1; toolbar icons
My Linux computers are used only for local development and don't have 
email access. I copied this from the Linux computer (X990) in which the 
problem exists. That I am sending this to you from a Windows computer is 
irrelevant.
--text follows this line--
I have developed a library that includes a toolbar with custom icons. It
works in all versions of Emacs in Windows and in Emacs version 26.3
under Ubuntu-Mate 20.54 but the toolbar doesn't work in Emacs 27.1 under
Ubuntu-Mate 22.04. In my preferred configuration I put my icons under
the user home directory so that this doesn't change if Emacs is
updated. My library accesses this with e.g.
(tool-bar-add-item "~/icons/lxa-next"
to use my lxa-next.xpm icon. In Emacs 26.3 it also works to put my icon
in /usr/share/emacs/26.3/etc/images and refer to it as simply
"lxa-next". Emacs 27.1 shows nothing either way. My lxa-next.xpm appears
similar to the native lock-broken.xpm (4.7kB vs. 4.6kB) so I
experimented referring to that instead of mine and it worked. I also
tested left-arrow but instead of left-arrow.xpm or pbm, it showed a very
plain < image that doesn't exist in the images directory. It should be
noted that there is a lock-broken.pbm but the xpm version was
automatically selected. The icon selection mechanism of Emacs 26.3 is
usable but could be improved by accepting an explicit icon file
extension. That of 27.1 is unusable and, unless we can fix it, I will
have to advise users of my library to install an older version of Emacs.

In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, 
cairo version 1.16.0)
  of 2023-08-16, modified by Debian built on lcy02-amd64-041
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.4 LTS

Recent messages:
Invalid XPM3 file ((image :type xpm :file 
/usr/share/emacs/27.1/etc/images/lxa-next.xpm))
Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-fwdlink.xpm))
Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-pin.xpm))
Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-prev.xpm))
Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-next.xpm))
Invalid XPM3 file ((image :type xpm :file 
/usr/share/emacs/27.1/etc/images/lxa-next.xpm :mask heuristic))
Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-fwdlink.xpm 
:mask heuristic))
Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-pin.xpm 
:mask heuristic))
Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-prev.xpm 
:mask heuristic))
Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-next.xpm 
:mask heuristic))

Configured using:
  'configure --build x86_64-linux-gnu --prefix=/usr
  --sharedstatedir=/var/lib --libexecdir=/usr/lib
  --localstatedir=/var/lib --infodir=/usr/share/info
  --mandir=/usr/share/man --enable-libsystemd --with-pop=yes
  --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp
  --with-sound=alsa --without-gconf --with-mailutils --build
  x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
  --libexecdir=/usr/lib --localstatedir=/var/lib
  --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
  --with-pop=yes
  --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp
  --with-sound=alsa --without-gconf --with-mailutils --with-cairo
  --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars
  'CFLAGS=-g -O2
  -ffile-prefix-map=/build/emacs-WL9mhG/emacs-27.1+1=. 
-fstack-protector-strong
  -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
  -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD
JSON PDUMPER LCMS2 GMP

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

Major mode: Emacs-Lisp

Minor modes in effect:
   show-paren-mode: t
   delete-selection-mode: t
   tooltip-mode: t
   global-eldoc-mode: t
   eldoc-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
   column-number-mode: t
   line-number-mode: t
   transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml mml-sec epa derived epg epg-config gnus-util
rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date server
cus-edit cus-start cus-load wid-edit linkxall edmacro kmacro pcase paren
delsel bs finder-inf package easymenu browse-url url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json subr-x map url-vars seq byte-opt gv bytecomp
byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type 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 elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer 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 composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray 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 threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit
x multi-tty make-network-process emacs)

Memory information:
((conses 16 91987 8892)
   (symbols 48 9691 1)
   (strings 32 26045 2661)
   (string-bytes 1 804745)
   (vectors 16 14071)
   (vector-slots 8 176572 9434)
   (floats 8 34 18)
   (intervals 56 1929 0)
   (buffers 1000 12))