emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/modus-operandi-theme be587b4 080/153: New custom option


From: Stefan Monnier
Subject: [elpa] externals/modus-operandi-theme be587b4 080/153: New custom option to remove underline from links
Date: Thu, 18 Mar 2021 13:47:44 -0400 (EDT)

branch: externals/modus-operandi-theme
commit be587b452f66dae7f24a6ae891159d3f43e93847
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    New custom option to remove underline from links
    
    * modus-operandi-theme.el: Implement new customisation option to remove
    underline effect from links.
    
    * modus-vivendi-theme.el: Implement new customisation option to remove
    underline effect from links.
    
    * doc/modus-themes.info: Recompile Info manual.
    
    * doc/modus-themes.org (Option for no link underline): Document new
    customisation option.
    (Configure options prior to loading): Add reference to the new
    customisation option.
    (Acknowledgements): Update list of contributors.
    
    Thanks to Utkarsh Singh for suggesting the idea in issue 94:
    https://gitlab.com/protesilaos/modus-themes/-/issues/94
---
 doc/modus-themes.info   | 204 +++++++++++++++++++++++++++---------------------
 doc/modus-themes.org    |  60 ++++++++------
 modus-operandi-theme.el |  41 ++++++----
 modus-vivendi-theme.el  |  41 ++++++----
 4 files changed, 199 insertions(+), 147 deletions(-)

diff --git a/doc/modus-themes.info b/doc/modus-themes.info
index c43349f..948229a 100644
--- a/doc/modus-themes.info
+++ b/doc/modus-themes.info
@@ -72,6 +72,7 @@ Customisation Options
 * Bold constructs::              Toggle bold constructs in code
 * Slanted constructs::           Toggle slanted constructs (italics) in code
 * Syntax highlighting::          Toggle subtle colouration in programming modes
+* Link underline::               Toggle underlined text in links
 * Command prompts::              Choose among plain, subtle, or intense prompts
 * Mode line::                    Choose among plain, three-dimension, or 
moody-compliant styles
 * Completion UIs::               Choose among standard, moderate, or 
opinionated looks
@@ -392,6 +393,7 @@ are just for the sake of this demonstration):(1)
                 modus-%1$s-theme-faint-syntax nil
                 modus-%1$s-theme-intense-hl-line nil
                 modus-%1$s-theme-intense-paren-match nil
+                modus-%1$s-theme-no-link-underline t
                 modus-%1$s-theme-prompts nil ; {nil,'subtle,'intense}
                 modus-%1$s-theme-completions 'moderate ; 
{nil,'moderate,'opinionated}
                 modus-%1$s-theme-diffs nil ; {nil,'desaturated,'fg-only}
@@ -444,6 +446,7 @@ theme (see *note Enable and load::).
 * Bold constructs::              Toggle bold constructs in code
 * Slanted constructs::           Toggle slanted constructs (italics) in code
 * Syntax highlighting::          Toggle subtle colouration in programming modes
+* Link underline::               Toggle underlined text in links
 * Command prompts::              Choose among plain, subtle, or intense prompts
 * Mode line::                    Choose among plain, three-dimension, or 
moody-compliant styles
 * Completion UIs::               Choose among standard, moderate, or 
opinionated looks
@@ -509,7 +512,7 @@ typically affects documentation strings and code comments.
    The default is to not use italics unless it is absolutely necessary.
 
 
-File: modus-themes.info,  Node: Syntax highlighting,  Next: Command prompts,  
Prev: Slanted constructs,  Up: Customisation Options
+File: modus-themes.info,  Node: Syntax highlighting,  Next: Link underline,  
Prev: Slanted constructs,  Up: Customisation Options
 
 4.3 Option for faint code syntax highlighting
 =============================================
@@ -532,9 +535,28 @@ have effects in other places that are hard-wired to rely 
directly on
 font-lock.  The author is aware of ‘vc-dir’ as a case in point.
 
 
-File: modus-themes.info,  Node: Command prompts,  Next: Mode line,  Prev: 
Syntax highlighting,  Up: Customisation Options
+File: modus-themes.info,  Node: Link underline,  Next: Command prompts,  Prev: 
Syntax highlighting,  Up: Customisation Options
 
-4.4 Option for command prompt styles
+4.4 Option for no link underline
+================================
+
+Symbol names:
+
+   • ‘modus-operandi-theme-no-link-underline’
+   • ‘modus-vivendi-theme-no-link-underline’
+
+   Possible values:
+
+  1. ‘nil’ (default)
+  2. ‘t’
+
+   Remove the underline effect from links, symbolic links, and buttons.
+The default is to apply an underline.
+
+
+File: modus-themes.info,  Node: Command prompts,  Next: Mode line,  Prev: Link 
underline,  Up: Customisation Options
+
+4.5 Option for command prompt styles
 ====================================
 
 Symbol names:
@@ -560,7 +582,7 @@ relying on an accented foreground colour.
 
 File: modus-themes.info,  Node: Mode line,  Next: Completion UIs,  Prev: 
Command prompts,  Up: Customisation Options
 
-4.5 Option for mode line presentation
+4.6 Option for mode line presentation
 =====================================
 
 Symbol names:
@@ -611,7 +633,7 @@ been carefully designed to be highly accessible).
 
 File: modus-themes.info,  Node: Completion UIs,  Next: Fringes,  Prev: Mode 
line,  Up: Customisation Options
 
-4.6 Option for completion framework aesthetics
+4.7 Option for completion framework aesthetics
 ==============================================
 
 Symbol names:
@@ -657,7 +679,7 @@ spend some time with every one of the ‘nil’ (default), 
‘moderate’, and
 
 File: modus-themes.info,  Node: Fringes,  Next: Line highlighting,  Prev: 
Completion UIs,  Up: Customisation Options
 
-4.7 Option for fringe visibility
+4.8 Option for fringe visibility
 ================================
 
 Symbol names:
@@ -682,7 +704,7 @@ space given to them by ‘fringe-mode’.
 
 File: modus-themes.info,  Node: Line highlighting,  Next: Matching 
parentheses,  Prev: Fringes,  Up: Customisation Options
 
-4.8 Option for line highlighting (hl-line-mode)
+4.9 Option for line highlighting (hl-line-mode)
 ===============================================
 
 Symbol names:
@@ -704,8 +726,8 @@ packages that enable ‘hl-line-mode’, such as ‘elfeed’ and 
‘mu4e’.
 
 File: modus-themes.info,  Node: Matching parentheses,  Next: Diffs,  Prev: 
Line highlighting,  Up: Customisation Options
 
-4.9 Option for parenthesis matching (show-paren-mode)
-=====================================================
+4.10 Option for parenthesis matching (show-paren-mode)
+======================================================
 
 Symbol names:
 
@@ -725,7 +747,7 @@ overlays.
 
 File: modus-themes.info,  Node: Diffs,  Next: Org mode blocks,  Prev: Matching 
parentheses,  Up: Customisation Options
 
-4.10 Option for diff buffer looks
+4.11 Option for diff buffer looks
 =================================
 
 Symbol names:
@@ -767,7 +789,7 @@ consistent with the overall intent of the aforementioned.
 
 File: modus-themes.info,  Node: Org mode blocks,  Next: Heading styles,  Prev: 
Diffs,  Up: Customisation Options
 
-4.11 Option for org-mode block styles
+4.12 Option for org-mode block styles
 =====================================
 
 Symbol names:
@@ -805,7 +827,7 @@ each code block (inefficient at scale, but it still works).
 
 File: modus-themes.info,  Node: Heading styles,  Next: Scaled headings,  Prev: 
Org mode blocks,  Up: Customisation Options
 
-4.12 Option for headings’ overall style
+4.13 Option for headings’ overall style
 =======================================
 
 This is defined as an alist and, therefore, uses a different approach
@@ -906,7 +928,7 @@ option), just specify the value t like this:
 
 File: modus-themes.info,  Node: Scaled headings,  Next: Headings' font,  Prev: 
Heading styles,  Up: Customisation Options
 
-4.13 Option for scaled headings
+4.14 Option for scaled headings
 ===============================
 
 Symbol names:
@@ -930,7 +952,7 @@ headings and body copy.
 
 File: modus-themes.info,  Node: Scaled heading sizes,  Up: Scaled headings
 
-4.13.1 Control the scale of headings
+4.14.1 Control the scale of headings
 ------------------------------------
 
 In addition to toggles for enabling scaled headings, users can also
@@ -974,7 +996,7 @@ issue tracker).
 
 File: modus-themes.info,  Node: Headings' font,  Prev: Scaled headings,  Up: 
Customisation Options
 
-4.14 Option for variable-pitch font in headings
+4.15 Option for variable-pitch font in headings
 ===============================================
 
 Symbol names:
@@ -1752,32 +1774,31 @@ File: modus-themes.info,  Node: Acknowledgements,  
Next: Meta,  Prev: Contributi
 
 The Modus themes are a collective effort.  Every contribution counts.
 
-   Author/maintainer: Protesilaos Stavrou.
-
-   Code contributions: Anders Johansson, Basil L.  Contovounisios,
-Markus Beppler, Matthew Stevenson.
-
-   Ideas and user feedback: Aaron Jensen, Adam Spiers, Alex Griffin,
-Alex Peitsinis, Alexey Shmalko, Anders Johansson, André Alexandre Gomes,
-Arif Rezai, Basil L.  Contovounisios, Damien Cassou, David Edmondson,
-Davor Rotim, Divan Santana, Gerry Agbobada, Gianluca Recchia, Len Trigg,
-Manuel Uberti, Mark Burton, Markus Beppler, Michael Goldenberg, Murilo
-Pereira, Nicolas De Jaeghere, Pierre Téchoueyres, Ryan Phillips, Shreyas
-Ragavan, Tassilo Horn, Thibaut Verron, Trey Merkley, Uri Sharf, User
-“Ben”, User “Fourchaux”, User “Fredrik”, User “Moesasji”, User
-“TheBlob42”, User “dinko”, User “doolio”, User “okamsn”, User “tycho
-garen”, Vincent Foley.
+Author/maintainer
+     Protesilaos Stavrou.
 
-   Packaging:
+Code contributions
+     Anders Johansson, Basil L.  Contovounisios, Markus Beppler, Matthew
+     Stevenson.
 
-   • Dhavan Vaidya (Debian)
-   • Stefan Kangas (core Emacs)
-   • Stefan Monnier (GNU Elpa)
+Ideas and user feedback
+     Aaron Jensen, Adam Spiers, Alex Griffin, Alex Peitsinis, Alexey
+     Shmalko, Anders Johansson, André Alexandre Gomes, Arif Rezai, Basil
+     L.  Contovounisios, Damien Cassou, Dario Gjorgjevski, David
+     Edmondson, Davor Rotim, Divan Santana, Gerry Agbobada, Gianluca
+     Recchia, Len Trigg, Manuel Uberti, Mark Burton, Markus Beppler,
+     Michael Goldenberg, Murilo Pereira, Nicolas De Jaeghere, Pierre
+     Téchoueyres, Ryan Phillips, Shreyas Ragavan, Tassilo Horn, Thibaut
+     Verron, Trey Merkley, Uri Sharf, Utkarsh Singh, Vincent Foley.  As
+     well as users: Ben, Fourchaux, Fredrik, Moesasji, TheBlob42, dinko,
+     doolio, jixiuf, okamsn, tycho garen.
 
-   Inspiration for certain features:
+Packaging
+     Dhavan Vaidya (Debian), Stefan Kangas (core Emacs), Stefan Monnier
+     (GNU Elpa).
 
-   • Fabrice Niessen (leuven-theme)
-   • Bozhidar Batsov (zenburn-theme)
+Inspiration for certain features
+     Fabrice Niessen (leuven-theme), Bozhidar Batsov (zenburn-theme).
 
 
 File: modus-themes.info,  Node: Meta,  Next: External projects (ports),  Prev: 
Acknowledgements,  Up: Top
@@ -2286,60 +2307,61 @@ Appendix A GNU Free Documentation License
 
 Tag Table:
 Node: Top218
-Node: Overview3767
-Node: How do the themes look like5452
-Node: Installation5935
-Node: Install from the archives6585
-Node: Install on GNU/Linux7272
-Node: Debian 11 Bullseye7717
-Node: GNU Guix8126
-Node: Enable and load8477
-Node: Load automatically9054
-Node: Load at a given time or at sunset/sunrise9613
-Ref: Load at a given time or at sunset/sunrise-Footnote-111651
-Ref: Load at a given time or at sunset/sunrise-Footnote-211779
-Node: Toggle between the themes on demand11862
-Node: Configure options prior to loading12609
-Ref: Configure options prior to loading-Footnote-115152
-Node: Customisation Options15327
-Node: Bold constructs16942
-Node: Slanted constructs17941
-Node: Syntax highlighting18532
-Node: Command prompts19261
-Node: Mode line20064
-Node: Completion UIs22501
-Node: Fringes24442
-Node: Line highlighting25206
-Node: Matching parentheses25872
-Node: Diffs26514
-Node: Org mode blocks28307
-Node: Heading styles29810
-Node: Scaled headings33199
-Node: Scaled heading sizes33816
-Node: Headings' font35775
-Node: Advanced customisation (do-it-yourself)36399
-Node: Tweak colours (DIY)37403
-Node: Font configs (DIY)41037
-Ref: Font configs (DIY)-Footnote-143617
-Ref: Font configs (DIY)-Footnote-243804
-Node: Org user faces (DIY)44026
-Node: Face coverage47247
-Node: Supported packages47749
-Node: Covered indirectly53708
-Node: Will NOT be supported54077
-Node: Notes for individual packages54795
-Node: Note for powerline or spaceline55201
-Node: Note on shr colours55573
-Node: Note for Helm grep55986
-Node: Note on vc-annotate-background-mode57433
-Node: Contributing58287
-Node: Sources of the themes58706
-Node: Issues you can help with59468
-Node: Merge requests60655
-Node: Acknowledgements61737
-Node: Meta63011
-Node: External projects (ports)64064
-Node: GNU Free Documentation License64887
+Node: Overview3832
+Node: How do the themes look like5517
+Node: Installation6000
+Node: Install from the archives6650
+Node: Install on GNU/Linux7337
+Node: Debian 11 Bullseye7782
+Node: GNU Guix8191
+Node: Enable and load8542
+Node: Load automatically9119
+Node: Load at a given time or at sunset/sunrise9678
+Ref: Load at a given time or at sunset/sunrise-Footnote-111716
+Ref: Load at a given time or at sunset/sunrise-Footnote-211844
+Node: Toggle between the themes on demand11927
+Node: Configure options prior to loading12674
+Ref: Configure options prior to loading-Footnote-115270
+Node: Customisation Options15445
+Node: Bold constructs17125
+Node: Slanted constructs18124
+Node: Syntax highlighting18715
+Node: Link underline19443
+Node: Command prompts19930
+Node: Mode line20728
+Node: Completion UIs23165
+Node: Fringes25106
+Node: Line highlighting25870
+Node: Matching parentheses26536
+Node: Diffs27180
+Node: Org mode blocks28973
+Node: Heading styles30476
+Node: Scaled headings33865
+Node: Scaled heading sizes34482
+Node: Headings' font36441
+Node: Advanced customisation (do-it-yourself)37065
+Node: Tweak colours (DIY)38069
+Node: Font configs (DIY)41703
+Ref: Font configs (DIY)-Footnote-144283
+Ref: Font configs (DIY)-Footnote-244470
+Node: Org user faces (DIY)44692
+Node: Face coverage47913
+Node: Supported packages48415
+Node: Covered indirectly54374
+Node: Will NOT be supported54743
+Node: Notes for individual packages55461
+Node: Note for powerline or spaceline55867
+Node: Note on shr colours56239
+Node: Note for Helm grep56652
+Node: Note on vc-annotate-background-mode58099
+Node: Contributing58953
+Node: Sources of the themes59372
+Node: Issues you can help with60134
+Node: Merge requests61321
+Node: Acknowledgements62403
+Node: Meta63667
+Node: External projects (ports)64720
+Node: GNU Free Documentation License65543
 
 End Tag Table
 
diff --git a/doc/modus-themes.org b/doc/modus-themes.org
index 0b3eb1b..1f06542 100644
--- a/doc/modus-themes.org
+++ b/doc/modus-themes.org
@@ -284,6 +284,7 @@ 
https://www.reddit.com/r/emacs/comments/gqsz8u/weekly_tipstricketc_thread/fsfakh
            modus-%1$s-theme-faint-syntax nil
            modus-%1$s-theme-intense-hl-line nil
            modus-%1$s-theme-intense-paren-match nil
+           modus-%1$s-theme-no-link-underline t
            modus-%1$s-theme-prompts nil ; {nil,'subtle,'intense}
            modus-%1$s-theme-completions 'moderate ; 
{nil,'moderate,'opinionated}
            modus-%1$s-theme-diffs nil ; {nil,'desaturated,'fg-only}
@@ -405,6 +406,26 @@ This option essentially affects the font-lock faces, so it 
may also have
 effects in other places that are hard-wired to rely directly on
 font-lock.  The author is aware of =vc-dir= as a case in point.
 
+** Option for no link underline
+:PROPERTIES:
+:ALT_TITLE: Link underline
+:DESCRIPTION: Toggle underlined text in links
+:CUSTOM_ID: h:a1a639e9-d247-414c-a0ad-08adadcbc6c1
+:END:
+
+Symbol names:
+
++ =modus-operandi-theme-no-link-underline=
++ =modus-vivendi-theme-no-link-underline=
+
+Possible values:
+
+1. =nil= (default)
+2. =t=
+
+Remove the underline effect from links, symbolic links, and buttons.
+The default is to apply an underline.
+
 ** Option for command prompt styles
 :PROPERTIES:
 :ALT_TITLE: Command prompts
@@ -1604,32 +1625,27 @@ once.  It will allow you to make contributions to Emacs 
in general.
 
 The Modus themes are a collective effort.  Every contribution counts.
 
-Author/maintainer: Protesilaos Stavrou.
-
-Code contributions: Anders Johansson, Basil L. Contovounisios, Markus
-Beppler, Matthew Stevenson.
-
-Ideas and user feedback: Aaron Jensen, Adam Spiers, Alex Griffin, Alex
-Peitsinis, Alexey Shmalko, Anders Johansson, André Alexandre Gomes, Arif
-Rezai, Basil L. Contovounisios, Damien Cassou, David Edmondson, Davor
-Rotim, Divan Santana, Gerry Agbobada, Gianluca Recchia, Len Trigg,
-Manuel Uberti, Mark Burton, Markus Beppler, Michael Goldenberg, Murilo
-Pereira, Nicolas De Jaeghere, Pierre Téchoueyres, Ryan Phillips, Shreyas
-Ragavan, Tassilo Horn, Thibaut Verron, Trey Merkley, Uri Sharf, User
-"Ben", User "Fourchaux", User "Fredrik", User "Moesasji", User
-"TheBlob42", User "dinko", User "doolio", User "okamsn", User "tycho
-garen", Vincent Foley.
++ Author/maintainer :: Protesilaos Stavrou.
 
-Packaging:
++ Code contributions :: Anders Johansson, Basil L. Contovounisios,
+  Markus Beppler, Matthew Stevenson.
 
-+ Dhavan Vaidya (Debian)
-+ Stefan Kangas (core Emacs)
-+ Stefan Monnier (GNU Elpa)
++ Ideas and user feedback :: Aaron Jensen, Adam Spiers, Alex Griffin,
+  Alex Peitsinis, Alexey Shmalko, Anders Johansson, André Alexandre
+  Gomes, Arif Rezai, Basil L. Contovounisios, Damien Cassou, Dario
+  Gjorgjevski, David Edmondson, Davor Rotim, Divan Santana, Gerry
+  Agbobada, Gianluca Recchia, Len Trigg, Manuel Uberti, Mark Burton,
+  Markus Beppler, Michael Goldenberg, Murilo Pereira, Nicolas De
+  Jaeghere, Pierre Téchoueyres, Ryan Phillips, Shreyas Ragavan, Tassilo
+  Horn, Thibaut Verron, Trey Merkley, Uri Sharf, Utkarsh Singh, Vincent
+  Foley.  As well as users: Ben, Fourchaux, Fredrik, Moesasji,
+  TheBlob42, dinko, doolio, jixiuf, okamsn, tycho garen.
 
-Inspiration for certain features:
++ Packaging :: Dhavan Vaidya (Debian), Stefan Kangas (core Emacs),
+  Stefan Monnier (GNU Elpa).
 
-+ Fabrice Niessen (leuven-theme)
-+ Bozhidar Batsov (zenburn-theme)
++ Inspiration for certain features :: Fabrice Niessen (leuven-theme),
+  Bozhidar Batsov (zenburn-theme).
 
 * Meta
 :PROPERTIES:
diff --git a/modus-operandi-theme.el b/modus-operandi-theme.el
index 068c582..cbea3a8 100644
--- a/modus-operandi-theme.el
+++ b/modus-operandi-theme.el
@@ -52,6 +52,7 @@
 ;;     modus-operandi-theme-faint-syntax                   (boolean)
 ;;     modus-operandi-theme-intense-hl-line                (boolean)
 ;;     modus-operandi-theme-intense-paren-match            (boolean)
+;;     modus-operandi-theme-no-link-underline              (boolean)
 ;;     modus-operandi-theme-completions                    (choice)
 ;;     modus-operandi-theme-override-colors-alist          (alist)
 ;;
@@ -792,6 +793,10 @@ effect than the former."
   "Use less saturated colours for code syntax highlighting."
   :type 'boolean)
 
+(defcustom modus-operandi-theme-no-link-underline nil
+  "Do not underline links."
+  :type 'boolean)
+
 ;;; Internal functions
 
 ;; Helper functions that are meant to ease the implementation of the
@@ -1399,9 +1404,11 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(trailing-whitespace ((,class :background ,red-intense-bg)))
    `(warning ((,class :inherit bold :foreground ,yellow)))
 ;;;;; buttons, links, widgets
-   `(button ((,class :foreground ,blue-alt-other :underline t)))
-   `(link ((,class :foreground ,blue-alt-other :underline t)))
-   `(link-visited ((,class :foreground ,magenta-alt-other :underline t)))
+   `(button ((,class :foreground ,blue-alt-other
+                     ,@(unless modus-operandi-theme-no-link-underline
+                         (list :underline t)))))
+   `(link ((,class :inherit button)))
+   `(link-visited ((,class :inherit link :foreground ,magenta-alt-other)))
    `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main)))
    `(widget-button ((,class :inherit button)))
    `(widget-button-pressed ((,class :inherit button :foreground ,magenta)))
@@ -1468,13 +1475,13 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow 
:underline t)))
    `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold))))
 ;;;;; apropos
-   `(apropos-function-button ((,class :foreground ,magenta-alt-other 
:underline t)))
+   `(apropos-function-button ((,class :inherit button :foreground 
,magenta-alt-other)))
    `(apropos-keybinding ((,class :inherit bold :foreground ,cyan)))
-   `(apropos-misc-button ((,class :foreground ,cyan-alt-other :underline t)))
+   `(apropos-misc-button ((,class :inherit button :foreground 
,cyan-alt-other)))
    `(apropos-property ((,class ,@(modus-operandi-theme-bold-weight) 
:foreground ,magenta-alt)))
-   `(apropos-symbol ((,class ,@(modus-operandi-theme-bold-weight) :foreground 
,blue-nuanced :underline t)))
-   `(apropos-user-option-button ((,class :foreground ,green-alt-other 
:underline t)))
-   `(apropos-variable-button ((,class :foreground ,blue :underline t)))
+   `(apropos-symbol ((,class ,@(modus-operandi-theme-bold-weight) :foreground 
,blue-alt-other)))
+   `(apropos-user-option-button ((,class :inherit button :foreground 
,green-alt-other)))
+   `(apropos-variable-button ((,class :inherit button :foreground ,blue)))
 ;;;;; apt-sources-list
    `(apt-sources-list-components ((,class :foreground ,cyan)))
    `(apt-sources-list-options ((,class :foreground ,yellow)))
@@ -1911,7 +1918,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(dired-mark ((,class :inherit modus-theme-mark-symbol)))
    `(dired-marked ((,class :inherit modus-theme-mark-sel)))
    `(dired-perm-write ((,class :foreground ,fg-special-warm)))
-   `(dired-symlink ((,class :foreground ,cyan-alt :underline t)))
+   `(dired-symlink ((,class :inherit button :foreground ,cyan-alt)))
    `(dired-warning ((,class :inherit bold :foreground ,yellow)))
 ;;;;; dired-async
    `(dired-async-failures ((,class ,@(modus-operandi-theme-bold-weight) 
:foreground ,red-active)))
@@ -1957,7 +1964,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(diredfl-other-priv ((,class :foreground ,yellow)))
    `(diredfl-rare-priv ((,class :foreground ,magenta-alt-other)))
    `(diredfl-read-priv ((,class :foreground ,magenta)))
-   `(diredfl-symlink ((,class :foreground ,cyan-alt :underline t)))
+   `(diredfl-symlink ((,class :inherit button :foreground ,cyan-alt)))
    `(diredfl-tagged-autofile-name ((,class :inherit 
modus-theme-refine-magenta)))
    `(diredfl-write-priv ((,class :foreground ,cyan-alt-other)))
 ;;;;; disk-usage
@@ -2191,7 +2198,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(eshell-ls-product ((,class :foreground ,fg-special-warm)))
    `(eshell-ls-readonly ((,class :foreground ,fg-special-cold)))
    `(eshell-ls-special ((,class :inherit bold :foreground ,magenta)))
-   `(eshell-ls-symlink ((,class :foreground ,cyan :underline t)))
+   `(eshell-ls-symlink ((,class :inherit button :foreground ,cyan)))
    `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
    `(eshell-prompt ((,class ,@(modus-operandi-theme-bold-weight)
                             ,@(modus-operandi-theme-prompt green-alt-other
@@ -2496,7 +2503,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt)))
 ;;;;; git-walktree
    `(git-walktree-commit-face ((,class :foreground ,yellow)))
-   `(git-walktree-symlink-face ((,class :foreground ,cyan :underline t)))
+   `(git-walktree-symlink-face ((,class :inherit button :foreground ,cyan)))
    `(git-walktree-tree-face ((,class :foreground ,magenta)))
 ;;;;; gnus
    `(gnus-button ((,class :inherit button)))
@@ -3521,7 +3528,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(org-code ((,class :inherit fixed-pitch :foreground ,magenta)))
    `(org-column ((,class :background ,bg-alt)))
    `(org-column-title ((,class :inherit bold :underline t :background 
,bg-alt)))
-   `(org-date ((,class :inherit fixed-pitch :foreground ,cyan-alt-other 
:underline t)))
+   `(org-date ((,class :inherit '(button fixed-pitch) :foreground 
,cyan-alt-other)))
    `(org-date-selected ((,class :inherit bold :foreground ,blue-alt 
:inverse-video t)))
    `(org-document-info ((,class :foreground ,fg-special-cold)))
    `(org-document-info-keyword ((,class :inherit fixed-pitch :foreground 
,fg-alt)))
@@ -3531,7 +3538,7 @@ Also bind `class' to ((class color) (min-colors 89))."
                        :inherit ,modus-theme-variable-pitch)))
    `(org-drawer ((,class :inherit fixed-pitch :foreground ,cyan)))
    `(org-ellipsis ((,class :foreground nil))) ; inherits from the heading's 
colour
-   `(org-footnote ((,class :foreground ,blue-alt :underline ,blue-alt)))
+   `(org-footnote ((,class :inherit button :foreground ,blue-alt)))
    `(org-formula ((,class :inherit fixed-pitch :foreground ,red-alt)))
    `(org-habit-alert-face ((,class :inherit modus-theme-intense-yellow)))
    `(org-habit-alert-future-face ((,class :inherit modus-theme-refine-yellow)))
@@ -3611,8 +3618,8 @@ Also bind `class' to ((class color) (min-colors 89))."
 ;;;;; org-recur
    `(org-recur ((,class :foreground ,magenta-active)))
 ;;;;; org-roam
-   `(org-roam-link ((,class :foreground ,blue-alt-other :underline t)))
-   `(org-roam-backlink ((,class :foreground ,green-alt-other :underline t)))
+   `(org-roam-link ((,class :inherit button :foreground ,blue-alt-other)))
+   `(org-roam-backlink ((,class :inherit button :foreground ,green-alt-other)))
 ;;;;; org-superstar
    `(org-superstar-item ((,class :foreground ,fg-main)))
    `(org-superstar-leading ((,class :foreground ,fg-whitespace)))
@@ -4137,7 +4144,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(trashed-mark ((,class :inherit modus-theme-mark-symbol)))
    `(trashed-marked ((,class :inherit modus-theme-mark-alt)))
    `(trashed-restored ((,class :inherit modus-theme-mark-sel)))
-   `(trashed-symlink ((,class :foreground ,cyan-alt :underline t)))
+   `(trashed-symlink ((,class :inherit button :foreground ,cyan-alt)))
 ;;;;; treemacs
    `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt)))
    `(treemacs-directory-face ((,class :inherit dired-directory)))
diff --git a/modus-vivendi-theme.el b/modus-vivendi-theme.el
index c23e742..2525d05 100644
--- a/modus-vivendi-theme.el
+++ b/modus-vivendi-theme.el
@@ -52,6 +52,7 @@
 ;;     modus-vivendi-theme-faint-syntax                   (boolean)
 ;;     modus-vivendi-theme-intense-hl-line                (boolean)
 ;;     modus-vivendi-theme-intense-paren-match            (boolean)
+;;     modus-vivendi-theme-no-link-underline              (boolean)
 ;;     modus-vivendi-theme-completions                    (choice)
 ;;     modus-vivendi-theme-override-colors-alist          (alist)
 ;;
@@ -792,6 +793,10 @@ effect than the former."
   "Use less saturated colours for code syntax highlighting."
   :type 'boolean)
 
+(defcustom modus-vivendi-theme-no-link-underline nil
+  "Do not underline links."
+  :type 'boolean)
+
 ;;; Internal functions
 
 ;; Helper functions that are meant to ease the implementation of the
@@ -1399,9 +1404,11 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(trailing-whitespace ((,class :background ,red-intense-bg)))
    `(warning ((,class :inherit bold :foreground ,yellow)))
 ;;;;; buttons, links, widgets
-   `(button ((,class :foreground ,blue-alt-other :underline t)))
-   `(link ((,class :foreground ,blue-alt-other :underline t)))
-   `(link-visited ((,class :foreground ,magenta-alt-other :underline t)))
+   `(button ((,class :foreground ,blue-alt-other
+                     ,@(unless modus-vivendi-theme-no-link-underline
+                         (list :underline t)))))
+   `(link ((,class :inherit button)))
+   `(link-visited ((,class :inherit link :foreground ,magenta-alt-other)))
    `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main)))
    `(widget-button ((,class :inherit button)))
    `(widget-button-pressed ((,class :inherit button :foreground ,magenta)))
@@ -1468,13 +1475,13 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow 
:underline t)))
    `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold))))
 ;;;;; apropos
-   `(apropos-function-button ((,class :foreground ,magenta-alt-other 
:underline t)))
+   `(apropos-function-button ((,class :inherit button :foreground 
,magenta-alt-other)))
    `(apropos-keybinding ((,class :inherit bold :foreground ,cyan)))
-   `(apropos-misc-button ((,class :foreground ,cyan-alt-other :underline t)))
+   `(apropos-misc-button ((,class :inherit button :foreground 
,cyan-alt-other)))
    `(apropos-property ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,magenta-alt)))
-   `(apropos-symbol ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,blue-nuanced :underline t)))
-   `(apropos-user-option-button ((,class :foreground ,green-alt-other 
:underline t)))
-   `(apropos-variable-button ((,class :foreground ,blue :underline t)))
+   `(apropos-symbol ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,blue-alt-other)))
+   `(apropos-user-option-button ((,class :inherit button :foreground 
,green-alt-other)))
+   `(apropos-variable-button ((,class :inherit button :foreground ,blue)))
 ;;;;; apt-sources-list
    `(apt-sources-list-components ((,class :foreground ,cyan)))
    `(apt-sources-list-options ((,class :foreground ,yellow)))
@@ -1911,7 +1918,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(dired-mark ((,class :inherit modus-theme-mark-symbol)))
    `(dired-marked ((,class :inherit modus-theme-mark-sel)))
    `(dired-perm-write ((,class :foreground ,fg-special-warm)))
-   `(dired-symlink ((,class :foreground ,cyan-alt :underline t)))
+   `(dired-symlink ((,class :inherit button :foreground ,cyan-alt)))
    `(dired-warning ((,class :inherit bold :foreground ,yellow)))
 ;;;;; dired-async
    `(dired-async-failures ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,red-active)))
@@ -1957,7 +1964,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(diredfl-other-priv ((,class :foreground ,yellow)))
    `(diredfl-rare-priv ((,class :foreground ,magenta-alt-other)))
    `(diredfl-read-priv ((,class :foreground ,magenta)))
-   `(diredfl-symlink ((,class :foreground ,cyan-alt :underline t)))
+   `(diredfl-symlink ((,class :inherit button :foreground ,cyan-alt)))
    `(diredfl-tagged-autofile-name ((,class :inherit 
modus-theme-refine-magenta)))
    `(diredfl-write-priv ((,class :foreground ,cyan-alt-other)))
 ;;;;; disk-usage
@@ -2191,7 +2198,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(eshell-ls-product ((,class :foreground ,fg-special-warm)))
    `(eshell-ls-readonly ((,class :foreground ,fg-special-cold)))
    `(eshell-ls-special ((,class :inherit bold :foreground ,magenta)))
-   `(eshell-ls-symlink ((,class :foreground ,cyan :underline t)))
+   `(eshell-ls-symlink ((,class :inherit button :foreground ,cyan)))
    `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
    `(eshell-prompt ((,class ,@(modus-vivendi-theme-bold-weight)
                             ,@(modus-vivendi-theme-prompt green-alt-other
@@ -2496,7 +2503,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt)))
 ;;;;; git-walktree
    `(git-walktree-commit-face ((,class :foreground ,yellow)))
-   `(git-walktree-symlink-face ((,class :foreground ,cyan :underline t)))
+   `(git-walktree-symlink-face ((,class :inherit button :foreground ,cyan)))
    `(git-walktree-tree-face ((,class :foreground ,magenta)))
 ;;;;; gnus
    `(gnus-button ((,class :inherit button)))
@@ -3521,7 +3528,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(org-code ((,class :inherit fixed-pitch :foreground ,magenta)))
    `(org-column ((,class :background ,bg-alt)))
    `(org-column-title ((,class :inherit bold :underline t :background 
,bg-alt)))
-   `(org-date ((,class :inherit fixed-pitch :foreground ,cyan-alt-other 
:underline t)))
+   `(org-date ((,class :inherit fixed-pitch :inherit button :foreground 
,cyan-alt-other)))
    `(org-date-selected ((,class :inherit bold :foreground ,blue-alt 
:inverse-video t)))
    `(org-document-info ((,class :foreground ,fg-special-cold)))
    `(org-document-info-keyword ((,class :inherit fixed-pitch :foreground 
,fg-alt)))
@@ -3531,7 +3538,7 @@ Also bind `class' to ((class color) (min-colors 89))."
                        :inherit ,modus-theme-variable-pitch)))
    `(org-drawer ((,class :inherit fixed-pitch :foreground ,cyan)))
    `(org-ellipsis ((,class :foreground nil))) ; inherits from the heading's 
colour
-   `(org-footnote ((,class :foreground ,blue-alt :underline ,blue-alt)))
+   `(org-footnote ((,class :inherit button :foreground ,blue-alt)))
    `(org-formula ((,class :inherit fixed-pitch :foreground ,red-alt)))
    `(org-habit-alert-face ((,class :inherit modus-theme-intense-yellow)))
    `(org-habit-alert-future-face ((,class :inherit modus-theme-refine-yellow)))
@@ -3611,8 +3618,8 @@ Also bind `class' to ((class color) (min-colors 89))."
 ;;;;; org-recur
    `(org-recur ((,class :foreground ,magenta-active)))
 ;;;;; org-roam
-   `(org-roam-link ((,class :foreground ,blue-alt-other :underline t)))
-   `(org-roam-backlink ((,class :foreground ,green-alt-other :underline t)))
+   `(org-roam-link ((,class :inherit button :foreground ,blue-alt-other)))
+   `(org-roam-backlink ((,class :inherit button :foreground ,green-alt-other)))
 ;;;;; org-superstar
    `(org-superstar-item ((,class :foreground ,fg-main)))
    `(org-superstar-leading ((,class :foreground ,fg-whitespace)))
@@ -4137,7 +4144,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(trashed-mark ((,class :inherit modus-theme-mark-symbol)))
    `(trashed-marked ((,class :inherit modus-theme-mark-alt)))
    `(trashed-restored ((,class :inherit modus-theme-mark-sel)))
-   `(trashed-symlink ((,class :foreground ,cyan-alt :underline t)))
+   `(trashed-symlink ((,class :inherit button :foreground ,cyan-alt)))
 ;;;;; treemacs
    `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt)))
    `(treemacs-directory-face ((,class :inherit dired-directory)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]