From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Protesilaos Stavrou Newsgroups: gmane.emacs.help Subject: Re: Using built-in modus themes Date: Fri, 04 Mar 2022 10:56:16 +0200 Message-ID: <87r17im6z3.fsf@protesilaos.com> References: <87fsnyunlo.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19987"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Notmuch/0.35 (https://notmuchmail.org) Emacs/29.0.50 (x86_64-pc-linux-gnu) Cc: help-gnu-emacs@gnu.org To: Philip Kaludercic , Tor Kringeland Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Mar 04 16:48:51 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nQAAl-00053G-9i for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 04 Mar 2022 16:48:51 +0100 Original-Received: from localhost ([::1]:55164 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nQAAk-0002Qf-AQ for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 04 Mar 2022 10:48:50 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:50916) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ3jh-0007pP-08 for help-gnu-emacs@gnu.org; Fri, 04 Mar 2022 03:56:29 -0500 Original-Received: from relay7-d.mail.gandi.net ([217.70.183.200]:37637) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQ3je-00084B-C7 for help-gnu-emacs@gnu.org; Fri, 04 Mar 2022 03:56:28 -0500 Original-Received: (Authenticated sender: public@protesilaos.com) by mail.gandi.net (Postfix) with ESMTPSA id 762102000A; Fri, 4 Mar 2022 08:56:18 +0000 (UTC) In-Reply-To: <87fsnyunlo.fsf@posteo.net> Received-SPF: none client-ip=217.70.183.200; envelope-from=public@protesilaos.com; helo=relay7-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 04 Mar 2022 10:42:13 -0500 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:136361 Archived-At: On 2022-03-04, 08:29 +0000, Philip Kaludercic wrote: > Tor Kringeland writes: > >> I'm trying to configure and use the modus themes as described in [1]. >> I'm on a build of Emacs 29 so these are built in. While I can enable >> the themes by using `load-theme', if I execute >> >> (require 'modus-themes) >> >> as described in [1] I get an error saying that the file is missing. >> However if I first load a theme using `load-theme', then executing the >> above yields no error. >> >> Shouldn't running the above work since the themes are part of Emacs now >> (so that I could put it in my config)? I'm running `emacs -Q' and this >> fails then. > > I agree, it should, an I have also had issues with this problem. > > From what I see, the "issue" is that modus-themes is not in the > `load-path'. When you `load-theme' one of the two modus-themes, > `modus-themes' is also added to `features', the list maintaining > activated features. `require' checks this list before loading a > feature, and as it has already been added, no error is thrown and it > appears to work. > > One way this could be solved would be to add the themes directory to > `load-path', but I suspect there is some reason this hasn't been done > already. > > (I have CC'ed Protesilaos to see what he has to say). Thank you Philip for including me in this exchange! Yes, adding the "etc/themes" directory to the 'load-path' would fix this issue. Though note that this is not my decision to make: it should be brought before the Emacs maintainers. [ In my opinion, built-in themes are no different than other .el files. They should be accessible via 'M-x find-library', be byte compiled, included in the 'load-path', etc. ] I updated the project's README accordingly (will do the same for the manual). ## Quick setup for the latest version ### Built-in version For the themes that are built into Emacs you cannot `require` the package. Use the following instead. With `use-package`: ```elisp (use-package emacs :init ;; Add all your customizations prior to loading the themes (setq modus-themes-italic-constructs t modus-themes-bold-constructs nil modus-themes-region '(bg-only no-extend)) :config (load-theme 'modus-operandi) ;; OR (load-theme 'modus-vivendi) :bind ("" . modus-themes-toggle) ``` Without `use-package`: ```elisp ;; Add all your customizations prior to loading the themes (setq modus-themes-italic-constructs t modus-themes-bold-constructs nil modus-themes-region '(bg-only no-extend)) ;; Load the theme of your choice: (load-theme 'modus-operandi) ;; OR (load-theme 'modus-vivendi) (define-key global-map (kbd "") #'modus-themes-toggle) ``` ### Packaged version [...] Tor, can you please tell me if this works for you? -- Protesilaos Stavrou https://protesilaos.com