DEV Community

VaiTon
VaiTon

Posted on • Edited on

6 2

How to enable auto dark mode (night theme) in KDE Plasma

Disclaimer!

The method described in this post only works if your cron handles delayed jobs (for when your PC is sleeping/powered off and the job should run).

I got different results from different OS so YMMV!

Intro

Auto dark mode is new feature that has been gaining a lot of popularity in these years.

That's because, with its introduction in Android 10 people have begun to appreciate its benefits, including:

  • Can reduce power usage by a significant amount (depending on the device’s screen technology).
  • Improves visibility for users with low vision and those who are sensitive to bright light.
  • Makes it easier for anyone to use a device in a low-light environment.

For GNOME, this shell extension exists: Night Theme Switcher.

For KDE Plasma though, unfortunately, the only automatic way I could find to accomplish this is by using this project on github which is not supported on every distro (although recently added to the OBS).

Despite this, for users that do not want to install something from a PPA / User repository / Source code, another solution exists, and it leverages the plasma plasma-apply-colorscheme command.

How To

First, open up a terminal and write

plasma-apply-colorscheme --list-schemes
Enter fullscreen mode Exit fullscreen mode

to see which color scheme you have installed on your system.

(You can always install more using your distro package manager or the Plasma Settings.)

After locating the two color themes that we want to use for the day theme and the night theme, let's open up the user crontab manager with

crontab -e
Enter fullscreen mode Exit fullscreen mode

and let's create two cronjob by using this website, one that will run when we want to switch to the day theme and the other one when we want to switch to the night theme.

The input command will be

plasma-apply-colorscheme <colorscheme>
Enter fullscreen mode Exit fullscreen mode

For me they will be openSUSE from 07:00 till 20:00 and BreezeDark for the rest of the day, so the two cronjobs will be:

0 20 * * * plasma-apply-colorscheme BreezeDark >/dev/null 2>&1
0  7 * * * plasma-apply-colorscheme openSUSE   >/dev/null 2>&1
Enter fullscreen mode Exit fullscreen mode

And that's all! Let's close the crontab (Esc -> :wq -> Enter) and enjoy the automatic switch!

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more