unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#51361: 28.0.60; NS toolbar icons are too big and low res
@ 2021-10-23 19:09 Carlos Pita
  2021-10-23 20:21 ` Alan Third
  2021-10-24  2:22 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 12+ messages in thread
From: Carlos Pita @ 2021-10-23 19:09 UTC (permalink / raw)
  To: 51361

[-- Attachment #1: Type: text/plain, Size: 606 bytes --]

Hi all,

(see attached screenshot)

This is probably the NS backend rendering things x2 in a HiDPI screen,
so the "too big" part doesn't necessarily mean bigger than usual but:

* Considering that the toolbar is part of the titlebar in this port.

* Considering that scaling x2 pixelates the icons.

Wouldn't it be better if it weren't scaled at all, so that we don't have
a huge title bar with low res icons? I don't know how difficult it is to
request a different scaling factor for these icons, but if it's feasible
without a significant amount of effort I believe it's worth it.

Best regards,
Carlos


[-- Attachment #2: NS titlebar --]
[-- Type: image/png, Size: 54065 bytes --]

[-- Attachment #3: Type: text/plain, Size: 22280 bytes --]


---

In GNU Emacs 28.0.60 (build 4, x86_64-apple-darwin20.6.0, NS appkit-2022.60 Version 11.6 (Build 20G165))
 of 2021-10-22 built on Carloss-MacBook-Pro.local
Repository revision: d8d39ac9c6b670fe6931131c034cd64025041c7f
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 $LC_CTYPE: UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Summary

Minor modes in effect:
  recentf-mode: t
  shell-dirtrack-mode: t
  company-box-mode: t
  electric-pair-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  ivy-mode: t
  global-company-mode: t
  company-mode: t
  which-key-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  override-global-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
  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
  buffer-read-only: 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 emacsbug mailalias smtpmail sendmail ispell sort smiley
gnus-cite mail-extr gnus-async gnus-bcklg qp gnus-ml disp-table nndraft
nnmh utf-7 epa-file gnutls network-stream nsm gnus-agent gnus-srvr
gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache cl-print
help-fns radix-tree company-yasnippet flycheck recentf tree-widget
bookmark vc-mtn vc-hg vc-git diff-mode vc-bzr vc-src vc-sccs vc-svn
vc-cvs vc-rcs vc vc-dispatcher 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 mailcap gnus-group gnus-undo gnus-start
gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo
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 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 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 ffap url-parse
url-vars thingatpt tramp tramp-loaddefs trampver tramp-integration
files-x tramp-compat shell pcomplete parse-time iso8601 time-date
ls-lisp auth-source password-cache json map company-box company-box-doc
frame-local company-box-icons noutline outline display-line-numbers
elec-pair server pdf-tools-autoloads tablist-autoloads
org-roam-ui-autoloads org-roam-autoloads emacsql-sqlite-autoloads
emacsql-autoloads 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 diff undo-tree-autoloads
use-package-bind-key bind-key easy-mmode 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 473210 43098)
 (symbols 48 37949 1)
 (strings 32 135964 6357)
 (string-bytes 1 4866601)
 (vectors 16 75007)
 (vector-slots 8 1686100 172881)
 (floats 8 1124 450)
 (intervals 56 3419 2341)
 (buffers 992 31))

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-23 19:09 bug#51361: 28.0.60; NS toolbar icons are too big and low res Carlos Pita
@ 2021-10-23 20:21 ` Alan Third
  2021-10-24  1:35   ` Carlos Pita
  2021-10-24  2:24   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-24  2:22 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 2 replies; 12+ messages in thread
From: Alan Third @ 2021-10-23 20:21 UTC (permalink / raw)
  To: Carlos Pita; +Cc: 51361

package emacs
user emacs
usertag 51361 + ns
thankyou

On Sat, Oct 23, 2021 at 04:09:18PM -0300, Carlos Pita wrote:
> Hi all,
> 
> (see attached screenshot)
> 
> This is probably the NS backend rendering things x2 in a HiDPI screen,
> so the "too big" part doesn't necessarily mean bigger than usual but:
> 
> * Considering that the toolbar is part of the titlebar in this port.
> 
> * Considering that scaling x2 pixelates the icons.
> 
> Wouldn't it be better if it weren't scaled at all, so that we don't have
> a huge title bar with low res icons? I don't know how difficult it is to
> request a different scaling factor for these icons, but if it's feasible
> without a significant amount of effort I believe it's worth it.

I'm not keen to have things show up at different sizes when displayed
on retina vs not on retina. For people (like myself) who have
differently scaled screens, it can result in things magically changing
size, or showing up scaled incorrectly at random. The correct solution
should be to provide hi-res or rescalable icons that are displayed
well at whatever scale the screen has.

Unfortunately that means finding icons that are suitable, and I
suspect for the NS port it may not be super-straightforward to
handle them in the toolbar. I'd have to investigate.

I expect this should be a problem for the PGTK port as well, since it
uses the same scaling method.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-23 20:21 ` Alan Third
@ 2021-10-24  1:35   ` Carlos Pita
  2021-10-24  2:24   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 12+ messages in thread
From: Carlos Pita @ 2021-10-24  1:35 UTC (permalink / raw)
  To: Alan Third; +Cc: 51361

Hi Alan,

> I'm not keen to have things show up at different sizes when displayed
> on retina vs not on retina.

Fair enough.

> Unfortunately that means finding icons that are suitable, and I
> suspect for the NS port it may not be super-straightforward to
> handle them in the toolbar. I'd have to investigate.

Now that rsvg support is built by default, svg seems to be the sensible
choice. Although maybe the icons in the toolbar are rendered natively
and emacs svg support is not even required? Good svg icons are a dime a
dozen (but replacing every icon in emacs doesn't strike me as the most
exciting task...). Both NS and Wayland still do a raster downscaling at
the end for fractional scales, so no solution will be pixel-perfect in
such cases, neither svg nor double resolution pixmaps, but with svg you
won't be having the same problem in a few years and, for platforms that
do support direct rendering at non-integer scales (maybe Windows, I
don't know), svg is a natural choice.

Best regards,
Carlos








^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-23 19:09 bug#51361: 28.0.60; NS toolbar icons are too big and low res Carlos Pita
  2021-10-23 20:21 ` Alan Third
@ 2021-10-24  2:22 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 12+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-24  2:22 UTC (permalink / raw)
  To: Carlos Pita; +Cc: 51361

Carlos Pita <carlosjosepita2@gmail.com> writes:

> [... attachment ...]

This looks to me as if some kind of smoothing is being applied to the
icons, instead of plain scaling, which usually produces admirable
results on X pixmaps.

I don't think it's done in GNUstep.  There is probably a way to turn it
off in macOS, but I can't find it.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-23 20:21 ` Alan Third
  2021-10-24  1:35   ` Carlos Pita
@ 2021-10-24  2:24   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-26 10:18     ` Alan Third
  1 sibling, 1 reply; 12+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-24  2:24 UTC (permalink / raw)
  To: Alan Third; +Cc: 51361, Carlos Pita

Alan Third <alan@idiocy.org> writes:

> I expect this should be a problem for the PGTK port as well, since it
> uses the same scaling method.

(I don't speak for the author of the GTK port, but I worked on it a
while back, so take what I say here with a grain of salt.)

I think the GTK port just reuses the existing code in gtkutil for
toolkit tool bars.  IOW, the scaling is done by GTK.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-24  2:24   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-10-26 10:18     ` Alan Third
  2021-10-26 10:32       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 12+ messages in thread
From: Alan Third @ 2021-10-26 10:18 UTC (permalink / raw)
  To: Po Lu; +Cc: 51361, Carlos Pita

On Sun, Oct 24, 2021 at 10:24:10AM +0800, Po Lu wrote:
> Alan Third <alan@idiocy.org> writes:
> 
> > I expect this should be a problem for the PGTK port as well, since it
> > uses the same scaling method.
> 
> (I don't speak for the author of the GTK port, but I worked on it a
> while back, so take what I say here with a grain of salt.)
> 
> I think the GTK port just reuses the existing code in gtkutil for
> toolkit tool bars.  IOW, the scaling is done by GTK.

Yeah, and GTK uses the same scaling scheme as macOS.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-26 10:18     ` Alan Third
@ 2021-10-26 10:32       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-26 10:58         ` Alan Third
  2021-10-26 10:59         ` Dmitry Gutov
  0 siblings, 2 replies; 12+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-26 10:32 UTC (permalink / raw)
  To: Alan Third; +Cc: 51361, Carlos Pita

Alan Third <alan@idiocy.org> writes:

> Yeah, and GTK uses the same scaling scheme as macOS.

At least on the high-dpi displays I've seen, I've never seen this sort
of effect on GTK builds.

Thanks.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-26 10:32       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-10-26 10:58         ` Alan Third
  2021-10-26 11:18           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-26 10:59         ` Dmitry Gutov
  1 sibling, 1 reply; 12+ messages in thread
From: Alan Third @ 2021-10-26 10:58 UTC (permalink / raw)
  To: Po Lu; +Cc: 51361, Carlos Pita

On Tue, Oct 26, 2021 at 06:32:36PM +0800, Po Lu wrote:
> Alan Third <alan@idiocy.org> writes:
> 
> > Yeah, and GTK uses the same scaling scheme as macOS.
> 
> At least on the high-dpi displays I've seen, I've never seen this sort
> of effect on GTK builds.

I'm not sure what you mean.

Emacs only supplies lores icons. GTK scales up the size of the toolbar
according to the scale settings. Therefore GTK Emacs will have lores
icons that are scaled up by the scaling factor in its toolbar.

This is identical to how cocoa and GNUstep handle it.

The exception is where GTK uses other, non-emacs, icons, which is
quite common.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-26 10:32       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-10-26 10:58         ` Alan Third
@ 2021-10-26 10:59         ` Dmitry Gutov
  1 sibling, 0 replies; 12+ messages in thread
From: Dmitry Gutov @ 2021-10-26 10:59 UTC (permalink / raw)
  To: Po Lu, Alan Third; +Cc: 51361, Carlos Pita

[-- Attachment #1: Type: text/plain, Size: 515 bytes --]

On 26.10.2021 13:32, Po Lu via Bug reports for GNU Emacs, the Swiss army 
knife of text editors wrote:
> At least on the high-dpi displays I've seen, I've never seen this sort
> of effect on GTK builds.

Perhaps because the GTK port uses icons provided by the system theme 
(often scalable ones, or coming in multiple sizes).

But try 'M-x gnus' with the tool-bar-mode on, and the send/receive icons 
at the top will be squarely in that category (see attachment).

Seems like some sort of linear/quadratic scaling.

[-- Attachment #2: Screenshot from 2021-10-26 13-54-44.png --]
[-- Type: image/png, Size: 50054 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-26 10:58         ` Alan Third
@ 2021-10-26 11:18           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-11-15 17:07             ` Carlos Pita
  0 siblings, 1 reply; 12+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-10-26 11:18 UTC (permalink / raw)
  To: Alan Third; +Cc: 51361, Carlos Pita

Alan Third <alan@idiocy.org> writes:

> I'm not sure what you mean.
>
> Emacs only supplies lores icons. GTK scales up the size of the toolbar
> according to the scale settings. Therefore GTK Emacs will have lores
> icons that are scaled up by the scaling factor in its toolbar.
>
> This is identical to how cocoa and GNUstep handle it.

> The exception is where GTK uses other, non-emacs, icons, which is
> quite common.

Yes, I'm aware of that.  I made sure to clear x-gtk-stock-map and
x-gtk-stock-cache before reaching these conclusions.

What I was saying is that, to my eyes, the way GTK scales these icons
results in less cognitive "blur" than the icons posted in the screenshot
attached by the OP, which seems to implicate Cocoa performing some kind
of "smoothing" operation on the scaled icon.

Or perhaps this could be an effect of viewing the OP's screenshot,
presumably taken on a high-resolution display, on my ordinary FHD
display.

Thanks.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-10-26 11:18           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-11-15 17:07             ` Carlos Pita
  2021-11-16 19:41               ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 12+ messages in thread
From: Carlos Pita @ 2021-11-15 17:07 UTC (permalink / raw)
  To: Po Lu; +Cc: 51361, Alan Third

> Or perhaps this could be an effect of viewing the OP's screenshot,
> presumably taken on a high-resolution display, on my ordinary FHD
> display.

In my MacBook I set the scaling factor to 2x, although the default is
about 1.75x since a few years ago. I also have an external monitor at
1.75x, here I would expect some slight blur because of the non-integer
downscaling but I'm not sure whether my screenshot was taken from this
screen (or even if the downscaling should affect it in any way).

Nevertheless, on what matters the example provided by Dmitry and mine
are the same: excessively scaled icons. Additionally, in macOS these
icons are part of the titlebar so they feel odd and too big compared
to the GTK toolbar, which is just an old school toolbar with large
icons. Look at the large padding around traffic lights. If the GTK
port were using CSD people would probably complain about a thick
titlebar, as they often do because of Adwaita defaults. This is why I
suggested tackling both problems by showing the icons at 1x, although
I understand Alan concerns about this.

Small rant: Wouldn't it be preferable to hide the toolbar by default
in hidpi screens, or in macOS, until the icons are replaced with
properly scalable versions, which might take a long time? I can't see
any positive trade off in showing something like what's in my
screenshot first thing. This is not about making emacs look "modern"
by default, but just less awful, I would go as far as to call icons
scaled at twice their intended resolution a bug. Fringe pixmaps are
tolerable because at their tiny size the problem isn't actually that
visible. There are other places where small lores icons are shown, but
not often. The toolbar, instead, is big and permanent and many people,
including newcomers, disable it (I think this is a fairly objective
statement since "modern emacs distributions" targeted to newbies hide
it OOTB, although it's true that they might add alternative discovery
mechanisms, not to say that I believe the toolbar is incredibly
helpful in that regard).

Best regards,
Carlos





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#51361: 28.0.60; NS toolbar icons are too big and low res
  2021-11-15 17:07             ` Carlos Pita
@ 2021-11-16 19:41               ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 12+ messages in thread
From: Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-11-16 19:41 UTC (permalink / raw)
  To: Carlos Pita, Po Lu; +Cc: 51361, Alan Third

Carlos Pita <carlosjosepita2@gmail.com> writes:

> Small rant: […]

I could not agree more. I hesitate to recommend vanilla GNU Emacs to anyone on macOS, for it looks like a program abandoned 20 years ago, and that freaks people out. I know it freaked me out. :) No icons would make it look more normal.

Rudy
-- 
"Logic is a science of the necessary laws of thought, without which no employment of the understanding and the reason takes place." -- Immanuel Kant, 1785

Rudolf Adamkovič <salutis@me.com>
Studenohorská 25
84103 Bratislava
Slovakia

[he/him]





^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-11-16 19:41 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-23 19:09 bug#51361: 28.0.60; NS toolbar icons are too big and low res Carlos Pita
2021-10-23 20:21 ` Alan Third
2021-10-24  1:35   ` Carlos Pita
2021-10-24  2:24   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-26 10:18     ` Alan Third
2021-10-26 10:32       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-26 10:58         ` Alan Third
2021-10-26 11:18           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-15 17:07             ` Carlos Pita
2021-11-16 19:41               ` Rudolf Adamkovič via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-10-26 10:59         ` Dmitry Gutov
2021-10-24  2:22 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).