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​