Package: emacs;
Reported by: Carlos Pita <carlosjosepita2 <at> gmail.com>
Date: Wed, 20 Oct 2021 22:04:01 UTC
Severity: wishlist
Merged with 51648
Found in version 28.0.60
Fixed in version 29.0.50
Done: Juri Linkov <juri <at> linkov.net>
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 51309 in the body.
You can then email your comments to 51309 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
bug-gnu-emacs <at> gnu.org
:bug#51309
; Package emacs
.
(Wed, 20 Oct 2021 22:04:01 GMT) Full text and rfc822 format available.Carlos Pita <carlosjosepita2 <at> gmail.com>
:bug-gnu-emacs <at> gnu.org
.
(Wed, 20 Oct 2021 22:04:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Carlos Pita <carlosjosepita2 <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 28.0.60; [Feature Request] Allow to customize tab-bar button images Date: Wed, 20 Oct 2021 19:03:01 -0300
[Message part 1 (text/plain, inline)]
Hi all, as you can see in the attached images, the xpm files provided for tab-bar buttons don't look very well in many cases: 1. They are low resolution so they are scaled x 2 in HiDPI screens (when there is support for this, I guess for other users they look tiny instead). 2. The light background is particularly ugly (at least IMO) with dark themes and, in general, I believe the ability to blend the button background with the default background would be appreciated by a number of users. 3. Vertical alignment looks slightly off center. In tab-bar.el I see code like this: (add-text-properties 0 (length tab-bar-close-button) `(display (image :type xpm :file "tabs/close.xpm" :margin ,tab-bar-button-margin :ascent center)) tab-bar-close-button)) Maybe "tabs/close.xpm" is already intended to be an abstract specification of an xpm that is then loaded as described in [1]: > If file is not an absolute file name, it is expanded relative to the images subdirectory of data-directory so that each theme has to locally, temporally(, whatever) override data-directory somehow, but I believe it's not like that, I believe icons are simply hardcoded. Given the shortcomings listed above, why not provide some customizable variables to change the icons? Best regards, Carlos [1] https://www.gnu.org/software/emacs/manual/html_node/elisp/Image-Descriptors.html --- In GNU Emacs 28.0.60 (build 3, x86_64-apple-darwin20.6.0, NS appkit-2022.60 Version 11.6 (Build 20G165)) of 2021-10-18 built on Carloss-MacBook-Pro.local Repository revision: f5b8f626e3d7233a935e67ffc5ffee0de9069ae5 Repository branch: emacs-28 Windowing system distributor 'Apple', version 10.3.2022 System Description: macOS 11.6 Configured using: 'configure --without-native-compilation' Configured features: ACL DBUS GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: shell-dirtrack-mode: t recentf-mode: t outline-minor-mode: t display-line-numbers-mode: t company-box-mode: t yas-global-mode: t yas-minor-mode: t ivy-mode: t global-company-mode: t company-mode: t which-key-mode: t override-global-mode: t electric-pair-mode: t minions-mode: t doom-modeline-mode: t ns-auto-titlebar-mode: t straight-use-package-mode: t straight-package-neutering-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tab-bar-history-mode: t tab-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: /Users/carlos/.emacs.d/straight/build/transient/transient hides /Applications/Emacs.app/Contents/Resources/lisp/transient /Users/carlos/.emacs.d/straight/build/org/ob-exp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-exp /Users/carlos/.emacs.d/straight/build/org/ob-emacs-lisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp /Users/carlos/.emacs.d/straight/build/org/oc hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc /Users/carlos/.emacs.d/straight/build/org/ob-css hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-css /Users/carlos/.emacs.d/straight/build/org/ob-lob hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lob /Users/carlos/.emacs.d/straight/build/org/ol-irc hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-irc /Users/carlos/.emacs.d/straight/build/org/ob-forth hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-forth /Users/carlos/.emacs.d/straight/build/org/org-macs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macs /Users/carlos/.emacs.d/straight/build/org/ob hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob /Users/carlos/.emacs.d/straight/build/org/org-version hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-version /Users/carlos/.emacs.d/straight/build/org/ob-scheme hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-scheme /Users/carlos/.emacs.d/straight/build/org/ox hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox /Users/carlos/.emacs.d/straight/build/org/ob-C hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-C /Users/carlos/.emacs.d/straight/build/org/org-capture hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-capture /Users/carlos/.emacs.d/straight/build/org/ob-ref hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ref /Users/carlos/.emacs.d/straight/build/org/ob-clojure hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-clojure /Users/carlos/.emacs.d/straight/build/org/org-mouse hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mouse /Users/carlos/.emacs.d/straight/build/org/org-ctags hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-ctags /Users/carlos/.emacs.d/straight/build/org/org-entities hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-entities /Users/carlos/.emacs.d/straight/build/org/org-archive hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-archive /Users/carlos/.emacs.d/straight/build/org/ob-screen hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-screen /Users/carlos/.emacs.d/straight/build/org/ol-bibtex hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-bibtex /Users/carlos/.emacs.d/straight/build/org/ob-haskell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-haskell /Users/carlos/.emacs.d/straight/build/org/org-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-table /Users/carlos/.emacs.d/straight/build/org/ol-eww hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-eww /Users/carlos/.emacs.d/straight/build/org/ol-man hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-man /Users/carlos/.emacs.d/straight/build/org/ox-org hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-org /Users/carlos/.emacs.d/straight/build/org/org-num hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-num /Users/carlos/.emacs.d/straight/build/org/org-plot hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-plot /Users/carlos/.emacs.d/straight/build/org/ol-rmail hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-rmail /Users/carlos/.emacs.d/straight/build/org/ob-awk hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-awk /Users/carlos/.emacs.d/straight/build/org/ob-groovy hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-groovy /Users/carlos/.emacs.d/straight/build/org/ob-octave hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-octave /Users/carlos/.emacs.d/straight/build/org/org-faces hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-faces /Users/carlos/.emacs.d/straight/build/org/oc-biblatex hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc-biblatex /Users/carlos/.emacs.d/straight/build/org/org-colview hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-colview /Users/carlos/.emacs.d/straight/build/org/ob-R hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-R /Users/carlos/.emacs.d/straight/build/org/org-refile hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-refile /Users/carlos/.emacs.d/straight/build/org/org-timer hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-timer /Users/carlos/.emacs.d/straight/build/org/org-mobile hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-mobile /Users/carlos/.emacs.d/straight/build/org/ob-fortran hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-fortran /Users/carlos/.emacs.d/straight/build/org/ob-shell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-shell /Users/carlos/.emacs.d/straight/build/org/ob-perl hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-perl /Users/carlos/.emacs.d/straight/build/org/ob-sqlite hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sqlite /Users/carlos/.emacs.d/straight/build/org/oc-basic hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc-basic /Users/carlos/.emacs.d/straight/build/org/ob-sed hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sed /Users/carlos/.emacs.d/straight/build/org/org-list hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-list /Users/carlos/.emacs.d/straight/build/org/ob-ruby hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ruby /Users/carlos/.emacs.d/straight/build/org/ob-eval hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-eval /Users/carlos/.emacs.d/straight/build/org/org-habit hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-habit /Users/carlos/.emacs.d/straight/build/org/org-clock hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-clock /Users/carlos/.emacs.d/straight/build/org/org-goto hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-goto /Users/carlos/.emacs.d/straight/build/org/ox-html hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-html /Users/carlos/.emacs.d/straight/build/org/org-src hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-src /Users/carlos/.emacs.d/straight/build/org/ob-lisp hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lisp /Users/carlos/.emacs.d/straight/build/org/ol-eshell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-eshell /Users/carlos/.emacs.d/straight/build/org/ob-ditaa hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ditaa /Users/carlos/.emacs.d/straight/build/org/org-pcomplete hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-pcomplete /Users/carlos/.emacs.d/straight/build/org/org-lint hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-lint /Users/carlos/.emacs.d/straight/build/org/ox-latex hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-latex /Users/carlos/.emacs.d/straight/build/org/ob-sass hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sass /Users/carlos/.emacs.d/straight/build/org/ob-tangle hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-tangle /Users/carlos/.emacs.d/straight/build/org/ob-calc hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-calc /Users/carlos/.emacs.d/straight/build/org/ob-java hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-java /Users/carlos/.emacs.d/straight/build/org/ox-icalendar hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-icalendar /Users/carlos/.emacs.d/straight/build/org/ol-mhe hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-mhe /Users/carlos/.emacs.d/straight/build/org/org-attach-git hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-attach-git /Users/carlos/.emacs.d/straight/build/org/ox-md hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-md /Users/carlos/.emacs.d/straight/build/org/ox-beamer hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-beamer /Users/carlos/.emacs.d/straight/build/org/org-element hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-element /Users/carlos/.emacs.d/straight/build/org/oc-natbib hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc-natbib /Users/carlos/.emacs.d/straight/build/org/org-protocol hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-protocol /Users/carlos/.emacs.d/straight/build/org/ob-gnuplot hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot /Users/carlos/.emacs.d/straight/build/org/org-tempo hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-tempo /Users/carlos/.emacs.d/straight/build/org/ob-latex hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-latex /Users/carlos/.emacs.d/straight/build/org/ol-w3m hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-w3m /Users/carlos/.emacs.d/straight/build/org/org-id hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-id /Users/carlos/.emacs.d/straight/build/org/ox-man hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-man /Users/carlos/.emacs.d/straight/build/org/ol-doi hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-doi /Users/carlos/.emacs.d/straight/build/org/org-feed hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-feed /Users/carlos/.emacs.d/straight/build/org/ob-julia hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-julia /Users/carlos/.emacs.d/straight/build/org/ob-lua hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lua /Users/carlos/.emacs.d/straight/build/org/ob-table hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-table /Users/carlos/.emacs.d/straight/build/org/ob-ocaml hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-ocaml /Users/carlos/.emacs.d/straight/build/org/oc-csl hides /Applications/Emacs.app/Contents/Resources/lisp/org/oc-csl /Users/carlos/.emacs.d/straight/build/org/ol-gnus hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-gnus /Users/carlos/.emacs.d/straight/build/org/org-indent hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-indent /Users/carlos/.emacs.d/straight/build/org/ob-lilypond hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-lilypond /Users/carlos/.emacs.d/straight/build/org/ob-matlab hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-matlab /Users/carlos/.emacs.d/straight/build/org/org-datetree hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-datetree /Users/carlos/.emacs.d/straight/build/org/ol-docview hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-docview /Users/carlos/.emacs.d/straight/build/org/ob-python hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-python /Users/carlos/.emacs.d/straight/build/org/ob-makefile hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-makefile /Users/carlos/.emacs.d/straight/build/org/org-duration hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-duration /Users/carlos/.emacs.d/straight/build/org/org-agenda hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-agenda /Users/carlos/.emacs.d/straight/build/org/ob-dot hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-dot /Users/carlos/.emacs.d/straight/build/org/ob-js hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-js /Users/carlos/.emacs.d/straight/build/org/ox-publish hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-publish /Users/carlos/.emacs.d/straight/build/org/org-inlinetask hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-inlinetask /Users/carlos/.emacs.d/straight/build/org/ob-org hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-org /Users/carlos/.emacs.d/straight/build/org/org-keys hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-keys /Users/carlos/.emacs.d/straight/build/org/ob-core hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-core /Users/carlos/.emacs.d/straight/build/org/org-compat hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-compat /Users/carlos/.emacs.d/straight/build/org/ol hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol /Users/carlos/.emacs.d/straight/build/org/ox-odt hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-odt /Users/carlos/.emacs.d/straight/build/org/ol-info hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-info /Users/carlos/.emacs.d/straight/build/org/ob-plantuml hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-plantuml /Users/carlos/.emacs.d/straight/build/org/ob-eshell hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-eshell /Users/carlos/.emacs.d/straight/build/org/ox-ascii hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-ascii /Users/carlos/.emacs.d/straight/build/org/org-loaddefs hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-loaddefs /Users/carlos/.emacs.d/straight/build/org/ox-koma-letter hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-koma-letter /Users/carlos/.emacs.d/straight/build/org/ob-maxima hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-maxima /Users/carlos/.emacs.d/straight/build/org/org hides /Applications/Emacs.app/Contents/Resources/lisp/org/org /Users/carlos/.emacs.d/straight/build/org/ol-bbdb hides /Applications/Emacs.app/Contents/Resources/lisp/org/ol-bbdb /Users/carlos/.emacs.d/straight/build/org/org-macro hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-macro /Users/carlos/.emacs.d/straight/build/org/ob-sql hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-sql /Users/carlos/.emacs.d/straight/build/org/org-attach hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-attach /Users/carlos/.emacs.d/straight/build/org/ob-processing hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-processing /Users/carlos/.emacs.d/straight/build/org/ox-texinfo hides /Applications/Emacs.app/Contents/Resources/lisp/org/ox-texinfo /Users/carlos/.emacs.d/straight/build/org/org-crypt hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-crypt /Users/carlos/.emacs.d/straight/build/org/org-footnote hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-footnote /Users/carlos/.emacs.d/straight/build/org/org-install hides /Applications/Emacs.app/Contents/Resources/lisp/org/org-install /Users/carlos/.emacs.d/straight/build/org/ob-comint hides /Applications/Emacs.app/Contents/Resources/lisp/org/ob-comint /Users/carlos/.emacs.d/straight/build/let-alist/let-alist hides /Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/let-alist Features: (shadow sort mail-extr emacsbug sendmail ffap tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell ls-lisp debug backtrace doom-Iosvkem-theme shortdoc cus-start crm cl-print help-fns radix-tree org-element org-persist org-id org-refile avl-tree ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt speedbar ezimage dframe gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum shr kinsoku svg dom browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse url-vars mailcap gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message rmc puny rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs auth-source password-cache rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr ol-docview doc-view jka-compr image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic json map bibtex iso8601 time-date ol org-keys oc org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs vc-mtn vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc vc-dispatcher recentf tree-widget bookmark thingatpt noutline outline display-line-numbers server pdf-tools-autoloads tablist-autoloads org-roam-autoloads emacsql-sqlite-autoloads emacsql-autoloads company-box company-box-doc frame-local company-box-icons lsp-pyright-autoloads pyvenv-autoloads jupyter-autoloads websocket-autoloads simple-httpd-autoloads zmq-autoloads code-cells-autoloads dired-x exec-path-from-shell exec-path-from-shell-autoloads polymode derived poly-lock polymode-base polymode-weave polymode-export polymode-compat polymode-methods polymode-core format-spec polymode-classes eieio-custom eieio-base eieio eieio-core eieio-loaddefs polymode-autoloads jinja2-mode-autoloads yasnippet-snippets-autoloads yasnippet-snippets yasnippet yasnippet-autoloads hl-todo-autoloads cus-edit pp cus-load wid-edit flycheck-autoloads let-alist-autoloads pkg-info-autoloads epl-autoloads dap-mode-autoloads bui-autoloads lsp-treemacs-autoloads lsp-ivy-autoloads lsp-ui-autoloads lsp-mode-autoloads markdown-mode-autoloads spinner-autoloads git-timemachine-autoloads magit-autoloads magit-section-autoloads git-commit-autoloads with-editor-autoloads transient-autoloads treemacs-icons-dired-autoloads treemacs-projectile-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads projectile-autoloads counsel xdg dired dired-loaddefs compile text-property-search comint ansi-color swiper ivy delsel ivy-faces ivy-overlay colir color counsel-autoloads swiper-autoloads ivy-autoloads company-box-autoloads frame-local-autoloads company-oddmuse company-keywords company-etags etags fileloop generator xref project ring company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb company pcase company-autoloads which-key advice which-key-autoloads visual-fill-column-autoloads wgrep-autoloads avy-autoloads edmacro kmacro undo-tree-autoloads use-package-bind-key bind-key easy-mmode elec-pair minions minions-autoloads doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path rx f s all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons dash doom-modeline-autoloads shrink-path-autoloads f-autoloads dash-autoloads s-autoloads all-the-icons-autoloads doom-themes-ext-org doom-themes-ext-treemacs doom-themes-ext-visual-bell face-remap doom-solarized-light-theme doom-themes doom-themes-base doom-themes-autoloads finder-inf ns-auto-titlebar ns-auto-titlebar-autoloads use-package-core use-package-autoloads bind-key-autoloads straight-autoloads info cl-seq cl-extra help-mode seq byte-opt straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win 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 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 emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind kqueue cocoa ns lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 505641 67097) (symbols 48 34594 2) (strings 32 125591 5105) (string-bytes 1 4329451) (vectors 16 60750) (vector-slots 8 807482 36542) (floats 8 1146 584) (intervals 56 7466 1304) (buffers 992 26))
[image.png (image/png, attachment)]
[image.png (image/png, attachment)]
[image.png (image/png, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#51309
; Package emacs
.
(Thu, 21 Oct 2021 16:53:01 GMT) Full text and rfc822 format available.Message #8 received at 51309 <at> debbugs.gnu.org (full text, mbox):
From: Juri Linkov <juri <at> linkov.net> To: Carlos Pita <carlosjosepita2 <at> gmail.com> Cc: 51309 <at> debbugs.gnu.org Subject: Re: bug#51309: 28.0.60; [Feature Request] Allow to customize tab-bar button images Date: Thu, 21 Oct 2021 19:46:13 +0300
> as you can see in the attached images, the xpm files provided for > tab-bar buttons don't look very well in many cases: > > 1. They are low resolution so they are scaled x 2 in HiDPI screens > (when there is support for this, I guess for other users they look > tiny instead). > 2. The light background is particularly ugly (at least IMO) with dark > themes and, in general, I believe the ability to blend the button > background with the default background would be appreciated by a > number of users. > 3. Vertical alignment looks slightly off center. They look sufficiently well but there is always room for improvement. All suggestions are welcome. > Maybe "tabs/close.xpm" is already intended to be an abstract > specification of an xpm that is then loaded as described in [1]: > >> If file is not an absolute file name, it is expanded relative to the >> images subdirectory of data-directory > > so that each theme has to locally, temporally(, whatever) override > data-directory somehow, but I believe it's not like that, I believe > icons are simply hardcoded. > > Given the shortcomings listed above, why not provide some customizable > variables to change the icons? This definitely should be customizable, but it's unclear what do you want to customize: only the file path to the image, or allow to set the button propertized with an image with image properties like :margin/:ascent? Could you send such a button string with an image that looks good on HiDPI screens? Then we could try to make a customizable option based on your design.
bug-gnu-emacs <at> gnu.org
:bug#51309
; Package emacs
.
(Thu, 21 Oct 2021 20:32:01 GMT) Full text and rfc822 format available.Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Carlos Pita <carlosjosepita2 <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: Re: 28.0.60; [Feature Request] Allow to customize tab-bar button images Date: Thu, 21 Oct 2021 17:30:51 -0300
Hi Juri, > This definitely should be customizable, but it's unclear what do you > want to customize: only the file path to the image, or allow to set > the button propertized with an image with image properties like > :margin/:ascent? Probably the entire (image ...) descriptor. So it's possible to use svg images (with rsvg enabled which now is the default) that will work fine at any resolution. Also, even if the images are correctly centered, they look vertically misaligned wrt text, this is pretty common and tweaking the ascent may help, I guess. And perhaps setting a nil descriptor should be allowed as a way to disable the image altogether. > Could you send such a button string with an image that looks good > on HiDPI screens? Then we could try to make a customizable option > based on your design. Vectorized images will do it. Otherwise you will have to provide pixmaps at twice the resolution and, anyway, with fractional scaling they might end up being blurry again (although not so much as when scaling up x2). I assume there are not many devices with higher scaling factors running emacs out there, yet... There are plenty of free svg icons for light and dark themes here: https://github.com/microsoft/vscode-icons/tree/main/icons. Best regards, Carlos
bug-gnu-emacs <at> gnu.org
:bug#51309
; Package emacs
.
(Fri, 22 Oct 2021 07:25:02 GMT) Full text and rfc822 format available.Message #14 received at 51309 <at> debbugs.gnu.org (full text, mbox):
From: Juri Linkov <juri <at> linkov.net> To: Carlos Pita <carlosjosepita2 <at> gmail.com> Cc: 51309 <at> debbugs.gnu.org Subject: Re: bug#51309: 28.0.60; [Feature Request] Allow to customize tab-bar button images Date: Fri, 22 Oct 2021 10:01:58 +0300
>> Could you send such a button string with an image that looks good >> on HiDPI screens? Then we could try to make a customizable option >> based on your design. > > Vectorized images will do it. Otherwise you will have to provide pixmaps > at twice the resolution and, anyway, with fractional scaling they might > end up being blurry again (although not so much as when scaling up > x2). I assume there are not many devices with higher scaling factors > running emacs out there, yet... Some time ago we tried to use svg, but it had many problems with scaling and background. Maybe this is fixed now, need to try again.
Juri Linkov <juri <at> linkov.net>
to control <at> debbugs.gnu.org
.
(Mon, 08 Nov 2021 17:47:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#51309
; Package emacs
.
(Mon, 24 Oct 2022 07:36:02 GMT) Full text and rfc822 format available.Message #19 received at 51309 <at> debbugs.gnu.org (full text, mbox):
From: Juri Linkov <juri <at> linkov.net> To: Carlos Pita <carlosjosepita2 <at> gmail.com> Cc: 51309 <at> debbugs.gnu.org Subject: Re: bug#51309: 28.0.60; [Feature Request] Allow to customize tab-bar button images Date: Mon, 24 Oct 2022 10:34:27 +0300
close 51309 29.0.50 thanks > Given the shortcomings listed above, why not provide some customizable > variables to change the icons? Now tab-bar button images are customizable with the new command 'customize-icon'.
Juri Linkov <juri <at> linkov.net>
to control <at> debbugs.gnu.org
.
(Mon, 24 Oct 2022 07:36:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 21 Nov 2022 12:24:06 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.