From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Leon Newsgroups: gmane.emacs.devel Subject: Re: Icon update Date: Wed, 29 Mar 2006 21:06:24 +0100 Message-ID: References: <2014.1143413876@olgas.newt.com> <2055.1143413986@olgas.newt.com> <858xqvek7c.fsf@lola.goethe.zz> <4428D8BB.8050701@swipnet.se> <442A5D49.1000302@swipnet.se> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1143662788 14621 80.91.229.2 (29 Mar 2006 20:06:28 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 29 Mar 2006 20:06:28 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 29 22:06:24 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FOgvW-0005kG-Bb for ged-emacs-devel@m.gmane.org; Wed, 29 Mar 2006 22:06:24 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FOgvT-0002PV-WD for ged-emacs-devel@m.gmane.org; Wed, 29 Mar 2006 15:05:56 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FOgvF-0002PP-H8 for emacs-devel@gnu.org; Wed, 29 Mar 2006 15:05:41 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FOgvE-0002P4-9S for emacs-devel@gnu.org; Wed, 29 Mar 2006 15:05:40 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FOgvE-0002Oz-0t for emacs-devel@gnu.org; Wed, 29 Mar 2006 15:05:40 -0500 Original-Received: from [80.91.229.2] (helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1FOgxE-0006xI-8t for emacs-devel@gnu.org; Wed, 29 Mar 2006 15:07:45 -0500 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1FOguo-0005Zu-GU for emacs-devel@gnu.org; Wed, 29 Mar 2006 22:05:14 +0200 Original-Received: from sl392.st-edmunds.cam.ac.uk ([131.111.223.202]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 29 Mar 2006 22:05:14 +0200 Original-Received: from sdl.web by sl392.st-edmunds.cam.ac.uk with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 29 Mar 2006 22:05:14 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-To: emacs-devel@gnu.org Original-Lines: 781 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: sl392.st-edmunds.cam.ac.uk Face: iVBORw0KGgoAAAANSUhEUgAAAEAAAAASCAMAAADc8SgQAAAAwFBMVEUCBQEJDAgTFRIaHBof IB4jJCIrLCotLywyNDE3OTY8Pjs/QD5FRkRJS0hRU1BWV1VbXVpiZGFnaWZrbWptb2xvcW52eHV5 enh+gH2Bg4CHiYaLjYqNj4yRk5CXmZaanJmdn5ygop+mqKWqrKmsrqutr6yxs7CztbK4ure7vbq/ wb7DxcLHycbJy8jNz8vQ0s/T1dLW2NXc3tvf4d7h5ODl5+Po6ufr7enu8O3x8/Dz9fL1+PT4+vf6 /Pn7/fr+//wGuxWtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1gIaAyMw1+FInQAAAXxJ REFUOMulk+tygjAQhalFWodYvIwyiNUKA95QVLwQhLPv/1ZNAKWX8Yd6ZsLAZvdL9iQo9KSUx0v3 0wV/BjDSzZY6exxw0BJgrqaPApBtQeDK6eEdAGJ4DQhAZjFmWVZf798LmTUi6QGgmQCysHtfeWa1 OXITj8pMYrh9Vz03vmQbEuArMeETSZBPpIdKvMg9B2faL2NKgl3R/zZIuFZnjDW5bKGnrVfmROLk 5LhWqVmEbEcfu8u3+XD14YrvjeEsWRrlyj3QDN/To6u96VVJmkdO40AJAVU4ZQqfInWDhcpRSABi ZQ4MQYusPJ9KRSDhtgEclROBjQhGK8+hfMgdeMICSpGaRf6iU8kuiUzwnXdQ/BJleJ38/pnQ0yUJ g8JDbOxKbnlgtZDQ7Ql/GGzUxZnR7ngBxEHdCMP1rKOD/rVQhlY18aL5BMuczmncTmJnkF4AO9/3 PN9z3e3tW3uciodzFm58LcUCwWgS4drC39Vu3XsqbMu7/Zn8DYna+irHnqnQAAAAAElFTkSuQmCC User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/23.0.0 (gnu/linux) Cancel-Lock: sha1:BfvXMmA3qUqm6WcdVyKAIiB3gAw= X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:52193 Archived-At: --=-=-= This patch works great. However one of the icon (diropen.xpm) should use the gnome file manager's icon which is named file-manager.png in the sense that dired is the file manger in emacs. Otherwise emacs tool-bar looks really odd. Have a look at this. --=-=-= Content-Type: image/png Content-Disposition: inline; filename=tool-bar.png Content-Transfer-Encoding: base64 Content-Description: tool-bar iVBORw0KGgoAAAANSUhEUgAAAlUAAABBCAIAAAB3vMZBAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4 nO2deUBUVfvHn3tnZQYYNtlhwAUVcRAVNQwiRUEFfH1VqlfULAPNJTPRt3BPfE3TIq1c0leD6pev SwmaS5qCqGkmiwvuzCA7DMzC7Pfe3x9XpnFYZGbQSs/nD73L4Tznnnvmfu9zznPOxQBgXPI8QCAQ CATieQIDAIqi1Gr1n10SBAKBQCCeHvifXQAEAoFAIP4EmGb7FEX9KeVAIBAIBOJpgvQPgUAgEM8j qP8TgUAgEM8jyP9DIBAIxPMI8v8QCAQC8TyC/D8EAoFAPI8g/w+BQCAQzyPm+ke1z8WLF/0f5eLF i6Wlpf7+/hRFGTe6hNa2xo8f3zpZaWlpYGCgqXWJRJKUlGS13dOnT0+YMCEoKCg4OHj69OnXr1/v OL2Zua6tBIswrbFevXpNnjz5sYX/4osvXnzxxbCwsNDQ0Na7TwH/dmhubrYony6sdroaTQvQ+siT s45AIJ4m5v2fj+W3337j8/n0NpfLlcvlq1ev7gIhfpwtHO/IVfXw8KCLoVKpLl26ZJ25w4cPL1iw YMWKFdnZ2Wq1eseOHRMmTPjhhx/69OnT3p+YmTMW48/i6tWrdnZ2jY2Nq1atSklJyc/Pby+lWCxe t27dlStXXFxcWu92Bp1Ox2azbSntjRs36I3Lly8nJycbbzePx7MlWwQCgegMFvh/dAIej2fXAoZh NTU1y5cvN56lUyoUioULF4aGhvbv33/hwoVqtdpSWW5ti8Ph0KdqamqSk5P79u0bExNz4cIF2qix GMnJyQRBREREREREZGVldd4iQRCrV69+8803p0yZYmdn5+LismTJkhdeeGHdunUURd28eVMoFG7e vHnixIkvv/zywoULNRpNa3PGYlAUVVdXl5KS0q9fv9DQ0A8++IBOT+eTnZ2dmJg4YsSIxMTEO3fu 0OmzsrKGDx8eHBwsEolSUlKsqzEcxxkMhpub26RJkyQSiU6noy0ak928ebN79+4URU2aNAkA4uPj IyIiioqKzHapdm4induOHTvi4uKioqJsLLbx5nK5XNPb3V7ttXfctO11STW2d6TNOjEmaK+RIBCI vyZPZPzv3XfflUql+fn5Fy5cqKurW7duXRdmvmDBAj6ff+XKlf/7v//bv3+/2dns7GwGg1FQUFBQ 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 33+Adn6T0dHRxdFXi4qK6uvrpVKp2fqwnSdA6F8uLn9xTIq0/Fetulmv1zXKlKcv3f39RkXhzare IYMiI+NWpViwznXn8Q/0ojdai5+NbNiwQSQSNTU1mX3Ladu2bZGRkWKxmP7KidX5+/j4yOXy8nKJ l5c3huG01NGyRxAGehTQRP+YQH8MwKr+z+Tk5OLi4uzdyxP/+S6bbUcQpFyhoOM4NJqGb789PTYq iKGp0QLj3G315VsG/55D6OeO1VdnBt0Oac+vsLBwSPigmppaAODz+fTopqUZmqmRKSKRaO7cuVu2 bMmYXNzoAaM/AE8S/sOH+WrARCKrl4o2m38dFxdnFg5jepbuWdXr9fTnwKzAQAAAMFv8vyentXRW Eonk6tWrbSZgs9mxsbG1tbURERGbN3t5nb05P6KnprnRyZ2RTjGXmHSTPJalS5e+/vrrn3/+eXl5 uUWFXL169datWy36k/z8/H/961+bN2+2s7PbuXPnnj17XFxcysvLu3fvHh8fLxQef2va0K9Xg1QM Dnag0wPXDlbMhLh3M6ZOnWrpoEZoaCiGwfZPHCfPmLR5y57Y2Fg+n8/hcPSNVXKCalQaAEBvoACA yWRWVla+9dZbTCYzr0D3TnynPuX9/PBE4j87SCCVSisrK+m5n2VlZdu3b+9kzqaUicWL56W78LGD h4pOX7r7+40HPGffqKioN9+dExUV9UR7t3l83hP6yJGjo2N772Vd8kk8AOjbt29FRcXNmzfd3T00 Gg2bzTQYWHTEhMFgoNVCr9cTBKFQKPR6vVajAQB6vVBLWb9+fXZ29rLli2NiZ1ZV3fNyDW9yYa9Z s4aiqOzsXwb4OzO8BzdpOV+fyXPp1kcuq6iuwgC6fnz+2LFjIlGIXK64fftuZGQkLX5WdIE+djWQ lJQUn2mQeRqWrd2en59/c3+WF0C1DSU3A3s0HMas/BqNRiwWl5eXFxcXW20Cx4CJA94y/ldYWEiv y2xqixYnANDr9ZcuXbLSEI4HBAR0PHx47949mUyWnp4+d+7cZumNaX3YWq0+u1InDLUg6DQ+Pj4n J2fVqlWxsbGdfLsqKys7derUuHHjLH3XTEhIWL58eWxs7LZt21555ZXa2tqBAwc2NzfT/Tr9+/ef +972actS9v4H5PUAGrBzAjYJAjvLoqJoHB0dgRnMIyv2bmW8Muufr7z23vz58z08PBr2fVkuBXWD BsMAp6he3o4//fTT22+/HeBd7cCCD1PspTVWvc8+u3T9+F8HZ6urq8+ePSuRSH766afa2lrrhn8j IyMbG+VvL8ooKyuPioqKmTR3tW1RIR1zX1x19pd21x3+2+Hj40OPzDs6OkokEtPhParls0cAoNNp WSwmQRgAwOqPwiQnJzs5OW3ZskUkEu3atdUosbW1tZ7xQXfu3f6tpO5yqSw0lACQUjopAOzYscP2 azQlLCzsypUr0NJ/yGAw2hzGsx2RSHTzQnEUB16ZkxKEwxQS8gC61kwHi3c3NTWVlZU1NjZu3779 ww8/tDRnA1twr0kW3tL/SWtte33FtNbev3//+vXr1r2vPLb+KyoqGhoalEplQUFBeHj40aYm+9Kr hWryjlB0fMMGi2xt2LDB09Nz3759nUxv9adi58yZQ7+/pqam2tnZjRs3Ti6Xb9y4cdOmTXQCulNk 9Vdb0l8HvgH0KpjwIfxjWrp1QzMbNmwYN33M2oX2V4+5rdv6RcQL2wd7+fV8IJZUAYYZtABVOJRV atVTEr/f5vRCsLOukap/QC7/SvkkesX+vjwcI2nt4dmZfNyuk/7fsGHDOvP6GRUVZeunfJ4KPD5v 89alqmaV5H5nv07i7OZw9NC5vPyLT7Rgf3fi4uIIvcrJTlNej+/du/fJvbvQ45z0CCRFUbTzZ936 148lOzv7u7SUTUIgm0FbCRVqWCAQnPz11666ujFjxpw+fbrNU9XV1efOnbt8+XJWVpZ1H6AvKSlJ SkoyTjx96aWX6E9HtVlRZWVlpaWlFRUVq1at2rhxo0VTufPz89euXdvehdBUV1fn5+ffvHlz//79 jo6Oe/fuBYCsrCyBQGDpGnJPH4lEEhMT88knnzx48GDjxo3Lly83e9ClpqZ6M7N6e8DG/wneWbLB lsdgSUnJli1bjHdNJBIJBAKJRNLU1CQSiWi/s7i4uLi4mJ7LiL4C35p29c90zfXO+3/PEjw+75VX Rln0JwqV/ta1u8UlN59QkZ4N+vbtq1KpvLy8rI7/7jzGtWbg0S/vPAkyMjJ2ZmREAigBigWCXXv3 duG7dscfoKdny7T+cqR1dKC1Eonk4sWLZ8+ePXDgwLJlyyx9fMvl8qFDhz52FS76chISEv76b8mt +fzzz5uamgCgzYE9uVyelpbW1NS01MJ4KMSToCv9v2cPHp/3+ESPYvtEiGee3NxcsVj81ILQTPt4 n5z40cjlcjoC5W/dyxQXF9fB6icikSg0NDQ5OflvfY0IBHSgfwgEAoFAPMNYHAiOQCAQCMQzANI/ BAKBQDyPIP1DIBAIxPMI0j8EAoFAPI8g/UMgEAjE84j5+i/tLcqHQCAQCMSzxP8DA118UPDALx8A AAAASUVORK5CYII= --=-=-= Leon writes: > Can someone show me how to use this patch? I did a patch -p4 < > emacs-stokc.diff in emacs CVS dir, and it asked me for `file to > patch'. Thank you. > > "Jan D." writes: > >> Leon wrote: >>> "Jan D." writes: >>> >>>> David Kastrup wrote: >>>>> Bill Wohler writes: >>>>> >>>>>> By the way, if anyone has GTK experience, the Emacs code should be using >>>>>> the GTK libraries to render the icons and only using our built-in icons >>>>>> as a fall-back. That way, Emacs icons will pick up theme changes. >>>> I have a patch that does just that, but I decided to wait with it >>>> until after the release. It will only work for Emacs compiled with >>>> GTK, but I guess that is obvious. >>>> >>>> Jan D. >>> Sounds interesting. May I have a copy of the patch? Thanks. >> >> Attached. But some icons don't have stock items, so the effect may be >> strange for some themes. >> >> Jan D. >> Index: lisp/info.el >> =================================================================== >> RCS file: /cvsroot/emacs/emacs/lisp/info.el,v >> retrieving revision 1.481 >> diff -u -c -r1.481 info.el >> *** lisp/info.el 11 Mar 2006 22:35:18 -0000 1.481 >> --- lisp/info.el 29 Mar 2006 10:05:16 -0000 >> *************** >> *** 3209,3224 **** >> (defvar info-tool-bar-map >> (if (display-graphic-p) >> (let ((map (make-sparse-keymap))) >> ! (tool-bar-local-item-from-menu 'Info-exit "close" map Info-mode-map) >> ! (tool-bar-local-item-from-menu 'Info-history-back "left-arrow" map Info-mode-map) >> ! (tool-bar-local-item-from-menu 'Info-history-forward "right-arrow" map Info-mode-map) >> (tool-bar-local-item-from-menu 'Info-prev "prev-node" map Info-mode-map) >> (tool-bar-local-item-from-menu 'Info-next "next-node" map Info-mode-map) >> (tool-bar-local-item-from-menu 'Info-up "up-node" map Info-mode-map) >> ! (tool-bar-local-item-from-menu 'Info-top-node "home" map Info-mode-map) >> ! (tool-bar-local-item-from-menu 'Info-goto-node "jump-to" map Info-mode-map) >> ! (tool-bar-local-item-from-menu 'Info-index "index" map Info-mode-map) >> ! (tool-bar-local-item-from-menu 'Info-search "search" map Info-mode-map) >> map))) >> >> (defvar Info-menu-last-node nil) >> --- 3209,3231 ---- >> (defvar info-tool-bar-map >> (if (display-graphic-p) >> (let ((map (make-sparse-keymap))) >> ! (tool-bar-local-item-from-menu 'Info-exit "close" map Info-mode-map >> ! :stock "gtk-close") >> ! (tool-bar-local-item-from-menu 'Info-history-back "left-arrow" map Info-mode-map >> ! :stock "gtk-go-back") >> ! (tool-bar-local-item-from-menu 'Info-history-forward "right-arrow" map Info-mode-map >> ! :stock "gtk-go-forward") >> (tool-bar-local-item-from-menu 'Info-prev "prev-node" map Info-mode-map) >> (tool-bar-local-item-from-menu 'Info-next "next-node" map Info-mode-map) >> (tool-bar-local-item-from-menu 'Info-up "up-node" map Info-mode-map) >> ! (tool-bar-local-item-from-menu 'Info-top-node "home" map Info-mode-map >> ! :stock "gtk-home") >> ! (tool-bar-local-item-from-menu 'Info-goto-node "jump-to" map Info-mode-map >> ! :stock "gtk-jump-to") >> ! (tool-bar-local-item-from-menu 'Info-index "index" map Info-mode-map >> ! :stock "gtk-index") >> ! (tool-bar-local-item-from-menu 'Info-search "search" map Info-mode-map >> ! :stock "gtk-find") >> map))) >> >> (defvar Info-menu-last-node nil) >> Index: lisp/tool-bar.el >> =================================================================== >> RCS file: /cvsroot/emacs/emacs/lisp/tool-bar.el,v >> retrieving revision 1.5 >> diff -u -c -r1.5 tool-bar.el >> *** lisp/tool-bar.el 6 Feb 2006 14:33:35 -0000 1.5 >> --- lisp/tool-bar.el 29 Mar 2006 10:05:16 -0000 >> *************** >> *** 232,279 **** >> ;; People say it's bad to have EXIT on the tool bar, since users >> ;; might inadvertently click that button. >> ;;(tool-bar-add-item-from-menu 'save-buffers-kill-emacs "exit") >> ! (tool-bar-add-item-from-menu 'find-file "new") >> ! (tool-bar-add-item-from-menu 'menu-find-file-existing "open") >> ! (tool-bar-add-item-from-menu 'dired "diropen") >> ! (tool-bar-add-item-from-menu 'kill-this-buffer "close") >> (tool-bar-add-item-from-menu 'save-buffer "save" nil >> :visible '(or buffer-file-name >> (not (eq 'special >> (get major-mode >> 'mode-class))))) >> (tool-bar-add-item-from-menu 'write-file "saveas" nil >> :visible '(or buffer-file-name >> (not (eq 'special >> (get major-mode >> 'mode-class))))) >> (tool-bar-add-item-from-menu 'undo "undo" nil >> :visible '(not (eq 'special (get major-mode >> 'mode-class)))) >> (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [cut]) >> "cut" nil >> :visible '(not (eq 'special (get major-mode >> 'mode-class)))) >> (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [copy]) >> ! "copy") >> (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [paste]) >> "paste" nil >> :visible '(not (eq 'special (get major-mode >> 'mode-class)))) >> ! (tool-bar-add-item-from-menu 'nonincremental-search-forward "search") >> ;;(tool-bar-add-item-from-menu 'ispell-buffer "spell") >> >> ;; There's no icon appropriate for News and we need a command rather >> ;; than a lambda for Read Mail. >> ;;(tool-bar-add-item-from-menu 'compose-mail "mail/compose") >> >> ! (tool-bar-add-item-from-menu 'print-buffer "print") >> (tool-bar-add-item "preferences" 'customize 'customize >> :help "Edit preferences (customize)") >> >> (tool-bar-add-item "help" (lambda () >> (interactive) >> (popup-menu menu-bar-help-menu)) >> 'help >> :help "Pop up the Help menu") >> ) >> >> --- 232,291 ---- >> ;; People say it's bad to have EXIT on the tool bar, since users >> ;; might inadvertently click that button. >> ;;(tool-bar-add-item-from-menu 'save-buffers-kill-emacs "exit") >> ! (tool-bar-add-item-from-menu 'find-file "new" nil :stock "gtk-new") >> ! (tool-bar-add-item-from-menu 'menu-find-file-existing "open" >> ! nil :stock "gtk-open") >> ! (tool-bar-add-item-from-menu 'dired "diropen" >> ! nil :stock "gtk-directory") >> ! (tool-bar-add-item-from-menu 'kill-this-buffer "close" >> ! nil :stock "gtk-close") >> (tool-bar-add-item-from-menu 'save-buffer "save" nil >> + :stock "gtk-save" >> :visible '(or buffer-file-name >> (not (eq 'special >> (get major-mode >> 'mode-class))))) >> (tool-bar-add-item-from-menu 'write-file "saveas" nil >> + :stock "gtk-save-as" >> :visible '(or buffer-file-name >> (not (eq 'special >> (get major-mode >> 'mode-class))))) >> (tool-bar-add-item-from-menu 'undo "undo" nil >> + :stock "gtk-undo" >> :visible '(not (eq 'special (get major-mode >> 'mode-class)))) >> (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [cut]) >> "cut" nil >> + :stock "gtk-cut" >> :visible '(not (eq 'special (get major-mode >> 'mode-class)))) >> (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [copy]) >> ! "copy" nil :stock "gtk-copy") >> (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [paste]) >> "paste" nil >> + :stock "gtk-paste" >> :visible '(not (eq 'special (get major-mode >> 'mode-class)))) >> ! (tool-bar-add-item-from-menu 'nonincremental-search-forward "search" >> ! nil :stock "gtk-find") >> ;;(tool-bar-add-item-from-menu 'ispell-buffer "spell") >> >> ;; There's no icon appropriate for News and we need a command rather >> ;; than a lambda for Read Mail. >> ;;(tool-bar-add-item-from-menu 'compose-mail "mail/compose") >> >> ! (tool-bar-add-item-from-menu 'print-buffer "print" >> ! nil :stock "gtk-print") >> (tool-bar-add-item "preferences" 'customize 'customize >> + :stock "gtk-preferences" >> :help "Edit preferences (customize)") >> >> (tool-bar-add-item "help" (lambda () >> (interactive) >> (popup-menu menu-bar-help-menu)) >> 'help >> + :stock "gtk-help" >> :help "Pop up the Help menu") >> ) >> >> Index: src/dispextern.h >> =================================================================== >> RCS file: /cvsroot/emacs/emacs/src/dispextern.h,v >> retrieving revision 1.215 >> diff -u -c -r1.215 dispextern.h >> *** src/dispextern.h 15 Mar 2006 07:55:36 -0000 1.215 >> --- src/dispextern.h 29 Mar 2006 10:05:17 -0000 >> *************** >> *** 2539,2544 **** >> --- 2539,2547 ---- >> /* Help string. */ >> TOOL_BAR_ITEM_HELP, >> >> + /* Stock image. */ >> + TOOL_BAR_ITEM_STOCK_IMAGE, >> + >> /* Sentinel = number of slots in tool_bar_items occupied by one >> tool-bar item. */ >> TOOL_BAR_ITEM_NSLOTS >> Index: src/gtkutil.c >> =================================================================== >> RCS file: /cvsroot/emacs/emacs/src/gtkutil.c,v >> retrieving revision 1.84 >> diff -u -c -r1.84 gtkutil.c >> *** src/gtkutil.c 24 Feb 2006 15:36:39 -0000 1.84 >> --- src/gtkutil.c 29 Mar 2006 10:05:17 -0000 >> *************** >> *** 3243,3248 **** >> --- 3243,3253 ---- >> #define XG_TOOL_BAR_LAST_MODIFIER "emacs-tool-bar-modifier" >> >> >> + /* The key for the data we put in the GtkImage widgets. The data is >> + the stock name used by Emacs. We use this to see if we need to update >> + the GtkImage with a new image. */ >> + #define XG_TOOL_BAR_STOCK_NAME "emacs-tool-bar-stock-name" >> + >> /* Callback function invoked when a tool bar item is pressed. >> W is the button widget in the tool bar that got pressed, >> CLIENT_DATA is an integer that is the index of the button in the >> *************** >> *** 3525,3530 **** >> --- 3530,3536 ---- >> GList *iter; >> struct x_output *x = f->output_data.x; >> int hmargin, vmargin; >> + GtkToolbar *wtoolbar; >> >> if (! FRAME_GTK_WIDGET (f)) >> return; >> *************** >> *** 3558,3566 **** >> if (! x->toolbar_widget) >> xg_create_tool_bar (f); >> >> ! gtk_widget_size_request (x->toolbar_widget, &old_req); >> ! >> ! icon_list = gtk_container_get_children (GTK_CONTAINER (x->toolbar_widget)); >> iter = icon_list; >> >> for (i = 0; i < f->n_tool_bar_items; ++i) >> --- 3564,3573 ---- >> if (! x->toolbar_widget) >> xg_create_tool_bar (f); >> >> ! wtoolbar = GTK_TOOLBAR (x->toolbar_widget); >> ! gtk_widget_size_request (GTK_WIDGET (wtoolbar), &old_req); >> ! >> ! icon_list = gtk_container_get_children (GTK_CONTAINER (wtoolbar)); >> iter = icon_list; >> >> for (i = 0; i < f->n_tool_bar_items; ++i) >> *************** >> *** 3571,3622 **** >> int selected_p = !NILP (PROP (TOOL_BAR_ITEM_SELECTED_P)); >> int idx; >> int img_id; >> ! struct image *img; >> Lisp_Object image; >> GtkWidget *wicon = iter ? GTK_WIDGET (iter->data) : 0; >> >> if (iter) iter = g_list_next (iter); >> >> ! /* If image is a vector, choose the image according to the >> ! button state. */ >> ! image = PROP (TOOL_BAR_ITEM_IMAGES); >> ! if (VECTORP (image)) >> ! { >> ! if (enabled_p) >> ! idx = (selected_p >> ! ? TOOL_BAR_IMAGE_ENABLED_SELECTED >> ! : TOOL_BAR_IMAGE_ENABLED_DESELECTED); >> ! else >> ! idx = (selected_p >> ! ? TOOL_BAR_IMAGE_DISABLED_SELECTED >> ! : TOOL_BAR_IMAGE_DISABLED_DESELECTED); >> ! >> ! xassert (ASIZE (image) >= idx); >> ! image = AREF (image, idx); >> ! } >> ! else >> ! idx = -1; >> >> ! /* Ignore invalid image specifications. */ >> ! if (!valid_image_p (image)) >> { >> ! if (wicon) gtk_widget_hide (wicon); >> ! continue; >> } >> >> ! img_id = lookup_image (f, image); >> ! img = IMAGE_FROM_ID (f, img_id); >> ! prepare_image_for_display (f, img); >> >> - if (img->load_failed_p || img->pixmap == None) >> - { >> - if (wicon) gtk_widget_hide (wicon); >> - continue; >> } >> >> if (! wicon) >> { >> ! GtkWidget *w = xg_get_image_for_pixmap (f, img, x->widget, NULL); >> GtkToolItem *ti = gtk_tool_button_new (w, ""); >> >> gtk_misc_set_padding (GTK_MISC (w), hmargin, vmargin); >> --- 3578,3663 ---- >> int selected_p = !NILP (PROP (TOOL_BAR_ITEM_SELECTED_P)); >> int idx; >> int img_id; >> ! int icon_size = 0; >> ! struct image *img = NULL; >> Lisp_Object image; >> + Lisp_Object stock; >> GtkWidget *wicon = iter ? GTK_WIDGET (iter->data) : 0; >> + GtkStockItem stock_item; >> + char *stock_name = NULL; >> >> if (iter) iter = g_list_next (iter); >> >> ! stock = PROP (TOOL_BAR_ITEM_STOCK_IMAGE); >> >> ! if (! NILP (stock) && STRINGP (stock) >> ! && gtk_stock_lookup (SSDATA (stock), &stock_item)) >> { >> ! stock_name = SSDATA (stock); >> ! icon_size = gtk_toolbar_get_icon_size (wtoolbar); >> } >> + else >> + { >> + /* No stock image, or stock item not known. Try regular image. */ >> >> ! /* If image is a vector, choose the image according to the >> ! button state. */ >> ! image = PROP (TOOL_BAR_ITEM_IMAGES); >> ! if (VECTORP (image)) >> ! { >> ! if (enabled_p) >> ! idx = (selected_p >> ! ? TOOL_BAR_IMAGE_ENABLED_SELECTED >> ! : TOOL_BAR_IMAGE_ENABLED_DESELECTED); >> ! else >> ! idx = (selected_p >> ! ? TOOL_BAR_IMAGE_DISABLED_SELECTED >> ! : TOOL_BAR_IMAGE_DISABLED_DESELECTED); >> ! >> ! xassert (ASIZE (image) >= idx); >> ! image = AREF (image, idx); >> ! } >> ! else >> ! idx = -1; >> ! >> ! /* Ignore invalid image specifications. */ >> ! if (!valid_image_p (image)) >> ! { >> ! if (wicon) gtk_widget_hide (wicon); >> ! continue; >> ! } >> ! >> ! img_id = lookup_image (f, image); >> ! img = IMAGE_FROM_ID (f, img_id); >> ! prepare_image_for_display (f, img); >> ! >> ! if (img->load_failed_p || img->pixmap == None) >> ! { >> ! if (wicon) gtk_widget_hide (wicon); >> ! continue; >> ! } >> >> } >> >> if (! wicon) >> { >> ! GtkWidget *w; >> ! if (stock_name) >> ! { >> ! w = gtk_image_new_from_stock (stock_name, icon_size); >> ! g_object_set_data_full (G_OBJECT (w), XG_TOOL_BAR_STOCK_NAME, >> ! (gpointer) xstrdup (stock_name), >> ! (GDestroyNotify) xfree); >> ! } >> ! else >> ! { >> ! w = xg_get_image_for_pixmap (f, img, x->widget, NULL); >> ! /* Save the image so we can see if an update is needed when >> ! this function is called again. */ >> ! g_object_set_data (G_OBJECT (w), XG_TOOL_BAR_IMAGE_DATA, >> ! (gpointer)img->pixmap); >> ! } >> ! >> GtkToolItem *ti = gtk_tool_button_new (w, ""); >> >> gtk_misc_set_padding (GTK_MISC (w), hmargin, vmargin); >> *************** >> *** 3632,3641 **** >> gtk_widget_show (GTK_WIDGET (ti)); >> gtk_widget_show (GTK_WIDGET (w)); >> >> - /* Save the image so we can see if an update is needed when >> - this function is called again. */ >> - g_object_set_data (G_OBJECT (w), XG_TOOL_BAR_IMAGE_DATA, >> - (gpointer)img->pixmap); >> >> g_object_set_data (G_OBJECT (ti), XG_FRAME_DATA, (gpointer)f); >> >> --- 3673,3678 ---- >> *************** >> *** 3684,3698 **** >> GtkImage *wimage = GTK_IMAGE (chlist->data); >> Pixmap old_img = (Pixmap)g_object_get_data (G_OBJECT (wimage), >> XG_TOOL_BAR_IMAGE_DATA); >> g_list_free (chlist); >> >> ! gtk_misc_set_padding (GTK_MISC (wimage), hmargin, vmargin); >> >> ! if (old_img != img->pixmap) >> ! (void) xg_get_image_for_pixmap (f, img, x->widget, wimage); >> ! >> ! g_object_set_data (G_OBJECT (wimage), XG_TOOL_BAR_IMAGE_DATA, >> ! (gpointer)img->pixmap); >> >> gtk_widget_set_sensitive (wicon, enabled_p); >> gtk_widget_show (wicon); >> --- 3721,3751 ---- >> GtkImage *wimage = GTK_IMAGE (chlist->data); >> Pixmap old_img = (Pixmap)g_object_get_data (G_OBJECT (wimage), >> XG_TOOL_BAR_IMAGE_DATA); >> + gpointer old_stock_name = g_object_get_data (G_OBJECT (wimage), >> + XG_TOOL_BAR_STOCK_NAME); >> g_list_free (chlist); >> >> ! if (stock_name && >> ! (! old_stock_name || strcmp (old_stock_name, stock_name) != 0)) >> ! { >> ! gtk_image_set_from_stock (wimage, stock_name, icon_size); >> ! g_object_set_data_full (G_OBJECT (wimage), XG_TOOL_BAR_STOCK_NAME, >> ! (gpointer) xstrdup (stock_name), >> ! (GDestroyNotify) xfree); >> ! g_object_set_data (G_OBJECT (wimage), XG_TOOL_BAR_IMAGE_DATA, >> ! NULL); >> ! } >> ! else if (img && old_img != img->pixmap) >> ! { >> ! (void) xg_get_image_for_pixmap (f, img, x->widget, wimage); >> ! g_object_set_data (G_OBJECT (wimage), XG_TOOL_BAR_IMAGE_DATA, >> ! (gpointer)img->pixmap); >> ! >> ! g_object_set_data (G_OBJECT (wimage), XG_TOOL_BAR_STOCK_NAME, >> ! NULL); >> ! } >> >> ! gtk_misc_set_padding (GTK_MISC (wimage), hmargin, vmargin); >> >> gtk_widget_set_sensitive (wicon, enabled_p); >> gtk_widget_show (wicon); >> *************** >> *** 3710,3716 **** >> iter = g_list_next (iter); >> } >> >> ! gtk_widget_size_request (x->toolbar_widget, &new_req); >> if (old_req.height != new_req.height >> && ! FRAME_X_OUTPUT (f)->toolbar_detached) >> { >> --- 3763,3769 ---- >> iter = g_list_next (iter); >> } >> >> ! gtk_widget_size_request (GTK_WIDGET (wtoolbar), &new_req); >> if (old_req.height != new_req.height >> && ! FRAME_X_OUTPUT (f)->toolbar_detached) >> { >> Index: src/keyboard.c >> =================================================================== >> RCS file: /cvsroot/emacs/emacs/src/keyboard.c,v >> retrieving revision 1.851 >> diff -u -c -r1.851 keyboard.c >> *** src/keyboard.c 29 Mar 2006 08:00:23 -0000 1.851 >> --- src/keyboard.c 29 Mar 2006 10:05:18 -0000 >> *************** >> *** 7573,7582 **** >> >> static int ntool_bar_items; >> >> ! /* The symbols `tool-bar', and `:image'. */ >> >> extern Lisp_Object Qtool_bar; >> Lisp_Object QCimage; >> >> /* Function prototypes. */ >> >> --- 7573,7583 ---- >> >> static int ntool_bar_items; >> >> ! /* The symbols `tool-bar', `:image' and `:stock'. */ >> >> extern Lisp_Object Qtool_bar; >> Lisp_Object QCimage; >> + Lisp_Object Qstock; >> >> /* Function prototypes. */ >> >> *************** >> *** 7862,7867 **** >> --- 7863,7871 ---- >> /* Value is either a single image specification or a vector >> of 4 such specifications for the different button states. */ >> PROP (TOOL_BAR_ITEM_IMAGES) = value; >> + else if (EQ (key, Qstock)) >> + /* ':stock STRING' */ >> + PROP (TOOL_BAR_ITEM_STOCK_IMAGE) = value; >> } >> >> /* If got a filter apply it on binding. */ >> *************** >> *** 10846,10851 **** >> --- 10850,10858 ---- >> staticpro (&Qhelp_echo); >> Qhelp_echo = intern ("help-echo"); >> >> + staticpro (&Qstock); >> + Qstock = intern (":stock"); >> + >> staticpro (&item_properties); >> item_properties = Qnil; >> >> _______________________________________________ >> Emacs-devel mailing list >> Emacs-devel@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-devel -- Leon --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel --=-=-=--