Calibre dark mode vs light mode with logo

How To Enable Dark Mode In Calibre

  • Adam Douglas
  • calibre

Calibre is an amazing cross-platform open-source software for e-book management. With ease one can organize content into virtual libraries, built-in e-book viewer/reader, download news/e-books /magazines from the web, share, backup your library, sync to e-readers, edit books and many more features to long to list here.

Since I’ve set a personal goal of reading at least one book a month or more, I’ve found myself using Calibre quite often. By default, at least on Linux the Calibre interface is in a light or shall I say gray theme/mode look. To me this is not enjoyable to my eyes, especially for long periods of time. Calibre has a dark theme/mode, but it is not always enabled depending on ones circumstances. Let me begin with some explanation and then how to enable the dark palette/ theme/mode in various operating systems.

The following applies to Calibre v5.36.

Linux

By default, on a Linux operating system Calibre uses its own built-in Qt style/theme or shall I say color palette. The reason for this is to avoid user issues due to incompatibilities between the version of Qt Calibre is built upon, and the Qt version installed on the operating system. So due to this even if the desktop environment is set to dark mode, Calibre will not change its appearance automatically. However, this can be overridden by a configuration change for Calibre.

Using the terminal set the environment variable CALIBRE_USE_DARK_PALETTE to 1 based upon the terminal environment used per user.

Environment

  • Arch Linux

Assumptions

  • Steps prefixed with a “$” (dollar sign) represents the CLI (command-line interface) prompt
  • The text after the “$” is to be entered at the CLI
  • The “~” (tilde) represents the value of “$HOME” as in the current user’s home directory (e.g. /home/adam)

BASH

  • GNU bash v5.1.16

Add the “export CALIBRE_USE_DARK_PALETTE=1” without double quotes to a new line within .bashrc.

$ nano ~/.bashrc
export CALIBRE_USE_DARK_PALETTE=1

Fish-Shell

  • Fish version v3.3.1
$ set -Ux CALIBRE_USE_DARK_PALETTE 1
-U    Set shell variable to be given a universal scope. Exists in all fish instances and preserved across restarts of the shell.
-x    Set shell variable to be exported to child processes (making it an environment variable).

Info

Universal variables are stored in the file "~/.config/fish/fish_variables" as of Fish v3.0. Prior versions in "~/.config/fish/fishd.MACHINE_ID".

Warning

Do not edit "~/.config/fish/fish_variables" directly. Only Use fish scripts or by using fish interactively instead to avoid edits being overwritten.

Systemd environment.d

I’ve found that depending on circumstances, setting the environment variable CALIBRE_USE_DARK_PALETTE to 1 using BASH or Fish-Shell methods above does not work when directly opening applications within the desktop environment. It works fine if the application is launched via the terminal in the desktop environment. Below is a solution I’ve used that works on systems using Systemd.

$ nano ~/.config/environment.d/01-calibre-dark-mode.conf
CALIBRE_USE_DARK_PALETTE=1

Apple macOS

Unfortunately I don’t have access to macOS to test and confirm the behaviour on this operating system. According to the Calibre documentation that I could find, macOS does not honor the Calibre configuration to force using dark theme/palette. Hopefully when setting the operating system preference to use dark mode Calibre will automatically change its appearance. Can anyone confirm this and let me know?

Note

macOS v10.14 Mojave and greater is required for system preference of dark mode.

Microsoft Windows

Calibre will automatically adjust to using the dark theme/palette when setting the operating system preferences to dark colors/theme. No further configuration is required. However, if for some reason you don’t want to use dark colors system preference this can be set specificity for Calibre only to use dark theme/palette per user.

  1. Press the Windows Key + Pause/break key for “System settings”.
  2. On the left-hand side click on “Advanced system settings”.
  3. In the “System Properties” dialog click on the “Advanced” tab.
  4. Click on the button “Environment Variables…” under the “Advanced” tab.
  5. In the dialog “Environment Variables” click on the “New” button under “User variables”.
  6. Enter variable name as “CALIBRE_USE_DARK_PALETTE” (all capital letters) and variable value as “1” without double quotes.
  7. Click on the “OK” button in “Environment Variables”.
  8. Click on the “OK” button for “System Properties”.
  9. Close the “System Settings” window.

Note

Windows 10 version 1607 (anniversary update) is required for system preference of dark colors/mode.

I’m publishing this as part of 100 Days To Offload. You can join in yourself by visiting 100DaysToOffload.com.