Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • 1.5.0
    Upstream version 1.5.0
  • debian/1.0.2-1
    modus-themes Debian release 1.0.2-1
    
  • 1.0.2
    Upstream version 1.0.2
  • debian/1.0.0-1
    c0eaf1e0 · Release to unstable ·
    modus-themes Debian release 1.0.0-1
    
  • 1.0.0
    Upstream version 1.0.0
  • debian/0.13.0-1
    e8470f7c · Release to unstable ·
    modus-themes Debian release 0.13.0-1
    
  • 0.13.0
    Upstream version 0.13.0
  • debian/0.11.0-1
    967a0926 · New upstream release ·
    modus-themes Debian release 0.11.0-1
    
  • 0.11.0
    c376b080 · Prepare version 0.11.0 ·
    Modus Operandi and Modus Vivendi version 0.11.0
    
    By Protesilaos Stavrou <info@protesilaos.com> on 2020-07-31
    
    This entry records the changes since version 0.10.0 (2020-06-24).  The
    present release covers close to 100 commits, some of which introduce
    far-reaching changes.  It is not just the quantity that matters.
    Sometimes even a minor tweak requires lots of testing and forethought.
    This release represents another month of intense work and attention to
    detail.
    
    Palette review of "nuanced" colours
    ===================================
    
    The themes contain a subset of palette variables that have a two-fold
    utility:
    
    1. Provide a subtle coloured background that can be combined with all
       foreground colours that are intended for text/code highlighting.
    
    2. Produce variegated text in cases where complementary information
       needs to be displayed alongside some more prominent construct
       (e.g. Org table formulas).
    
    In early July 2020, these colours went through a comprehensive review to
    improve their intended use.  The complete report is available on my
    website:
    <https://protesilaos.com/codelog/2020-07-08-modus-themes-nuanced-colours/>
    
    This formed the preparatory work that enabled several of the changes
    documented herein, most noticeable among which is the "Org blocks"
    customisation option.
    
    Customisation options
    =====================
    
    Org blocks
    ----------
    
    1. The symbols 'modus-operandi-theme-distinct-org-blocks' and
       'modus-vivendi-theme-distinct-org-blocks' are DEPRECATED.  They are
       now REPLACED by the general-purpose 'modus-operandi-theme-org-blocks'
       and 'modus-vivendi-theme-org-blocks' respectively.
    
    2. The aforementioned new symbols allow users to configure different
       styles for Org blocks.
    
       + Option 'greyscale' (which you must quote like this: 'greyscale)
         will apply a subtle grey background to the contents of the block,
         while it will extend its beginning and end lines to ensure that the
         area is distinct from the rest of the buffer.  This is the style
         you would normally get with the old customisation options.
    
       + Option 'rainbow' (again, must be quoted) will instead apply a
         colour-coded subtle background in the main area of the block.  The
         exact colour depends on the programming language being used.  You
         would need to check the source code for how these are currently
         mapped (search for "org-src-block-faces").  The basic idea is to
         have different colours that make it easier for mixing the
         input/output of multiple programming languages.  Users who engage
         in literate programming may find this particularly useful.  Because
         the block is already quite apparent, the beginning and end lines
         are not extended to the edge of the window, to avoid exaggerations
         that could create distractions.
    
    Variable pitch headings (proportionately-spaced headings)
    ---------------------------------------------------------
    
    The symbols 'modus-operandi-theme-proportional-fonts' and
    'modus-vivendi-theme-proportional-fonts' are DEPRECATED.  They are now
    REPLACED by the more appropriately-named
    'modus-operandi-theme-variable-pitch-headings' and
    'modus-vivendi-theme-variable-pitch-headings' respectively.
    
    The intended effect is exactly the same as before, namely, to let
    headings in Org and relevant modes use a proportionately-spaced font
    regardless of what the default is (typically a monospaced typeface).
    
    Remember that to configure the exact font family for the generic
    'variable-pitch' face, you can use something like this:
    
        (set-face-attribute 'variable-pitch nil :family "FiraGO")
    
    Check the README for further details on setting and mixing fonts.
    
    Faint syntax for programming
    ----------------------------
    
    Users can now enable 'modus-operandi-theme-faint-syntax' or
    'modus-vivendi-theme-faint-syntax'.  The intended effect is to tone down
    all syntax highlighting in programming modes, while always respecting
    the overarching objective of these themes for a minimum contrast ratio
    of 7:1 (highest accessibility standard for colour contrast---WCAG AAA).
    
    The default is to use more saturated colours.
    
    Intense hl-line
    ---------------
    
    Toggling on 'modus-operandi-theme-intense-hl-line' or
    'modus-vivendi-theme-intense-hl-line' will apply a more pronounced grey
    to the background of faces that highlight the current line.  This
    affects tools such as the built-in 'hl-line-mode', which is in turn
    enabled automatically by lots of other packages, like 'elfeed' and
    'mu4e'.
    
    The default is to use a subtle grey.
    
    Intense paren-match
    -------------------
    
    Same principle as above.  'modus-operandi-theme-intense-paren-match' and
    'modus-vivendi-theme-intense-paren-match' will make the matching
    parentheses more intense than the default subtle warm background.  This
    concerns modes such as that of the 'smartparens' package as well as the
    built-in 'show-paren-mode'.
    
    Refactored the use of bold
    ==========================
    
    A major review of the themes now makes it possible to specify the exact
    weight of what a "bold" typeface is.  This is only meaningful for cases
    where a font family has variants such as "semibold".
    
    Evaluate this, replacing "semibold" with the one your typeface supports:
    
        (set-face-attribute 'bold nil :weight 'semibold)
    
    The default is to use a standard bold weight.
    
    Packages and face groups
    ========================
    
    Refine already-supported faces
    ------------------------------
    
    + The following packages now use more appropriate colour combinations:
    
      - diary
      - annotate
      - transient (magit pop-up menu, though also used elsewhere)
      - fountain
      - calendar
      - mu4e
      - markdown-mode
      - outline-minor-faces
    
    + Other changes:
    
      - org-agenda has undergone a thoroughgoing review to improve the
        semantics of colour for scheduled tasks, deadlines, modeline
        filters, current date etc.
    
      - org and outline-mode headings have been refined to look better with
        the "rainbow headings" option that was introduced in an earlier
        release (check the README).
    
      - org-quote now works properly with the "Org blocks" option mentioned
        above.
    
      - org-checkbox-statistics uses the same foreground colour as org-todo,
        for the sake of consistency.
    
      - org-date now always inherits from 'fixed-pitch', to ensure proper
        alignment of elements when a mixed fonts setup is used (tools for
        achieving this effect are documented at length in the README).  The
        relevant patch was contributed by Matthew Stevenson.
    
      - org-meta-line no longer looks like a comment, which helps denote its
        special utility (e.g. when evaluating a table's formula).
    
      - org-warning now uses a variant of red for its text, which works
        better in the contexts this face is used (e.g. the agenda or the
        export dispatcher).
    
      - We now apply a slightly more accented colour combination for
        'secondary-selection', which is chiefly used by Org and Calendar in
        various contexts.
    
      - Gnus group level faces make more considerate use of colour to better
        denote their significance.
    
      - Cited text in message buffers has a better sequence of colours.
    
      - Two new Helm faces are supported.
    
      - Let 'keycast' use a different border colour when the "3D modeline"
        option is enabled (refer to the README for that option).
    
      - Extend 'hl-todo-keyword-faces' with the "bug" keyword.
    
      - More intense colour for 'diff-hl-reverted-hunk-highlight'.
    
      - Tone down the focused modeline's border colour.
    
      - Define new bespoke faces that the themes use internally.
    
      - Use more appropriate colours for 'header-line-highlight'.
    
      - Apply greyscale line highlight for flycheck current line in the
        diagnostics buffer, instead of the warmer colour combination it had
        before.
    
      - Tweak text colour difference between MU4E read and unread messages.
    
    Added support for new packages
    ------------------------------
    
    + bongo
    + boon
    + dictionary
    + eshell-fringe-status
    + eshell-git-prompt
    + eshell-prompt-extras
    + highlight-tail
    + hl-defined
    + notmuch
    + tty-menu
    
    Miscellaneous
    =============
    
    + Expand the README with new documentation and clarify parts of the
      existing one.
    
    + Update the Wiki page with screenshots and their descriptions (this in
      itself is a day's worth of work):
      https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots
    
    + Make the source code of each theme work better with the built-in
      'outline-minor-mode'.  Check my video if you need a demo on how I use
      this in tandem with 'imenu':
      https://protesilaos.com/codelog/2020-07-20-emacs-outline-imenu/
    
    Thanks to, in no particular order:
    
    + Shreyas Ragavan (https://gitlab.com/shrysr) for introducing me to the
      idea that derived the "rainbow" Org blocks and for providing valuable
      feedback in several issues.
    
    + Matthew Stevenson (https://gitlab.com/matth0204) for contributing the
      aforementioned patch for the 'org-date' face.
    
    + Manuel Uberti (https://gitlab.com/muberti) for offering valuable
      feedback in a number of issues (and special thanks for doing this for
      several months now).
    
    + Dinko (https://gitlab.com/dinkonin) for noticing a not-so-obvious bug
      in the initial implementation of the "rainbow Org blocks" option.
    
    + okamsn (https://gitlab.com/okamsn) for providing the necessary
      feedback that allowed me to refactor the use of "bold", mentioned
      above.
    
    Refer to the issue tracker (or commit log) for further details:
    https://gitlab.com/protesilaos/modus-themes/-/issues
  • debian/0.10.0-3
    modus-themes Debian release 0.10.0-3
    
  • debian/0.10.0-2
    04c87031 · Upload to unstable ·
    modus-themes Debian release 0.10.0-2
    
  • debian/0.10.0-1
    modus-themes Debian release 0.10.0-1
    
  • 0.10.0
    aa3897c8 · Upgrade to version 0.10.0 ·
    Modus Operandi and Modus Vivendi version 0.10.0
    
    By Protesilaos Stavrou <info@protesilaos.com> on 2020-06-24
    
    This entry records the changes since version 0.9.0 (2020-06-03).  The
    present release is focused on stability and internal improvements.
    
    Fixes and adjustments
    ---------------------
    
    Basil L. Contovounisios, aka @basil-conto, (and also a contributor to
    core Emacs) sent several patches that do the following:
    
    + Fix top-level parentheses so that the results of
      'custom-theme-set-faces' and 'custom-theme-set-variables' are not
      passed as arguments to the first 'custom-theme-set-faces'.
    
    + Fix the docstrings of the custom 'modus-theme-*' faces.
    
    + Simplify the syntax of properties assigned to each face.
    
    + Improve the way styles are inherited by Dired and Ibuffer.
    
    Basil also pointed out an inconsistency with regard to an unwanted
    underline effect for the 'doom-modeline-urgent' face in Modus Vivendi.
    It was promptly removed.
    
    From my part, I fixed issues 46 and 51 that concerned the way the
    compiler would evaluate each theme's palette.  The palette is now
    defined as a constant.  Further information:
    
    - https://gitlab.com/protesilaos/modus-themes/-/issues/46
    - https://gitlab.com/protesilaos/modus-themes/-/issues/51
    
    Improvements to existing faces
    ------------------------------
    
    André Alexandre Gomes (@aadcg) provided valuable feedback and
    suggestions in issue 50 on the redesign of several 'org-mode' faces.
    
    The thread is long and contains lots of screenshots:
    https://gitlab.com/protesilaos/modus-themes/-/issues/50
    
    The changes in outline:
    
    + Org checkboxes have a subtle background which gives them a more
      pronounced appearance while retaining their overall simplicity.
    
    + Org dates use a more saturated variant of cyan than they did before.
      It helps distinguish them from their context.  Especially true for
      dates inside of tables.
    
    + Org agenda dates have also undergone a slight review to match the
      above.
    
    + Org time grid now uses a more appropriate foreground colour, which has
      been designed specifically for unfocused context.
    
    + Org todo keywords use a more semantically-correct variant of red,
      rather than the purple one they had before.
    
    + Org statistics' cookies for pending tasks use a red variant as well
      rather than the previous yellow one, in the interest of consistency
      and to avoid exaggerations.
    
    Other internal refinements
    --------------------------
    
    + Subtle review of the Modus Vivendi palette.  In short, it addresses:
    
      - Imbalanced levels of luminance and inconsistent differences in hue
        between them and their neighbouring colours (e.g. the greens between
        them, and the greens next to the yellows in the context of syntax
        highlighting).  The result was that they would create an undesirable
        emphatic 'pop out' effect when placed close to more moderate
        colours.
    
      - Differences in luminance and hue could lead to scenaria where two
        colours could be conflated with each other or otherwise fail to
        perform their intended function.
    
      - The complete report is on my website:
        https://protesilaos.com/codelog/2020-06-13-modus-vivendi-palette-review/
    
    + Major review of the 'diredfl' faces, in the interest of improved
      readability and harmony between the various colours.  This benefits
      from the palette changes in Modus Vivendi, but also from a similar
      review to Modus Operandi that was documented in version 0.9.0.
    
    + Refactor the names of dedicates colours for "marking" purposes.  These
      are used in Dired, Ibuffer, Proced, etc.  Then apply them consistently
      throughout each theme.
    
    + Make sure that 'stripes' uses the same colours as 'hl-line-mode'.
    
    + Let symlinks use a more appropriate colour in Dired and Trashed.
    
    + Refine the use of colour in 'magit-tag', 'eshell-prompt',
      'message-header-name', 'log-edit-header', 'change-log-function',
      'message-mml', 'message-header-name', 'message-separator'.  These are
      subtle (i.e. difficult) tweaks that improve the overall presentation
      in context.
    
    + Make diff indicators not use an unnecessary background when the
      user-facing option for "subtle diffs" is enabled (check the README for
      the exact name of this option).  This ensures consistency between the
      indicators and the actual scope of the diffs.
    
    + Add support for the 'minibuffer-line' package and extend existing
      support of the faces used in the built-in Emacs info pages.
    
    My thanks to Basil and André for their contributions!
  • 0.9.0
    3406e29e · Upgrade to version 0.9.0 ·
    0.9.0
    
    Modus Operandi and Modus Vivendi version 0.9.0
    
    By Protesilaos Stavrou <info@protesilaos.com> on 2020-06-03
    
    This entry records the changes since version 0.8.0 (2020-04-28).  The
    present release contains about 50 commits, covering a month of active
    development.
    
    All changes are aligned with the primary objective of this project,
    which is conformance with the WCAG AAA accessibility standard for colour
    contrast.  This translates to a minimum contrast ratio of 7:1 between a
    given combination of foreground and background colours.  The highest
    standard of its kind.
    
    All customisation options that are booleans are off ('nil') by default.
    The project's policy is to offer such features on an "opt-in" basis,
    while always respecting the principle of least surprise.
    
    Refer to the README for further information on the exact names of
    symbols and the like.
    
    New customisation options
    -------------------------
    
    + It is now possible to make the faces of Icomplete, Ido, and a few
      other related tools such as 'orderless', use coloured backgrounds to
      style their feedback.  This is the aesthetic already in effect for
      Ivy, Helm, and Selectrum.  The default is more subtle, in that it uses
      just an accented foreground value without any added background.
    
    + Advanced users can now override both the exact values of colour
      variables, as well as the mapping of properties/variables to faces.
      In practice this means that it is possible to completely change parts
      of the theme (or the entirety of it for that matter).  It also means
      that users can simply access the theme's palette for the sake of
      correctly passing the appropriate value to some bespoke face of
      theirs.
    
    + An extra increment for scaled headings is now available.  This should
      hold the highest value on the scale.  Such variables only take effect
      when the user opts for the "scaled headings" option.
    
    Overview of changes
    -------------------
    
    + A set of internal reforms were carried through in order to allow the
      colour palette to be accessed from user configuration files.  This
      required a lot of debugging work to make sure the themes compile
      properly and performance is not affected.
    
      - The original idea for this redesign was suggested by Len Trigg in
        issue 39: https://gitlab.com/protesilaos/modus-themes/-/issues/39.
        Len also provided a real-world implementation of this new option,
        which is included in the project's README.
    
      - André Alexandre Gomes helped figure out the problems caused by the
        initial design of this feature.  In particular, André identified a
        performance penalty as well as errors pertaining to byte
        compilation.  Everything was eventually resolved.  For more see
        issue 44: https://gitlab.com/protesilaos/modus-themes/-/issues/44.
    
    + Several org-mode faces were reviewed in order to cope well with mixed
      font settings.  This is about use-cases where the main typeface is
      proportionately-spaced, either by default or by some minor mode like
      the built-in 'variable-pitch-mode'.  The intent of configuring those
      faces is to make them always inherit a fixed-pitch (monospace) font
      family, in the interest of preserving the alignment of elements.  The
      idea, suggested code, as well as user feedback were offered by Ben in
      issue 40: https://gitlab.com/protesilaos/modus-themes/-/issues/40.
    
    + Mixed font settings may have some side-effects depending on user
      configurations.  This is unavoidable as we cannot control how users
      define their fonts.  Mark Barton reported one such case, while he was
      able to fix it by making use of the suggested typeface definitions.
      See issue 42: https://gitlab.com/protesilaos/modus-themes/-/issues/42.
    
    + The faces for the 'tab-bar-mode' and 'tab-line-mode' that ship with
      Emacs 27 were written anew.  Same for those of 'centaur-tabs'.  The
      ideas for the redesign as well as the overall aesthetic are Ben's, per
      issue 41: https://gitlab.com/protesilaos/modus-themes/-/issues/41.
    
    + An edge case with Helm's interpretation of colour values for its
      ripgrep interface was reported by Manuel Uberti in issue 49:
      https://gitlab.com/protesilaos/modus-themes/-/issues/49.  It
      essentially had to do with the syntax for the regexp engine as read by
      the underlying 'rg' executable.  Collaboration on that front
      eventually led to fixes in Helm itself, committed by its maintainer.
      Note that the README for the Modus themes already contains information
      on how Helm applies a face to the matches of grep or grep-like
      commands.  Issue 49 confirmed what was already known in that regard
      (i.e. that the "--color=never" command-line option is required to use
      the Helm face, else a colour value from the ANSI colour vector is
      used---both are supported by the themes).
    
    + The faces for Flycheck, Flymake, and Flyspell that would apply an
      underline effect were completely rewritten to account for relevant
      differences between GUI and TUI Emacs.
    
      - For GUI Emacs, all affected faces will now just use a colour-coded
        wavy underline.  Empowered by the introduction of dedicated
        linter-related colours in prior commits (for version 0.8.0), we no
        longer have to change the foreground value of the offending text in
        addition to applying the underline effect.  Whereas before the text
        would also get repainted, which was too intrusive in most
        circumstances.
    
      - If support for wavy underlines is not available, we assume the
        presence of a TUI, which generally is relatively more limited in its
        ability to reproduce colours with precision (meaning that the
        dedicated linter colour could be distorted, potentially producing
        inaccessible combinations).  So for those cases we apply a straight
        underline combined with a colour-coded foreground for the affected
        text.  This makes it more intense compared to the GUI equivalent,
        but is the necessary course of action to overcome the constraints
        imposed by the underlying terminal.
    
    + The palette of Modus Operandi underwent lots of subtle changes to make
      the background value of hl-line-mode more visible while retaining the
      overall style and character of the theme.  In principle, you should
      not be able to tell the difference, unless presented with a careful
      side-by-side comparison.  This is the comprehensive report, including
      a reproducible org-mode document with all the relevant contrast ratios:
      https://protesilaos.com/codelog/2020-05-10-modus-operandi-palette-review/.
    
    + Fixed `org-hide' to actually "hide" by using the appropriate colour
      value.
    
    + Several other face groups received minor tweaks.
    
    + The README was improved to better present the available customisation
      options and to cover other topics of interest.
    
    + Updated the screen shots and their description in the relevant Wiki
      page: https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots.
    
    Added support for
    -----------------
    
    + circe
    + el-search
    + eros
    + golden-ratio-scroll-screen
    + highlight-indentation
    + hyperlist
    + indium
    + journalctl-mode
    + minimap
    + nxml-mode
    + vdiff
    + yasnippet