All Projects → guidoschmidt → Circadian.el

guidoschmidt / Circadian.el

Licence: mit
Theme-switching for Emacs based on daytime

Projects that are alternatives of or similar to Circadian.el

Emacs Config
Personal Emacs configuration files
Stars: ✭ 94 (-10.48%)
Mutual labels:  emacs, emacs-configuration
Emacs.dz
Awesome emacs config files
Stars: ✭ 886 (+743.81%)
Mutual labels:  emacs, emacs-configuration
Emacs From Scratch
An example of a fully custom Emacs configuration developed live on YouTube!
Stars: ✭ 412 (+292.38%)
Mutual labels:  emacs, emacs-configuration
.emacs.d
🎉 Personal GNU Emacs configuration
Stars: ✭ 313 (+198.1%)
Mutual labels:  emacs, emacs-configuration
Dmacs
Emacs Literate Configuration with borg
Stars: ✭ 74 (-29.52%)
Mutual labels:  emacs, emacs-configuration
Emacs Config
My configuration for Doom Emacs
Stars: ✭ 296 (+181.9%)
Mutual labels:  emacs, emacs-configuration
.emacs.d
bdd's Emacs configuration, split from bdd/.dotfiles/emacs directory.
Stars: ✭ 8 (-92.38%)
Mutual labels:  emacs, emacs-configuration
Dimmer.el
Interactively highlight which buffer is active by dimming the others.
Stars: ✭ 194 (+84.76%)
Mutual labels:  emacs, themes
.emacs.d
Personal Emacs Configuration
Stars: ✭ 69 (-34.29%)
Mutual labels:  emacs, emacs-configuration
Emacs Themes Site
Source code for https://emacsthemes.com
Stars: ✭ 58 (-44.76%)
Mutual labels:  emacs, themes
Themecreator
https://mswift42.github.io/themecreator/ create themes for intellij, textmate, atom, emacs, vim and gnome terminal.
Stars: ✭ 303 (+188.57%)
Mutual labels:  emacs, themes
.emacs.d
Centaur Emacs - A Fancy and Fast Emacs Configuration
Stars: ✭ 1,251 (+1091.43%)
Mutual labels:  emacs, emacs-configuration
.emacs.d
My emacs configuration
Stars: ✭ 224 (+113.33%)
Mutual labels:  emacs, emacs-configuration
.emacs.d
M-EMACS, a full-featured GNU Emacs configuration "distribution"
Stars: ✭ 387 (+268.57%)
Mutual labels:  emacs, emacs-configuration
Uncledavesemacs
My personal ~/.emacs.d
Stars: ✭ 204 (+94.29%)
Mutual labels:  emacs, emacs-configuration
Frontmacs
Package-based, web-centric, customizable, awesome-by-default, acceptance-tested Emacs distribution
Stars: ✭ 445 (+323.81%)
Mutual labels:  emacs, emacs-configuration
Writingwithemacs
Tips, Examples, and Resources for Writing with Emacs
Stars: ✭ 150 (+42.86%)
Mutual labels:  emacs, emacs-configuration
Lunarymacs
Moon-based Emacs configuration.
Stars: ✭ 151 (+43.81%)
Mutual labels:  emacs, emacs-configuration
Elegant Emacs
A very minimal but elegant emacs (I think)
Stars: ✭ 961 (+815.24%)
Mutual labels:  emacs, emacs-configuration
.emacs.d
My emacs configuration
Stars: ✭ 76 (-27.62%)
Mutual labels:  emacs, emacs-configuration

MELPA
https://travis-ci.org/guidoschmidt/circadian.el


Logo

circadian

Theme-switching for Emacs based on daytime

Conception

Circadian tries to help reducing eye strain that may arise from difference of your display brightness and the surrounding light.

Inspired by color temperature shifting tools and brightness adaption software like:


Example usage

Switching themes on time of day

Example usage featuring hemera-themes and nyx-theme (with use-package). Make sure to use :defer keyword. Omitting it may lead to broken colors (see issue 9):

;; Install additinal themes from melpa
;; make sure to use :defer keyword
(use-package hemera-theme :ensure :defer)
(use-package nyx-theme :ensure :defer)

(use-package circadian
  :ensure t
  :config
  (setq circadian-themes '(("8:00" . hemera)
                           ("19:30" . nyx)))
  (circadian-setup))
Switching themes on sunrise & sunset

Be sure to set your latitude and longitude (Get them e.g. at latlong.net):

;; Install additinal themes from melpa
;; make sure to use :defer keyword
(use-package apropospriate-theme :ensure :defer)
(use-package nord-theme :ensure :defer)

(use-package circadian
  :ensure t
  :config
  (setq calendar-latitude 49.0)
  (setq calendar-longitude 8.5)
  (setq circadian-themes '((:sunrise . apropospriate-light)
                           (:sunset  . nord)))
  (circadian-setup))

Hooks

circadian provides two hooks:

  • circadian-before-load-theme-hook
  • circadian-after-load-theme-hook

e.g. I like to override any themes cursor color to a very bright color via:

(add-hook 'circadian-after-load-theme-hook
          #'(lambda (theme)
              ;; Line numbers appearance
              (setq linum-format 'linum-format-func)
              ;; Cursor
              (set-default 'cursor-type 'box)
              (set-cursor-color "#F52503")))

Todos & Ideas


Development

Install Emacs cask environment. On macOS you canr use homebrew with: brew install cask.

  1. Clone the circadian.el repository: git clone [email protected]:guidoschmidt/circadian.el.git
  2. cd into the git project directory with cd circadian.el and install dependencies via cask
  3. Run test with ert-runner: cask exec ert-runner
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].