Subject: bug#15281: closed (Re: bug#15281: 24.3.50; Some tool-bar buttons disappear in GTK3 Emacs)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 06 Sep 2013 05:10:07 +0000

Your bug report

#15281: 24.3.50; Some tool-bar buttons disappear in GTK3 Emacs

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].

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

Subject: Re: bug#15281: 24.3.50; Some tool-bar buttons disappear in GTK3 Emacs
From: Katsumi Yamaoka <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Fri, 06 Sep 2013 14:08:58 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Jan Djärv wrote:
> Hello.

> Gtk+ does its own enable/disable/selected modifications of images, and
> Emacs can't/shouldn't override that.  So for Gtk+ item 1 to 3 are
> ignored.  Documentation should be updated though.

> 	Jan D.

I see.  I'm closing this bug.  Thank you.

> 6 sep 2013 kl. 02:02 skrev Katsumi Yamaoka <[email-masked]>:

>> Hi,
>>
>> The Info manual describes as follows:
>>
>> ,---- (info "(Elisp)Tool Bar")
>>|`:image IMAGE'
>>|     IMAGES is either a single image specification or a vector of four
>>|     image specifications.  If you use a vector of four, one of them is
>>|     used, depending on circumstances:
>>|
>>|    item 0
>>|          Used when the item is enabled and selected.
>>|
>>|    item 1
>>|          Used when the item is enabled and deselected.
>>|
>>|    item 2
>>|          Used when the item is disabled and selected.
>>|
>>|    item 3
>>|          Used when the item is disabled and deselected.
>>|
>>|   If IMAGE is a single image specification, Emacs draws the tool bar
>>|button in disabled state by applying an edge-detection algorithm to the
>>|image.
>> `----
>>
>> However, a tool-bar button that has such images is not shown in
>> GTK3 Emacs.  Moreover, LUCID Emacs (i.e. --with-x-toolkit=lucid)
>> shows such a button, however only the `item 1' image is used no
>> matter what circumstance is.
>>
>> This works:
>>
>> (let* ((enable t)
>>       (icon (find-image '((:type xpm :file "cancel.xpm"))))
>>       (keymap
>> 	`(keymap
>> 	  (tool-bar
>> 	   keymap
>> 	   (ignore menu-item "IGNORE" ignore
>> 		   :enable ,enable :image ,icon)))))
>>  (pop-to-buffer (get-buffer-create "*testing*"))
>>  (use-local-map keymap))
>>
>> This doesn't work as expected:
>>
>> (let* ((enable t)
>>       (icon (vector
>> 	      (find-image '((:type xpm :file "right-arrow.xpm")))
>> 	      (find-image '((:type xpm :file "left-arrow.xpm")))
>> 	      (find-image '((:type xpm :file "cancel.xpm")))
>> 	      (find-image '((:type xpm :file "close.xpm")))))
>>       (keymap
>> 	`(keymap
>> 	  (tool-bar
>> 	   keymap
>> 	   (ignore menu-item "IGNORE" ignore
>> 		   :enable ,enable :image ,icon)))))
>>  (pop-to-buffer (get-buffer-create "*testing*"))
>>  (use-local-map keymap))
>>
>> Thanks.
>>
>> In GNU Emacs 24.3.50.1 (i686-pc-cygwin, GTK+ Version 3.8.2)
>> of 2013-09-06 on localhost
>> Bzr revision: 114147 [email-masked]
>> Windowing system distributor `The Cygwin/X Project', version 11.0.11402000
>> Configured using:
>> `configure --verbose --with-x-toolkit=gtk3 --without-imagemagick
>> --without-dbus --without-gconf --without-gsettings'
>>
>> In GNU Emacs 24.3.50.1 (i686-pc-cygwin, X toolkit, Xaw3d scroll bars)
>> of 2013-09-06 on localhost
>> Bzr revision: 114147 [email-masked]
>> Windowing system distributor `The Cygwin/X Project', version 11.0.11402000
>> Configured using:
>> `configure --verbose --with-x-toolkit=lucid --without-imagemagick
>> --without-dbus --without-gconf --without-gsettings'

Subject: 24.3.50; Some tool-bar buttons disappear in GTK3 Emacs
From: Katsumi Yamaoka <[email-masked]>
To: [email-masked]
Date: Fri, 06 Sep 2013 09:02:57 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

The Info manual describes as follows:

,---- (info "(Elisp)Tool Bar")
|`:image IMAGE'
|     IMAGES is either a single image specification or a vector of four
|     image specifications.  If you use a vector of four, one of them is
|     used, depending on circumstances:
|
|    item 0
|          Used when the item is enabled and selected.
|
|    item 1
|          Used when the item is enabled and deselected.
|
|    item 2
|          Used when the item is disabled and selected.
|
|    item 3
|          Used when the item is disabled and deselected.
|
|   If IMAGE is a single image specification, Emacs draws the tool bar
|button in disabled state by applying an edge-detection algorithm to the
|image.
`----

However, a tool-bar button that has such images is not shown in
GTK3 Emacs.  Moreover, LUCID Emacs (i.e. --with-x-toolkit=lucid)
shows such a button, however only the `item 1' image is used no
matter what circumstance is.

This works:

(let* ((enable t)
       (icon (find-image '((:type xpm :file "cancel.xpm"))))
       (keymap
	`(keymap
	  (tool-bar
	   keymap
	   (ignore menu-item "IGNORE" ignore
		   :enable ,enable :image ,icon)))))
  (pop-to-buffer (get-buffer-create "*testing*"))
  (use-local-map keymap))

This doesn't work as expected:

(let* ((enable t)
       (icon (vector
	      (find-image '((:type xpm :file "right-arrow.xpm")))
	      (find-image '((:type xpm :file "left-arrow.xpm")))
	      (find-image '((:type xpm :file "cancel.xpm")))
	      (find-image '((:type xpm :file "close.xpm")))))
       (keymap
	`(keymap
	  (tool-bar
	   keymap
	   (ignore menu-item "IGNORE" ignore
		   :enable ,enable :image ,icon)))))
  (pop-to-buffer (get-buffer-create "*testing*"))
  (use-local-map keymap))

Thanks.

In GNU Emacs 24.3.50.1 (i686-pc-cygwin, GTK+ Version 3.8.2)
 of 2013-09-06 on localhost
Bzr revision: 114147 [email-masked]
Windowing system distributor `The Cygwin/X Project', version 11.0.11402000
Configured using:
 `configure --verbose --with-x-toolkit=gtk3 --without-imagemagick
 --without-dbus --without-gconf --without-gsettings'

In GNU Emacs 24.3.50.1 (i686-pc-cygwin, X toolkit, Xaw3d scroll bars)
 of 2013-09-06 on localhost
Bzr revision: 114147 [email-masked]
Windowing system distributor `The Cygwin/X Project', version 11.0.11402000
Configured using:
 `configure --verbose --with-x-toolkit=lucid --without-imagemagick
 --without-dbus --without-gconf --without-gsettings'