All Projects → myTerminal → theme-looper

myTerminal / theme-looper

Licence: GPL-3.0 license
A convenience package to switch themes in Emacs

Programming Languages

emacs lisp
2029 projects

Projects that are alternatives of or similar to theme-looper

EDOPRO-Skinpack
EDOPRO Skinpack - updated by Lahrenheit
Stars: ✭ 22 (+15.79%)
Mutual labels:  themes
ImmersiveColors
Easy way to access Windows 10 Immersive colors
Stars: ✭ 64 (+236.84%)
Mutual labels:  themes
blender pro-theme
Dark Appearance for Blender 2.8
Stars: ✭ 71 (+273.68%)
Mutual labels:  themes
gatsby-starter-kit
A set of starters for Gatsby.js
Stars: ✭ 99 (+421.05%)
Mutual labels:  themes
ToDoList
A dynamic and aesthetic To-Do List Website built with HTML, CSS, Vanilla JavaScript.
Stars: ✭ 87 (+357.89%)
Mutual labels:  themes
rolleshark
A very clear and functional Subsonic / Airsonic / Madsonic theme based on Sonic and inspired by Grooveshark UI.
Stars: ✭ 29 (+52.63%)
Mutual labels:  themes
summernote-themes
Addon Themes for Summernote Lite WYSIWYG Editor
Stars: ✭ 42 (+121.05%)
Mutual labels:  themes
Awesome-Black-Friday-Cyber-Monday-deals
2021 - Black Friday & Cyber Monday, Christmas & Holidays Deals for Developers, Techies, & Entrepreneurs,
Stars: ✭ 151 (+694.74%)
Mutual labels:  themes
keypirinha-theme-builder
A tool to create themes for Keypirinha launcher
Stars: ✭ 25 (+31.58%)
Mutual labels:  themes
highcharts-themes-collection
Highcharts themes collection
Stars: ✭ 30 (+57.89%)
Mutual labels:  themes
logseq-things-theme
Things Theme for Logseq
Stars: ✭ 21 (+10.53%)
Mutual labels:  themes
Unity-8
Theme mimicking Unity 8's design
Stars: ✭ 22 (+15.79%)
Mutual labels:  themes
MarkdownIt
Efficient Code Editor to live render Markdown and save as Markdown,Html and Pdf with Instant Hosting in The Web.
Stars: ✭ 31 (+63.16%)
Mutual labels:  themes
reveal.js
perennial location for Esri Reveal.js conference templates
Stars: ✭ 15 (-21.05%)
Mutual labels:  themes
rouge-theme
VSCode theme created for a dark, material feel with a flushed color palette
Stars: ✭ 36 (+89.47%)
Mutual labels:  themes
Khub
A repo for all my released BetterDiscord plugins and themes.
Stars: ✭ 34 (+78.95%)
Mutual labels:  themes
Taskly
Flutter app to manage tasks.
Stars: ✭ 126 (+563.16%)
Mutual labels:  themes
hexo-theme-freemind.bithack
Another hexo theme based on freemind.386
Stars: ✭ 45 (+136.84%)
Mutual labels:  themes
ThemeMaster
EmulationStation theme manager for small screen devices running ArkOS, TheRA, RetroOZ or JELOS
Stars: ✭ 24 (+26.32%)
Mutual labels:  themes
ttkbootstrap
A supercharged theme extension for tkinter that enables on-demand modern flat style themes inspired by Bootstrap.
Stars: ✭ 512 (+2594.74%)
Mutual labels:  themes

theme-looper

MELPA-Stable MELPA Marmalade
License

A package for switching themes in Emacs interactively.

Note: Breaking changes in version 2

Demo

Background

(You may directly skip to Usage)

Emacs 24 and later comes with a set of pre-installed color-themes that can be enabled by a simple command like:

M-x load-theme RET wombat

The above command enables (rather activates) 'wombat' theme. However, when you get lazy as I did, you need something like theme-looper.el. So, if you have a list of your favorite color-themes and you want to cycle through them with simple keystrokes, you've come to the right place.

Installation

Manual

Save the file 'theme-looper.el' to disk and add the directory containing it to 'load-path' using a command in your '.emacs' file like:

(add-to-list 'load-path "~/.emacs.d/")

The above line assumes that you've placed the file into the Emacs directory '.emacs.d'.

Start the package with:

(require 'theme-looper)

MELPA-Stable / MELPA / Marmalade

If you have MELPA-Stable, MELPA or Marmalade added as a repository to your Emacs, you can just install theme-looper with

M-x package-install theme-looper RET

Usage

Set key-bindings to switch themes like a breeze

(global-set-key (kbd "C-}") 'theme-looper-enable-next-theme)
(global-set-key (kbd "C-{") 'theme-looper-enable-previous-theme)
(global-set-key (kbd "C-\\") 'theme-looper-enable-random-theme)
(global-set-key (kbd "C-|") 'theme-looper-select-theme)
(global-set-key (kbd "C-M-|") 'theme-looper-select-theme-from-all)

By the name, functions theme-looper-enable-next-theme and theme-looper-enable-previous-theme let you move through the list of your favorite color themes. When you have no clue for which theme you would like to be loaded or want to see a random theme every time you start Emacs, you can use theme-looper-enable-random-theme.

theme-looper-select-theme provides a list of themes to select from through a completion interface using either ivy or otherwise ido. It also tries to provide live feedback according to themes being highlighted, even before one is selected from the list. If you feel like exploring themes outside of the collection of your favorite themes, you can use theme-looper-select-theme-from-all and select one from all available themes.

Optional: Set a list of your favorite color themes:

By specifying a particular set of themes

(theme-looper-set-favorite-themes '(wombat tango-dark wheatgrass))

or using a regular expression

(theme-looper-set-favorite-themes-regexp "dark")

The special symbol `default' represents Emacs defaults (no theme)

(theme-looper-set-favorite-themes '(cobalt wheatgrass *default*))

Optional: Set a list of ignored themes:

By specifying a particular set of themes

(theme-looper-set-ignored-themes '(cobalt))

or using a regular expression

(theme-looper-set-ignored-themes-regexp "green")

Optional: Set both

In this case, only the favorite themes that are not among the ones to be ignored are used.

More

If you want to reset your color-theme preferences, simply use

(theme-looper-reset-themes-selection)

In order to reload the currently activated color-theme, you can use

(theme-looper-reload-current-theme)

You can set hook functions to be run after every theme switch

(add-hook 'theme-looper-post-switch-hook 'my-func)

Acknowledgments

Thanks to the following people for their valuable feedback, suggestions and help for enhancements and fixes (in chronological order of their contributions):

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].