How To Enable Dark Mode In Calibre
- Adam Douglas
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.
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
1 based upon the
terminal environment used per user.
- Arch Linux
- 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)
- GNU bash v5.1.16
Add the “export CALIBRE_USE_DARK_PALETTE=1” without double quotes to a new line within
$ nano ~/.bashrc
- 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).
Universal variables are stored in the file "~/.config/fish/fish_variables" as of Fish v3.0. Prior versions in "~/.config/fish/fishd.MACHINE_ID".
Do not edit "~/.config/fish/fish_variables" directly. Only Use fish scripts or by using fish interactively instead to avoid edits being overwritten.
I’ve found that depending on circumstances, setting the environment variable
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
$ nano ~/.config/environment.d/01-calibre-dark-mode.conf
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?
macOS v10.14 Mojave and greater is required for system preference of dark mode.
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.
- Press the Windows Key + Pause/break key for “System settings”.
- On the left-hand side click on “Advanced system settings”.
- In the “System Properties” dialog click on the “Advanced” tab.
- Click on the button “Environment Variables…” under the “Advanced” tab.
- In the dialog “Environment Variables” click on the “New” button under “User variables”.
- Enter variable name as “CALIBRE_USE_DARK_PALETTE” (all capital letters) and variable value as “1” without double quotes.
- Click on the “OK” button in “Environment Variables”.
- Click on the “OK” button for “System Properties”.
- Close the “System Settings” window.
Windows 10 version 1607 (anniversary update) is required for system preference of dark colors/mode.
This is post 7 of 100, and is round 2 of the 100 Days To Offload challenge.
- Calibre Customizing, documentation
- Environment variables, ArchWiki
- environment.d, Arch Linux man pages
- fish-shell: Language Shell Variables, documentation
- fish-shell: Set Shell Variables, documentation
- How to enable dark mode on a computer or mobile device, Computer Hope
- How to set the path and environment variables in Windows, Computer Hope
- How to use Dark Mode on your Mac, Apple Support
- macOS version history: Version 10.14: Mojave, Wikipedia
- Windows 10 version history: Version 1607, Wikipedia
- add missing image alt text
- change topic
- remove tags darkmode, ebook, ereader
- change topic
- Change 100DaysToOffload message