Skip to main content

Overview

Netcatty includes 60+ built-in terminal themes and supports full theme customization. Create your own color schemes, adjust fonts, and apply themes globally or per-host.

Terminal Themes

Themes define the color palette and visual appearance of your terminal.

Theme Structure

TerminalTheme
object

Built-in Themes

Netcatty includes 60+ carefully curated themes across various styles.

Netcatty Dark

Default dark theme with blue accentsColors:
  • Background: #0d1117
  • Foreground: #c9d1d9
  • Accent: #58a6ff

Dracula

Popular purple-based dark themeColors:
  • Background: #282a36
  • Foreground: #f8f8f2
  • Accent: #ff79c6

Tokyo Night

Modern dark blue themeColors:
  • Background: #1a1b26
  • Foreground: #c0caf5
  • Accent: #7aa2f7

Monokai

Classic coding themeColors:
  • Background: #272822
  • Foreground: #f8f8f2
  • Accent: #f92672

Theme Categories

Browse themes by style:
  • Professional: Netcatty, Tokyo Night, Atom One, Material
  • Classic: Solarized, Monokai, Dracula, Gruvbox
  • Colorful: Aura, Rose Pine, Kanagawa, Cyberpunk
  • Retro: Hacker Green, Homebrew, Ocean, Pro
  • Seasonal: Halloween, Diwali, Movember
  • Nature: Grass, Ocean, Everforest

Creating Custom Themes

Design your own terminal color scheme.

UI Workflow

  1. Navigate to SettingsTerminalTheme
  2. Click Customize or Create New
  3. Theme editor opens with:
    • Live preview terminal on the right
    • Color pickers on the left
    • Base theme selector (start from existing theme)
  4. Adjust colors:
    • Background/Foreground
    • Cursor/Selection
    • 16 ANSI colors (normal + bright)
  5. Test in preview terminal
  6. Click Save
  7. Name your theme

Color Picker Features

  • Hex input: Type colors directly (#ff5733)
  • Visual picker: Click and drag to choose
  • Eyedropper: Sample colors from screen
  • Presets: Quick access to common colors

Theme JSON Structure

{
  "id": "my-custom-theme",
  "name": "My Custom Theme",
  "type": "dark",
  "isCustom": true,
  "colors": {
    "background": "#1e1e2e",
    "foreground": "#cdd6f4",
    "cursor": "#f5e0dc",
    "selection": "#313244",
    "black": "#45475a",
    "red": "#f38ba8",
    "green": "#a6e3a1",
    "yellow": "#f9e2af",
    "blue": "#89b4fa",
    "magenta": "#f5c2de",
    "cyan": "#94e2d5",
    "white": "#cdd6f4",
    "brightBlack": "#585b70",
    "brightRed": "#f38ba8",
    "brightGreen": "#a6e3a1",
    "brightYellow": "#f9e2af",
    "brightBlue": "#89b4fa",
    "brightMagenta": "#f5c2de",
    "brightCyan": "#94e2d5",
    "brightWhite": "#cdd6f4"
  }
}

Importing Themes

Import themes from other terminal emulators. Supported Formats:
  • iTerm2 color schemes (.itermcolors)
  • Windows Terminal themes (settings.json excerpt)
  • Xterm color files (.Xresources)
Import Steps:
  1. In theme customizer, click Import
  2. Select file or paste JSON
  3. Netcatty converts to internal format
  4. Preview and adjust
  5. Save

Applying Themes

Global Theme

Set the default theme for all new terminals. UI Location:
  1. Navigate to SettingsTerminalTheme
  2. Select from dropdown
  3. All new terminals use this theme
  4. Existing terminals update immediately

Per-Host Theme

Override the global theme for specific hosts.
theme
string
Theme ID to use for this host
Configuration:
{
  "hostname": "production-server.com",
  "username": "admin",
  "theme": "dracula"
}
UI Workflow:
  1. Open Host Details panel
  2. Navigate to Appearance section
  3. Select Theme from dropdown
  4. Click Save
Use Cases:
  • Production servers: Use red-themed theme as a visual warning
  • Development: Use green/blue themes
  • Personal preference: Different themes for different projects

Per-Protocol Theme

Different themes for different protocols on the same host.
protocols[].theme
string
Theme override for specific protocol
Example:
{
  "hostname": "server.example.com",
  "protocols": [
    {
      "protocol": "ssh",
      "port": 22,
      "enabled": true,
      "theme": "tokyo-night"
    },
    {
      "protocol": "telnet",
      "port": 23,
      "enabled": true,
      "theme": "hacker-green"
    }
  ]
}

Font Customization

Configure terminal fonts globally or per-host.

Global Font Settings

UI Location: SettingsTerminalFont
fontFamily
string
Font family name (e.g., Fira Code, JetBrains Mono)
fontSize
number
Font size in points (default: 13)
fontWeight
number
Normal text weight (100-900, default: 400)
fontWeightBold
number
Bold text weight (100-900, default: 700)
fontLigatures
boolean
default:"true"
Enable font ligatures (for coding fonts)
linePadding
number
default:"0"
Additional space between lines in pixels
  • Fira Code - Popular with extensive ligatures
  • JetBrains Mono - Designed for developers
  • Cascadia Code - Microsoft’s coding font
  • Victor Mono - Cursive italics
  • Iosevka - Narrow, customizable

Per-Host Fonts

fontFamily
string
Font family override for this host
fontSize
number
Font size override for this host
Example:
{
  "hostname": "code-server.com",
  "fontFamily": "Fira Code",
  "fontSize": 14
}
Host-specific font settings override global settings.

Managing Custom Themes

Viewing Themes

UI Location: SettingsTerminalThemesCustom Custom themes are marked with a badge and shown separately from built-in themes.

Editing Themes

  1. Navigate to custom themes list
  2. Click on a theme
  3. Theme editor opens with current colors
  4. Make changes
  5. Click Update

Duplicating Themes

Create variations of existing themes:
  1. Open any theme (built-in or custom)
  2. Click Duplicate
  3. Modify colors
  4. Save with new name

Deleting Themes

  1. Navigate to custom themes
  2. Click on theme to delete
  3. Click Delete
  4. Confirm deletion
Deleting a theme that’s in use will revert affected terminals to the global theme.

Exporting Themes

Share your custom themes:
  1. Open theme in editor
  2. Click Export
  3. Choose format:
    • JSON: Netcatty format
    • iTerm2: .itermcolors file
    • Windows Terminal: JSON snippet
  4. Save file

Importing Themes

  1. Navigate to SettingsTerminalThemes
  2. Click Import
  3. Select file or paste content
  4. Netcatty validates and converts
  5. Preview and save

Theme Storage

Custom themes are stored locally using Electron’s storage system. Location:
  • Mac: ~/Library/Application Support/Netcatty/themes.json
  • Windows: %APPDATA%\Netcatty\themes.json
  • Linux: ~/.config/Netcatty/themes.json
Themes sync across Netcatty windows via IPC.

Theme Best Practices

  • Contrast: Ensure text is readable (WCAG AA: 4.5:1 ratio)
  • Consistency: Keep similar colors across normal/bright variants
  • Purpose: Use red for errors, green for success, yellow for warnings
  • Dark themes: Background < 20% brightness, foreground > 80%
  • Light themes: Background > 90% brightness, foreground < 30%
  • Test both: Verify readability in bright and dark environments
  • Standard order: Black, Red, Green, Yellow, Blue, Magenta, Cyan, White
  • Bright variants: Should be noticeably brighter/saturated
  • Semantic meaning: Respect common terminal color conventions
  • Real content: Test with actual terminal output (ls, git, logs)
  • Syntax highlighting: Try vim/nano color schemes
  • Eye strain: Use theme for 30 minutes before finalizing

Troubleshooting

Possible Causes:
  • Font not installed on system
  • Font name misspelled
Solution:
  1. Verify font is installed: Check Font Book (Mac) / Fonts (Windows)
  2. Use exact font name (case-sensitive)
  3. Restart Netcatty after installing fonts
Solution:
  • Ensure font supports ligatures (Fira Code, JetBrains Mono, etc.)
  • Enable Font Ligatures in Settings → Terminal
  • Verify font is loaded correctly
Solution:
  • Check if host has theme override
  • Verify theme ID matches stored theme
  • Refresh terminal session
Possible Causes:
  • OS color management
  • Display calibration
  • Terminal transparency/blur
Solution:
  • Test on multiple displays
  • Adjust theme colors if needed
  • Check OS display settings

Theme Inspiration

Resources

Design Tools

  • Coolors: Color palette generator
  • Adobe Color: Harmony rules and trends
  • Paletton: Color scheme designer

Host Configuration

Apply themes per host

Terminal Settings

Configure fonts and appearance

Keyword Highlighting

Add color to terminal output