Package: emacs;
Reported by: Mikael Puhakka <mike <at> fwwm.us>
Date: Thu, 22 Oct 2020 16:39:02 UTC
Severity: wishlist
Found in version 27.1
To reply to this bug, email your comments to 44145 AT debbugs.gnu.org.
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#44145
; Package emacs
.
(Thu, 22 Oct 2020 16:39:02 GMT) Full text and rfc822 format available.Mikael Puhakka <mike <at> fwwm.us>
:bug-gnu-emacs <at> gnu.org
.
(Thu, 22 Oct 2020 16:39:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Mikael Puhakka <mike <at> fwwm.us> To: bug-gnu-emacs <at> gnu.org Subject: 27.1; [FR] Tie customize-theme to currently active theme by default Date: Thu, 22 Oct 2020 19:27:29 +0300
Hello. This is a feature request someone suggested me to make. I am aware there is a good facility to interactively customize faces (`M-x customize-face`) and on the other hand there's a lower-level function `custom-theme-set-faces` which, I understand, can be used to customize faces per theme. It is very often that a custom face works for one enabled theme but if one loads another, the style can clash. I propose that `customize-face` would default to customizing faces that will be tied to the currently active (or topmost on the stack) theme. Many have light and dark themes that are often used and switched daily, depending on ambient light conditions. Effortlessly customizing and finetuning each theme would prove a nice way to make casual little changes without messing other themes. - Mikael In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu) of 2020-09-08 built on localhost System Description: Gentoo/Linux Configured using: 'configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-silent-rules --docdir=/usr/share/doc/emacs-27.1-r1 --htmldir=/usr/share/doc/emacs-27.1-r1/html --libdir=/usr/lib64 --program-suffix=-emacs-27 --includedir=/usr/include/emacs-27 --infodir=/usr/share/info/emacs-27 --localstatedir=/var --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp --without-compress-install --without-hesiod --without-pop --with-dumping=pdumper --with-file-notification=inotify --enable-acl --without-dbus --without-modules --without-gameuser --with-libgmp --without-gpm --without-json --without-kerberos --without-kerberos5 --without-lcms2 --with-xml2 --without-mailutils --without-selinux --with-gnutls --without-libsystemd --with-threads --with-wide-int --with-zlib --with-sound=alsa --with-x --without-ns --without-gconf --without-gsettings --without-toolkit-scroll-bars --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-xpm --with-imagemagick --with-xft --without-cairo --without-harfbuzz --without-libotf --without-m17n-flt --with-x-toolkit=no 'CFLAGS=-march=native -O2 -pipe -g -mstackrealign' CPPFLAGS= 'LDFLAGS=-Wl,-O1 -Wl,--as-needed'' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GLIB NOTIFY INOTIFY ACL GNUTLS LIBXML2 FREETYPE XFT ZLIB OLDXMENU X11 XDBE XIM THREADS PDUMPER GMP Important settings: value of $LC_COLLATE: fi_FI.utf8 value of $LC_CTYPE: en_US.utf8 value of $LC_MESSAGES: en_US.utf8 value of $LC_MONETARY: fi_FI.utf8 value of $LC_NUMERIC: fi_FI.utf8 value of $LC_TIME: en_US.utf8 value of $LANG: en_US.utf8 locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: org-indent-mode: t erc-list-mode: t erc-menu-mode: t erc-autojoin-mode: t erc-ring-mode: t erc-networks-mode: t erc-track-mode: t erc-match-mode: t erc-netsplit-mode: t erc-pcomplete-mode: t erc-highlight-nicknames-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-log-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-move-to-prompt-mode: t erc-readonly-mode: t yas-global-mode: t yas-minor-mode: t global-page-break-lines-mode: t page-break-lines-mode: t window-number-meta-mode: t global-evil-matchit-mode: t evil-matchit-mode: t shell-dirtrack-mode: t evil-mode: t evil-local-mode: t ido-everywhere: t global-undo-tree-mode: t undo-tree-mode: t save-place-mode: t global-auto-revert-mode: t winner-mode: t show-paren-mode: t global-hi-lock-mode: t hi-lock-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t unify-8859-on-encoding-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t visual-line-mode: t transient-mark-mode: t abbrev-mode: t Features: (shadow sort mail-extr emacsbug smex cal-move calc-alg calc-ext calc-menu calc calc-loaddefs calc-macs mhtml-mode css-mode smie eww mm-url url-queue js sgml-mode shr-color color term/rxvt term/xterm xterm server vc-git diff-mode org-indent ol-eww ol-rmail ol-mhe ol-irc ol-info ol-gnus nnir gnus-sum url url-proxy url-privacy url-expand url-methods url-history mailcap shr url-cookie url-domsuf url-util svg xml dom gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win gnus nnheader ol-docview ol-bibtex bibtex ol-bbdb ol-w3m disp-table diminish progomarks ledger ldg-schedule ldg-xact ldg-texi ldg-test ldg-state ldg-sort ldg-report ldg-reconcile ldg-post ldg-occur ldg-mode ldg-init ldg-fonts ldg-exec ldg-context ldg-complete ldg-commodities esh-arg esh-util ldg-regex rx mu4e desktop frameset mu4e-org mu4e-main mu4e-view mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions rfc2368 mu4e-mark mu4e-message flow-fill mu4e-proc mu4e-utils doc-view jka-compr image-mode exif mu4e-lists mule-util hl-line mu4e-vars message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader mu4e-meta erc-services erc-list erc-menu erc-join erc-ring erc-networks erc-track erc-match erc-netsplit erc-pcomplete erc-highlight-nicknames erc-button erc-fill erc-stamp erc-log erc-goodies erc erc-backend erc-compat erc-loaddefs ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox org-element avl-tree ob-plantuml ob-python ob-shell ob-gnuplot ob-ditaa 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 time-date org-version ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs org-install mmm-auto mmm-vars mmm-compat js2-mode cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align cc-cmds cc-engine cc-vars cc-defs imenu hy-mode slime-fancy slime-indentation slime-cl-indent cl-indent slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references slime-compiler-notes-tree slime-scratch slime-presentations bridge slime-macrostep macrostep slime-mdot-fu slime-enclosing-context slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc slime-repl slime-parse slime compile etags fileloop generator xref project arc-mode archive-mode pp hyperspec tango-dark-theme smtpmail sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils yasnippet page-break-lines helm-config helm-aliases helm window-number switch-window quail highlight-symbol fic-mode xclip sdcv-mode noutline outline evil-matchit evil-matchit-sdk goto-chg evil evil-keybindings evil-integration evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex shell pcomplete comint ansi-color evil-macros evil-repeat evil-states evil-core advice evil-common windmove thingatpt rect evil-digraphs evil-vars ido undo-tree derived easy-mmode cl-extra help-mode edmacro kmacro diff cl saveplace autorevert filenotify winner ring cus-edit cus-start cus-load wid-edit paren hi-lock finder-inf site-gentoo tex-site rainbow-mode-autoloads slime-autoloads info package easymenu browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads inotify dynamic-setting font-render-setting x multi-tty make-network-process emacs) Memory information: ((conses 16 815944 58668) (symbols 48 55241 1) (strings 32 200062 7638) (string-bytes 1 6018370) (vectors 16 75463) (vector-slots 8 1657678 173816) (floats 8 501 1122) (intervals 56 25089 3523) (buffers 1000 27))
bug-gnu-emacs <at> gnu.org
:bug#44145
; Package emacs
.
(Tue, 07 Jun 2022 10:10:01 GMT) Full text and rfc822 format available.Message #8 received at 44145 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Mikael Puhakka <mike <at> fwwm.us> Cc: 44145 <at> debbugs.gnu.org Subject: Re: bug#44145: 27.1; [FR] Tie customize-theme to currently active theme by default Date: Tue, 07 Jun 2022 12:09:02 +0200
Mikael Puhakka <mike <at> fwwm.us> writes: > I am aware there is a good facility to interactively customize faces > (`M-x customize-face`) and on the other hand there's a lower-level > function `custom-theme-set-faces` which, I understand, can be used to > customize faces per theme. > > It is very often that a custom face works for one enabled theme but if > one loads another, the style can clash. > > I propose that `customize-face` would default to customizing faces that > will be tied to the currently active (or topmost on the stack) theme. > > Many have light and dark themes that are often used and switched daily, > depending on ambient light conditions. Effortlessly customizing and > finetuning each theme would prove a nice way to make casual little > changes without messing other themes. (I'm going through old bug reports that unfortunately weren't resolved at the time.) I think that most people that customise a face want that face to be exactly that way, and not tied to a theme, but I can see that it'd be useful to be able to create a kind of "child theme" via Customize -- perhaps as a separate command. I'm not sure how that would be most easily be implemented -- it'd be a set of faces that should only be activated after a theme has been activated, or something. Has anybody done any work in this direction, by any chance? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.