Metadata-Version: 2.4
Name: lightdark
Version: 0.9.1
Summary: Cycle between your desktop themes (such as light and dark)
Author-email: Eduard Christian Dumitrescu <eduard.c.dumitrescu@gmail.com>
Maintainer-email: Eduard Christian Dumitrescu <eduard.c.dumitrescu@gmail.com>
License: Apache Software License 2.0
Project-URL: Homepage, https://hydra.ecd.space/eduard/darklight/timeline
Project-URL: Changelog, https://hydra.ecd.space/eduard/darklight/file?name=CHANGELOG.md&ci=trunk
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.md
Requires-Dist: attrs
Requires-Dist: atomicwrites
Requires-Dist: mergedeep
Requires-Dist: platformdirs
Dynamic: license-file

# lightdark

## Supported backends

- KDE (via `plasma-apply-colorscheme` and `plasma-apply-desktoptheme`)
- kitty terminal (via `kitty +kitten themes`)
- Emacs (via `emacsclient`)

## Quick start guide

Copy `config.json.example` to `~/.config/lightdark/config.json` then modify it to your liking. Then you can just run

```sh
lightdark
```

and it will cycle through the themes for you. Try `lightdark --help` to see more options. Here's what the configuration JSON looks like:

```json
{
  "cycle": ["light", "dark"],
  "themes": {
    "dark": {
      "kitty": {
        "theme_name": "Default"
      },
      "kde": {
        "plasma_color_scheme": "BreezeDark",
        "plasma_desktop_theme": "breeze-dark"
      },
      "emacsclient": {
        "theme_names": ["modus-vivendi"]
      }
    },
    "light": {
      "kitty": {
        "theme_name": "Adwaita light"
      },
      "kde": {
        "plasma_color_scheme": "BreezeLight",
        "plasma_desktop_theme": "breeze-light"
      },
      "emacsclient": {
        "theme_names": ["modus-operandi"]
      }
    }
  }
}
```

## Emacs setup

You will need to put something like this in your `~/.emacs.d/init.el`:

```elisp
(defun set-custom-enable-themes (themes)
  "Disable all current themes, then activate the themes provided in the argument."
  (dolist (theme custom-enabled-themes)
    (disable-theme theme))
  (dolist (theme themes)
    (load-theme theme nil t)
    (enable-theme theme)))
```
