`unspecified-theme' is a package providing an equally named theme which sets the attributes of all faces to `unspecified' -- except for the `default' face. In particular, it thus makes the default attributes of (almost) all defined faces ineffective. This is useful at least in following scenarios: - As an Emacs user, when you load this theme and customize only the `default' face, all faces will adhere to its specification. Used as such, `unspecified-theme' provides a radically minimalist theme. - As an Emacs theme developer, you use `unspecified-theme' to debug the composability of your theme: You can load `unspecified-theme' before loading your own theme in order to check if yours depends on default face attributes. You might even require users of your theme to load `unspecified-theme' before loading yours in order to erase the default face attributes. ;; Usage: `unspecified-theme' can be used just like any other theme. After installation, i.e. ensuring it is in a directory that is member of your `load-path', evaluate the following: (load-theme 'unspecified 'no-confirm) In addition, as mentioned before, you may want to customize the `default' face in your `user' theme. For example, if you want everything to be white on black, then also evaluate the following: (custom-set-faces '(default ((t :background "#000000" :foreground "#ffffff")) t)) ;; Screenshot: A screenshot is available in the `screenshot' branch and thus accessible on the web: https://codeberg.org/mekeor/unspecified-theme/raw/branch/screenshot/screenshot.png ;; Details: Beside setting face attributes to `unspecified', `unspecified-theme' also sets some face-related variables. Take a look at the code for the details. `unspecified-theme' does not theme the `default' face because that can lead to unexpected behavior in its author's experience. ;; Dependencies: `unspecified-theme' depends on the `most-faces' package: https://codeberg.org/mekeor/most-faces ;; Roadmap: Split this theme into two or three: (1.) A theme that unspecifies all faces-as-faces; (2.) A theme that unspecifies all faces-as-variables; (3.) A theme that unspecifies more complex variables referring to faces, like `highlight-parentheses-colors' and `ibuffer-fontification-alist'.