GithubHelp home page GithubHelp logo

kartikynwa / stimmung-themes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from motform/stimmung-themes

0.0 0.0 0.0 2.95 MB

emacs tuned to inner harmonies

License: GNU General Public License v3.0

Emacs Lisp 100.00%

stimmung-themes's Introduction

When you say: We’re in a good Stimmung, you mean a good psychological tuning, being well tuned together.

— Karlheinz Stockhausen, 1973

Stimmung, Emacs tuned to inner harmonies

Stimmung-themes is a pair of monoesuqe Emacs themes with minimal syntax highlighting. They are inspired by Tonsky’s Alabaster theme, following the maxim that a theme that highlights everything paradoxically highlights nothing. Text backgrounds (comments, strings and constants) and font variations (definitions/callsites) are used as alternatives to text colors, ensuring a harmonious reading experience. The hues of the stimmung-dark are selected to match the default macOS dark mode. The themes feature a (default golden beige) highlight color that you can set color and application of, see Customization.

Emacs packages often define their own faces, making theming a relatively sisyphean task. Stimmung-themes defines all default faces and some of the most common, and uncommon, packages. This includes programming modes like lsp-ui and magit, but also things like solaire and productivity/communication modes like notmuch or elfeed. Open an issue or make pull request if you lack a definition, they are always appreciated!

Screenshots

./.assets/clj.png

./.assets/tsx.png

./.assets/magit.png

The screenshots are set in PragmataPro (with line-height patched to 1.4) and feature modeline/whitespace settings inspired by rougier that you can find in my emacs.d.

Installation

Stimmung-themes is distributed via MELPA. Install it with your package manager of preference (package.el, straight, use-package) and make sure the following lines are in your init-file:

(require 'stimmung-themes) ; if you use package.el
(stimmung-themes-load-light)

A typical use-package installation might look something like:

(use-package stimmung-themes
  ;; :straight (stimmung-themes :host github :repo "motform/stimmung-themes") ; if you are a straight shooter
  :demand t
  :ensure t
  :config (stimmung-themes-load-light)) ; or (stimmung-themes-load-dark)

Note that some faces, like org-block, inherit from the fixed-pitch font, in order to allow them to properly work with variable-pitch-mode. This means that, in order to have a consistent experience, you may have to set the relevant face-attribute. For example:

(set-face-attribute 'default        nil :family "Iosevka"            :height fixed-size    :weight 'medium)
(set-face-attribute 'fixed-pitch    nil :family "Iosevka"            :height fixed-size    :weight 'medium)
(set-face-attribute 'variable-pitch nil :family "Overpass Nerd Font" :height variable-size :weight 'normal)

Customization

Stimmung offers extensive control what and how to highlight font-lock faces, i.e. the colors used for syntax highlighting. It exposes a number of customizable variables (see table) that take a value of either 'background (highlight behind the text), 'foreground (highlight of the text) or 'none (no highlight). In addition to these, one can control the color of the background and foreground highlight in both modes. See this thread for the fruitful discussion that introduced these.

variablevalues
stimmung-themes-dark-highlight-colorany Emacs color
stimmung-themes-dark-highlight-color-foregroundany Emacs color
stimmung-themes-light-highlight-colorany Emacs color
stimmung-themes-light-highlight-color-foregroundany Emacs color
stimmung-themes-builtin‘background (default), ‘foreground or ‘none
stimmung-themes-comment‘background (default), ‘foreground or ‘none
stimmung-themes-constant‘background (default), ‘foreground or ‘none
stimmung-themes-string‘background (default), ‘foreground or ‘none
stimmung-themes-markup‘background (default), ‘foreground or ‘none
stimmung-themes-type‘background (default), ‘foreground or ‘none
stimmung-themes-function-name‘background, ‘foreground or ‘none (default)
stimmung-themes-keyword‘background, ‘foreground or ‘none (default)
stimmung-themes-variable-name‘background, ‘foreground or ‘none (default)
stimmung-themes-preprocessor‘background, ‘foreground or ‘none (default)
stimmung-themes-regex‘background, ‘foreground or ‘none (default)

There is a convenience function to toggle between the dark and light theme, stimmung-themes-toggle, along with variants to interactively load the dark and light versions stimmung-themes-load-{light|dark}.

stimmung-themes's People

Contributors

motform avatar slotthe avatar walheimat avatar kartikynwa avatar tjammer avatar aartaka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.