1. 11 Feb, 2022 1 commit
  2. 10 Feb, 2022 9 commits
    • Protesilaos Stavrou's avatar
      Treat embark-keybinding and marginalia-key equally · 7c050e29
      Protesilaos Stavrou authored
      This is the same principle as a8291c0f.  It is related to issue 278:
      <protesilaos/modus-themes#278>.
      7c050e29
    • Protesilaos Stavrou's avatar
      Refine the marginalia-key · a8291c0f
      Protesilaos Stavrou authored
      We make it inherit the modus-themes-key-binding when possible.  The only
      exception is with (setq modus-themes-completions nil) where conflicts
      may arise between the key's style and matching characters of the ongoing
      completion session.
      
      Thanks to Rudolf Adamkovič for pointing out the inconsistency in issue
      278: <protesilaos/modus-themes#278>.
      a8291c0f
    • Protesilaos Stavrou's avatar
      Reword single line description · 3bc041ef
      Protesilaos Stavrou authored
      3bc041ef
    • Protesilaos Stavrou's avatar
      993fd2eb
    • Protesilaos Stavrou's avatar
      REVIEW all completion UIs · 8353f6b2
      Protesilaos Stavrou authored
      [ Remember to read the doc string of 'modus-themes-completions'. ]
      
      * The user option 'modus-themes-completions' now has a fourth
        'super-opinionated' variant: it is like the 'opinionated' one though
        some details are even more pronounced.
      
      * The (setq modus-themes-completions 'moderate) style is more-or-less
        the same across all completion UIs.  The highlight applied to the
        current line is a bespoke shade of blue, the characters are less
        saturated than before and their hues are different, though the overall
        effect should still feel "sufficiently colourful, but not overdone".
      
      * The (setq modus-themes-completions nil) is the same as before.
        However:
      
          * The current line in Ivy now uses a shade of blue that is specific to
            completion UIs instead of an intense cyan background.  This is for
            theme-wide consistency.
      
          * Helm's current line has the same bespoke blue for its current line.
      
      * The (setq modus-themes-completions 'opinionated) should be the same as
        before, notwithstanding the aforementioned tweaks to Ivy/Helm.
      
      * The (setq modus-themes-completions 'super-opinionated) uses the same
        blue as all the other completion interfaces.
      
      Miscellaneous:
      
      * The relevant private helper functions were reviewed.
      
      * We declare a few faces to help streamline certain styles.
      
      * Ivy action keys now inherit from modus-themes-key-binding.  We
        generally try to make all keys look the same, except when that would
        be detrimental to the usability of the given context/interface.
      
      * Some Ivy faces are simplified or otherwise tweaked to fit in with the
        rest of the theme.
      
      * * *
      
      Thanks to Rudolf Adamkovič for the feedback in issues 214 and 278:
      
      * <protesilaos/modus-themes#214>
      * <protesilaos/modus-themes#278>
      8353f6b2
    • Protesilaos Stavrou's avatar
      Refine mode-line and header-line highlight · 8cf2a825
      Protesilaos Stavrou authored
      They should use the standard 'highlight' face.  The mode line has an
      exception when its style is accented (per 'modus-themes-mode-line').
      
      Thanks to Rudolf Adamkovič for the feedback about the
      mode-line-highlight (and others) in issue 214:
      <protesilaos/modus-themes#214>.
      8cf2a825
    • Protesilaos Stavrou's avatar
      Place comment above the right face · fef09112
      Protesilaos Stavrou authored
      fef09112
    • Protesilaos Stavrou's avatar
      Refine compilation-mode colours and fallback face · 718653fb
      Protesilaos Stavrou authored
      Before the fallback face was the generic 'underline'.  Now we use the
      'link' face which is the correct one for this case.
      
      The colours are revised to work better in all the relevant contexts,
      while we no longer try to colour-code line and column numbers (it is not
      effective).
      
      Thanks to Rudolf Adamkovič for the feedback in issue 277:
      <protesilaos/modus-themes#277>.
      718653fb
    • Protesilaos Stavrou's avatar
      Fix internal link in the manual · 05aebb28
      Protesilaos Stavrou authored
      Thanks to Rudolf Adamkovič for reporting the problem in issue 277:
      <protesilaos/modus-themes#277>.
      05aebb28
  3. 09 Feb, 2022 7 commits
    • Protesilaos Stavrou's avatar
      Refine intense+accented hl-line colour · 2a977be0
      Protesilaos Stavrou authored
      This removes some of the perceived "greyness" from the colour values by
      reducing the relative contribution of the green channel of light.
      
      The change affects these styles:
      
          (setq modus-themes-hl-line '(accented intense))
          (setq modus-themes-hl-line '(accented intense underline))
      
      Thanks to Rudolf Adamkovič for suggesting a more vivid colour in issue
      214: <protesilaos/modus-themes#214>.
      2a977be0
    • Protesilaos Stavrou's avatar
      Remove needless quotes from sample code · 04ca70e4
      Protesilaos Stavrou authored
      Extends commit 4c965c84.
      04ca70e4
    • Protesilaos Stavrou's avatar
      Document alternative DIY style for Ediff · 4c965c84
      Protesilaos Stavrou authored
      There was a discussion with Philip Kaludercic in issue 273 about making
      this a defcustom: <protesilaos/modus-themes#273>.
      
      I first entertained the notion and did set up a branch for testing
      purposes.  However, I ultimately decided that such a course of action
      would establish a bad precedent because then every conceivable stylistic
      tweak could, in principle, become a user option.  Furthermore, the
      potential defcustom would introduce too much complexity as Ediff would
      have to continue to behave as other diffs (per 'modus-themes-diffs') if
      the user did not want the alternative style.
      
      As such, I am documenting how a user can achieve this (just how I did
      with "foreground-only" diffs).
      4c965c84
    • Protesilaos Stavrou's avatar
      Fix manual about modus-themes-markup · 8827a428
      Protesilaos Stavrou authored
      8827a428
    • Protesilaos Stavrou's avatar
      Refine modus-themes-markup background+intense · 3579c3e7
      Protesilaos Stavrou authored
      This concerns:
      
          (setq modus-themes-markup '(intense background))
      
      The change is necessary to better differentiate the 'background' and
      'intense' combination from the standard 'background'.  It is consistent
      with the original intent of this stylistic variant.
      
      The referenced colours were introduced in commit 8c59e5a2 (the commit
      message includes tables with contrast ratios).
      3579c3e7
    • Protesilaos Stavrou's avatar
      Minor tweak to doc string · cba6297e
      Protesilaos Stavrou authored
      cba6297e
    • Protesilaos Stavrou's avatar
      Add faint variants of "special" backgrounds · 8c59e5a2
      Protesilaos Stavrou authored
      These are reserved for special circumstances, as the name implies.
      Below are the contrast values (see 'modus-themes-contrast').
      
      * * *
      
      Modus Operandi main accept colours against faint special backgrounds:
      
      |         | #f0f1ff | #ebf5eb | #fef2ea | #faeff9 |
      |---------+---------+---------+---------+---------|
      | #a60000 |    7.15 |    7.17 |    7.29 |    7.16 |
      | #972500 |    7.26 |    7.28 |    7.40 |    7.28 |
      | #a0132f |    7.13 |    7.15 |    7.27 |    7.14 |
      | #7f1010 |    9.44 |    9.47 |    9.63 |    9.47 |
      | #702f00 |    8.94 |    8.97 |    9.12 |    8.96 |
      | #7f002f |    9.64 |    9.67 |    9.83 |    9.66 |
      | #005e00 |    7.20 |    7.23 |    7.34 |    7.22 |
      | #315b00 |    7.13 |    7.15 |    7.27 |    7.15 |
      | #145c33 |    7.18 |    7.20 |    7.32 |    7.20 |
      | #104410 |   10.09 |   10.12 |   10.29 |   10.12 |
      | #30440f |    9.56 |    9.59 |    9.75 |    9.58 |
      | #0f443f |    9.76 |    9.79 |    9.96 |    9.79 |
      | #813e00 |    7.14 |    7.17 |    7.28 |    7.16 |
      | #70480f |    7.14 |    7.17 |    7.28 |    7.16 |
      | #863927 |    7.13 |    7.15 |    7.27 |    7.15 |
      | #5f4400 |    8.10 |    8.12 |    8.26 |    8.12 |
      | #5d5000 |    7.17 |    7.19 |    7.31 |    7.19 |
      | #5e3a20 |    8.91 |    8.94 |    9.09 |    8.93 |
      | #0031a9 |    9.31 |    9.34 |    9.49 |    9.33 |
      | #2544bb |    7.14 |    7.16 |    7.28 |    7.16 |
      | #0000c0 |   10.64 |   10.67 |   10.85 |   10.66 |
      | #003497 |    9.66 |    9.70 |    9.86 |    9.69 |
      | #0f3d8c |    9.06 |    9.09 |    9.24 |    9.09 |
      | #001087 |   13.15 |   13.20 |   13.42 |   13.19 |
      | #721045 |    9.99 |   10.02 |   10.19 |   10.01 |
      | #8f0075 |    7.72 |    7.75 |    7.88 |    7.74 |
      | #5317ac |    8.98 |    9.01 |    9.16 |    9.00 |
      | #752f50 |    8.22 |    8.25 |    8.38 |    8.24 |
      | #7b206f |    8.22 |    8.25 |    8.38 |    8.24 |
      | #55348e |    8.26 |    8.29 |    8.42 |    8.28 |
      | #00538b |    7.18 |    7.20 |    7.32 |    7.19 |
      | #30517f |    7.18 |    7.20 |    7.32 |    7.20 |
      | #005a5f |    7.13 |    7.15 |    7.27 |    7.15 |
      | #005077 |    7.76 |    7.79 |    7.91 |    7.78 |
      | #354f6f |    7.49 |    7.52 |    7.64 |    7.51 |
      | #125458 |    7.69 |    7.72 |    7.85 |    7.71 |
      
      Modus Vivendi main accept colours against faint special backgrounds:
      
      |         | #0e183a | #001f1a | #241613 | #251232 |
      |---------+---------+---------+---------+---------|
      | #ff8059 |    7.01 |    7.01 |    7.07 |    7.00 |
      | #ef8b50 |    7.01 |    7.00 |    7.07 |    7.00 |
      | #ff9077 |    7.85 |    7.85 |    7.93 |    7.85 |
      | #ffa0a0 |    8.91 |    8.91 |    9.00 |    8.91 |
      | #f5aa80 |    9.04 |    9.04 |    9.13 |    9.04 |
      | #ff9fbf |    9.06 |    9.05 |    9.14 |    9.05 |
      | #44bc44 |    7.04 |    7.04 |    7.11 |    7.04 |
      | #70b900 |    7.13 |    7.13 |    7.20 |    7.12 |
      | #00c06f |    7.24 |    7.24 |    7.31 |    7.24 |
      | #78bf78 |    7.87 |    7.86 |    7.94 |    7.86 |
      | #99b56f |    7.60 |    7.59 |    7.67 |    7.59 |
      | #88bf99 |    8.23 |    8.22 |    8.30 |    8.22 |
      | #d0bc00 |    8.98 |    8.98 |    9.07 |    8.98 |
      | #c0c530 |    9.31 |    9.31 |    9.40 |    9.30 |
      | #d3b55f |    8.71 |    8.71 |    8.79 |    8.71 |
      | #d2b580 |    8.81 |    8.80 |    8.89 |    8.80 |
      | #cabf77 |    9.28 |    9.27 |    9.36 |    9.27 |
      | #d0ba95 |    9.20 |    9.20 |    9.29 |    9.20 |
      | #2fafff |    7.18 |    7.18 |    7.25 |    7.18 |
      | #79a8ff |    7.32 |    7.32 |    7.39 |    7.31 |
      | #00bcff |    7.96 |    7.96 |    8.04 |    7.96 |
      | #82b0ec |    7.74 |    7.74 |    7.81 |    7.74 |
      | #a0acef |    7.97 |    7.96 |    8.04 |    7.96 |
      | #80b2f0 |    7.89 |    7.88 |    7.96 |    7.88 |
      | #feacd0 |    9.94 |    9.93 |   10.03 |    9.93 |
      | #f78fe7 |    8.29 |    8.29 |    8.37 |    8.29 |
      | #b6a0ff |    7.82 |    7.81 |    7.89 |    7.81 |
      | #e0b2d6 |    9.51 |    9.50 |    9.60 |    9.50 |
      | #ef9fe4 |    8.88 |    8.88 |    8.96 |    8.87 |
      | #cfa6ff |    8.72 |    8.71 |    8.80 |    8.71 |
      | #00d3d0 |    9.28 |    9.27 |    9.36 |    9.27 |
      | #4ae2f0 |   11.09 |   11.09 |   11.20 |   11.09 |
      | #6ae4b9 |   11.08 |   11.07 |   11.18 |   11.07 |
      | #90c4ed |    9.34 |    9.34 |    9.43 |    9.33 |
      | #a0bfdf |    9.10 |    9.09 |    9.18 |    9.09 |
      | #a4d0bb |   10.18 |   10.17 |   10.27 |   10.17 |
      8c59e5a2
  4. 08 Feb, 2022 1 commit
  5. 06 Feb, 2022 1 commit
  6. 05 Feb, 2022 1 commit
    • Protesilaos Stavrou's avatar
      Add support for slime (slbd) and sly · 8300b0a2
      Protesilaos Stavrou authored
      Thanks to John Haman for the feedback which was done via email due to
      some problems with the web UI.
      
      Please note that I am not familiar with Common Lisp and could not test
      these thoroughly.  Any mistakes or omissions are my own.
      8300b0a2
  7. 04 Feb, 2022 1 commit
  8. 03 Feb, 2022 3 commits
    • Protesilaos Stavrou's avatar
      Refine magit signature faces · 3927576b
      Protesilaos Stavrou authored
      Same idea as with commit 59b0bee8 (read its message).
      3927576b
    • Protesilaos Stavrou's avatar
      Refine magit sequence faces · cb6f6a12
      Protesilaos Stavrou authored
      Same idea as with commit 59b0bee8 (read its message).
      cb6f6a12
    • Protesilaos Stavrou's avatar
      Refine magit reflog faces · 59b0bee8
      Protesilaos Stavrou authored
      Making them bold helps add more structure to the relevant interface.
      While using base faces like 'success' ensures theme-wide
      consistency (such as turning all colour-coded greens into blues when
      'modus-themes-deuteranopia' is non-nil).
      
      [ Remember that ':inherit bold' is a hidden customisation option, as the
        user can specify what :weight the 'bold' face should use.  Check the
        manual for the technicalities. ]
      59b0bee8
  9. 02 Feb, 2022 1 commit
    • Protesilaos Stavrou's avatar
      Refine magit bisect colour-coded styles · 59422c05
      Protesilaos Stavrou authored
      The inherit faces come with a bold weight, which makes things easier to
      discern.  Additionally, the inheritance of the 'success' face means that
      the colour will be green by default unless the user sets
      'modus-themes-deuteranopia' to non-nil, in which case it will be blue.
      59422c05
  10. 31 Jan, 2022 4 commits
  11. 28 Jan, 2022 3 commits
  12. 27 Jan, 2022 1 commit
  13. 26 Jan, 2022 2 commits
  14. 24 Jan, 2022 5 commits
    • Protesilaos Stavrou's avatar
      Make transient argument and value more noticeable · 18c08990
      Protesilaos Stavrou authored
      This is to avoid potential conflicts with the highlighted key bindings,
      especially when transient uses hydra-style colour-coded keys.
      18c08990
    • Protesilaos Stavrou's avatar
      Let transient keys inherit from shadow · 591ff161
      Protesilaos Stavrou authored
      Makes things more consistent for users who want to change the 'shadow'
      face to something more subtle (e.g. a "gray50" foreground).
      591ff161
    • Protesilaos Stavrou's avatar
      Tweak modus-vivendi bg-paren-match colour · b2423b86
      Protesilaos Stavrou authored
      I wanted to increase its distance relative to the main background, just
      to be sure that it is easier to spot.  This is achieved by moving the
      hueness from the yellow to the magenta side of the spectrum.
      
      Overall, the change is subtle and has no major impact on the contrast
      ratio relative to the main background and foreground (we need to
      consider both due to the specifics of show-paren-mode (and related)).
      
      The results:
      
          |         | #000000 | #ffffff | #000000 | #ffffff |
          |---------+---------+---------+---------+---------|
          | #5f362f |    2.06 |   10.22 |   37904 |  333060 |
          | #6f3355 |    2.28 |    9.21 |   58282 |  291037 |
      
      The TBLFM formula for this table (org-mode notation):
      
          $2='(Λ $1 @1$2);%.2f :: $3='(Λ $1 @1$3);%.2f :: $4='(Δ $1 @1$4) :: $5='(Δ $1 @1$5)
      
      The Greek letters mean:
      
          (defalias 'Λ #'modus-themes-contrast)
          (defalias 'Δ #'color-distance)
      b2423b86
    • Protesilaos Stavrou's avatar
      Stop making keys look like boxes · c542e107
      Protesilaos Stavrou authored
      We revert to the old style we were using before the introduction of the
      'help-key-binding' face (Emacs 28).
      
      * * *
      
      By default Emacs 28 or higher will render all key bindings it identifies
      with a box around them.  The idea is to make them look like keys, which
      I never really liked because without padding you get a very tight space
      between the character and the box's borders which can look weird at
      small point sizes.
      
      I tried following the default style for a few months and have concluded
      that it is not good enough for our purposes (my preferences
      notwithstanding):
      
      * The box attribute does not work in terminal emulators.  This means
        that keys only get a subtle grey background and the default
        foreground, which can be hard to make them stand out from their
        surrounding text if the font height is small and/or the keybinding is
        short (e.g. a single character).
      
      * The box and grey background combination limits our options when we
        need to colour-code different types of keys.  For example, the
        which-key package can show TAB as T and applies to it a different face
        to make the distinction obvious.  In that case, the presence of the
        tight box makes the use of a bold weight inappropriate: the character
        and the box's borders seem to overlap.  While the grey background
        limits our choice of colour as, for instance, yellow never looks good
        against it.  Same principle for interfaces that can have colour-coded
        keys like transient and hydra, where we lose much-needed flexibility.
      c542e107
    • Protesilaos Stavrou's avatar
      Use more appropriate colour for which-key special · 23e4cf2e
      Protesilaos Stavrou authored
      This is the face that applies to special keys.  For example:
      
          (setq which-key-special-keys '("SPC" "TAB" "RET" "ESC" "DEL"))
      23e4cf2e