Skip to main content

Dark Mode

Bitcoin Knots includes proper dark mode support for the Qt GUI — a feature that Bitcoin Core lacks native support for. The qt_darkmode patch ensures consistent dark theming across all windows and dialogs.

Why Dark Mode?

BenefitDescription
Reduced Eye StrainEasier on eyes in low-light environments
Battery SavingsUses less power on OLED displays
User PreferenceMany users prefer dark interfaces
ConsistencyMatches system-wide dark themes

Enabling Dark Mode

Bitcoin Knots respects your system's theme settings:

Linux (GNOME/KDE):

  • Set system theme to dark in Settings → Appearance
  • Bitcoin Qt will follow automatically

macOS:

  • System Preferences → General → Appearance → Dark
  • Bitcoin Qt will follow automatically

Windows 10/11:

  • Settings → Personalization → Colors → Dark
  • Bitcoin Qt will follow automatically

Method 2: Fusion Style

Force the Fusion style which supports dark palettes:

# Via environment variable (before launching)
export QT_STYLE_OVERRIDE=fusion
bitcoin-qt

# Or via command line
bitcoin-qt -style=fusion

Method 3: Qt Environment

Set Qt-specific environment variables:

# Force dark mode
export QT_QPA_PLATFORMTHEME=gtk3
export GTK_THEME=Adwaita:dark
bitcoin-qt

Platform-Specific Setup

Linux

For GTK-based desktops (GNOME, XFCE):

# Install Qt5 GTK platform theme
sudo apt install qt5-gtk-platformtheme # Debian/Ubuntu
sudo dnf install qt5-qtstyleplugins # Fedora

# Set environment
export QT_QPA_PLATFORMTHEME=gtk2

For KDE Plasma:

  • Dark mode works automatically via Qt integration
  • System Settings → Appearance → Global Theme

For i3/Sway/other:

# Add to .bashrc or .profile
export QT_STYLE_OVERRIDE=fusion
# Or use qt5ct for more control
export QT_QPA_PLATFORMTHEME=qt5ct

macOS

macOS dark mode is supported automatically on:

  • macOS Mojave (10.14) and later
  • Qt 5.12 or later (included in Knots builds)

The qt_darkmode patch specifically fixes issues with:

  • Runtime appearance switching (Light ↔ Dark)
  • Auto mode that follows sunrise/sunset

Windows

Windows dark mode works automatically on:

  • Windows 10 version 1809 and later
  • Windows 11

Set in Windows Settings:

  1. Settings → Personalization → Colors
  2. Choose "Dark" under "Choose your default app mode"

What the Patch Fixes

The qt_darkmode patch in Knots ensures proper handling of:

Color Consistency

ElementWithout PatchWith Patch
Main windowMay have white areasConsistent dark
Transaction listBackground issuesProper dark bg
ConsoleHard to readGood contrast
Peer listMixed colorsConsistent
DialogsOften brokenFully themed
TooltipsUnreadableProper contrast

Runtime Switching

On macOS, switching appearance while Bitcoin Qt is running previously broke the UI. The patch ensures:

  • Seamless light → dark transitions
  • Seamless dark → light transitions
  • "Auto" mode works correctly

Dark Mode in All Windows

Knots dark mode applies to:

  • Main Window — Transaction list, balance display
  • Send/Receive — Address inputs, amount fields
  • Console — RPC command interface
  • Peers Window — Peer list and details
  • Network Traffic — Graph visualization
  • Mempool Stats — Memory pool display
  • Settings Dialog — All configuration tabs
  • About Dialog — Version and license info
  • Sign/Verify — Message signing dialogs
  • Coin Control — UTXO selection

Screenshots

Light Mode

┌─────────────────────────────────────────┐
│ Bitcoin Knots [─][□][×] │
├─────────────────────────────────────────┤
│ Balances │ │
│ ──────── │ Transaction List │
│ Available: 1.234 │ ─────────────── │
│ Pending: 0.000 │ [white bg rows] │
│ Total: 1.234 │ │
│ │ │
│ [Send] [Receive] │ │
└─────────────────────────────────────────┘

Dark Mode

┌─────────────────────────────────────────┐
│ Bitcoin Knots [─][□][×] │
├─────────────────────────────────────────┤
│ Balances │ │
│ ──────── │ Transaction List │
│ Available: 1.234 │ ─────────────── │
│ Pending: 0.000 │ [dark bg rows] │
│ Total: 1.234 │ │
│ │ │
│ [Send] [Receive] │ │
└─────────────────────────────────────────┘
(dark background throughout)

Troubleshooting

Dark Mode Not Working

Check Qt version:

bitcoin-qt --version
# Needs Qt 5.12+ for full dark mode support

Force Fusion style:

QT_STYLE_OVERRIDE=fusion bitcoin-qt

Check environment:

echo $QT_QPA_PLATFORMTHEME
echo $QT_STYLE_OVERRIDE

Mixed Light/Dark Elements

This usually means incomplete theming. Solutions:

  1. Update to latest Knots — Older versions may have incomplete patches
  2. Use Fusion style — More consistent than native styles
  3. Check system theme — Ensure it's fully dark, not hybrid

Colors Too Dim/Bright

Adjust your system's dark theme settings:

  • Some themes have configurable accent colors
  • Try different dark themes (Adwaita Dark, Breeze Dark, etc.)

Console Hard to Read

The console should have proper dark background in Knots. If not:

# Force specific palette
QT_STYLE_OVERRIDE=fusion bitcoin-qt

Customization

Using qt5ct

For fine-grained control on Linux:

# Install qt5ct
sudo apt install qt5ct

# Set environment
export QT_QPA_PLATFORMTHEME=qt5ct

# Run configuration tool
qt5ct

In qt5ct you can:

  • Choose specific dark themes
  • Customize colors
  • Set fonts
  • Configure icon themes

Custom Style Sheets

Advanced users can create custom Qt style sheets, though this isn't officially supported.

Comparison with Core

FeatureBitcoin CoreBitcoin Knots
System dark themePartialFull
macOS dark modeBuggyFixed
Runtime switchingBrokenWorks
All dialogs themedNoYes
Console dark modeInconsistentConsistent

The dark mode functionality comes from several patches:

  • qt_darkmode — Main dark mode support
  • qt_fixes — General Qt improvements
  • Platform-specific patches for macOS/Windows

See Also