Terminal Customization
Personalize your terminal experience with custom themes, fonts, colors, and behavior settings to match your workflow and preferences.
Accessing Settings
Quick Access
Method 1: Keyboard Shortcut
- Press
Ctrl/Cmd + ,(comma) - Settings window opens
Method 2: Menu Bar
- Click "Xermius" → "Settings" (macOS)
- Or "File" → "Settings" (Windows/Linux)
Method 3: From Terminal
- Right-click in terminal
- Select "Terminal Settings"
Appearance Settings
Theme Selection
Choose between light, dark, or system theme:
┌─────────────────────────────────────────┐
│ Appearance │
├─────────────────────────────────────────┤
│ Application Theme: │
│ [●] System [ ] Light [ ] Dark │
│ │
│ Follows system dark/light mode │
└─────────────────────────────────────────┘
Options:
- System - Follows OS theme (recommended)
- Light - Always light theme
- Dark - Always dark theme
Keyboard: Ctrl/Cmd + Shift + D to toggle dark mode
Terminal Color Schemes
Choose from built-in color schemes or create custom:
┌─────────────────────────────────────────────────┐
│ Terminal Color Scheme │
├─────────────────────────────────────────────────┤
│ Built-in Themes: │
│ │
│ [●] Monokai │
│ ■ Background: #272822 │
│ ■ Foreground: #F8F8F2 │
│ ■ Black: #272822 ■ Red: #F92672 │
│ ■ Green: #A6E22E ■ Yellow: #F4BF75 │
│ ■ Blue: #66D9EF ■ Magenta: #AE81FF │
│ ■ Cyan: #A1EFE4 ■ White: #F8F8F2 │
│ │
│ Other themes: │
│ [ ] Dracula │
│ [ ] Solarized Dark │
│ [ ] Solarized Light │
│ [ ] One Dark │
│ [ ] One Light │
│ [ ] Nord │
│ [ ] Gruvbox Dark │
│ [ ] Gruvbox Light │
│ [ ] Material │
│ [ ] Atom Dark │
│ [ ] Night Owl │
│ [ ] Cobalt │
│ │
│ [Create Custom Theme...] │
└─────────────────────────────────────────────────┘
Popular Color Schemes
Monokai (Default)
- Dark background
- High contrast
- Vibrant colors
- Great for long sessions
Dracula
- Dark purple tones
- Easy on the eyes
- Modern, stylish
- Popular among developers
Solarized Dark/Light
- Scientifically designed
- Reduces eye strain
- Works in any lighting
- Available in dark and light
Nord
- Arctic, bluish palette
- Cold color tones
- Minimal, clean
- Great for focus
Gruvbox
- Retro groove colors
- Warm tones
- Comfortable contrast
- Available in dark and light
Creating Custom Theme
- Click "Create Custom Theme..."
- Customize colors:
┌──────────────────────────────────────────────┐
│ Create Custom Theme [X] │
├──────────────────────────────────────────────┤
│ Theme Name: │
│ [My Custom Theme ] │
│ │
│ Basic Colors: │
│ Background: [#1e1e1e] [🎨] │
│ Foreground: [#d4d4d4] [🎨] │
│ Cursor: [#aeafad] [🎨] │
│ Selection: [#264f78] [🎨] │
│ │
│ ANSI Colors: │
│ Black: [#000000] [🎨] │
│ Red: [#cd3131] [🎨] │
│ Green: [#0dbc79] [🎨] │
│ Yellow: [#e5e510] [🎨] │
│ Blue: [#2472c8] [🎨] │
│ Magenta: [#bc3fbc] [🎨] │
│ Cyan: [#11a8cd] [🎨] │
│ White: [#e5e5e5] [🎨] │
│ │
│ Bright Colors: │
│ Bright Black: [#666666] [🎨] │
│ Bright Red: [#f14c4c] [🎨] │
│ (... same for other colors) │
│ │
│ [Preview] [Import] [Save] [Cancel] │
└──────────────────────────────────────────────┘
- Click color boxes to pick colors
- Use "Preview" to test
- Click "Save" to keep
Import Theme
Import themes from other terminal emulators:
Supported Formats:
.itermcolors(iTerm2).terminal(macOS Terminal).json(Windows Terminal).Xresources(Linux terminals)
To Import:
- Click "Import" in custom theme dialog
- Select theme file
- Colors are imported automatically
- Adjust if needed
- Save with new name
Font Settings
Font Family
Choose your preferred monospace font:
┌─────────────────────────────────────────┐
│ Font Family │
├─────────────────────────────────────────┤
│ [Fira Code ▼] │
│ │
│ Popular Fonts: │
│ • Fira Code (ligatures) │
│ • JetBrains Mono (ligatures) │
│ • Cascadia Code (ligatures) │
│ • Source Code Pro │
│ • Menlo (macOS default) │
│ • Consolas (Windows default) │
│ • Ubuntu Mono │
│ • DejaVu Sans Mono │
│ • Monaco │
│ │
│ [Download More Fonts...] │
└─────────────────────────────────────────┘
Recommended Programming Fonts
With Ligatures:
- Fira Code - Beautiful ligatures, open source
- JetBrains Mono - Designed for devs, clear
- Cascadia Code - Microsoft's modern font
- Hasklig - Based on Source Code Pro
Without Ligatures:
- Source Code Pro - Clean, readable
- Inconsolata - Compact, efficient
- Monaco - Classic macOS font
- Menlo - macOS default, reliable
Where to Get:
- Google Fonts
- Nerd Fonts - With icons
- Programming Fonts - Compare side-by-side
Font Size
┌─────────────────────────────────────────┐
│ Font Size │
├─────────────────────────────────────────┤
│ [━━━━━●━━━━━━━━━━━] 14 px │
│ Range: 8-32 px │
│ │
│ Quick Sizes: │
│ [10] [12] [14] [16] [18] [20] │
│ │
│ Keyboard Shortcuts: │
│ Ctrl/Cmd + Plus = Increase │
│ Ctrl/Cmd + Minus = Decrease │
│ Ctrl/Cmd + 0 = Reset to Default │
└─────────────────────────────────────────┘
Recommendations:
- Small screens (< 15"): 12-14px
- Standard screens (15-17"): 14-16px
- Large screens (> 17"): 16-18px
- Presentations: 20-24px
Line Height
Adjust spacing between lines:
┌─────────────────────────────────────────┐
│ Line Height │
├─────────────────────────────────────────┤
│ [━━━━━━━●━━━━━━━━━] 1.2 │
│ Range: 1.0-2.0 │
│ │
│ Presets: │
│ [Compact 1.0] [Normal 1.2] [Relaxed 1.5]│
│ │
│ Preview: │
│ ┌─────────────────────┐ │
│ │ Line 1 │ ← Line height │
│ │ Line 2 │ affects │
│ │ Line 3 │ spacing │
│ └─────────────────────┘ │
└─────────────────────────────────────────┘
Use Cases:
- 1.0 (Compact) - More content visible
- 1.2 (Normal) - Balanced (recommended)
- 1.5 (Relaxed) - Easier to read, less dense
Font Weight
┌─────────────────────────────────────────┐
│ Font Weight │
├─────────────────────────────────────────┤
│ [●] Normal [ ] Bold [ ] Light │
│ │
│ Custom Weight (if supported): │
│ [━━━━━━━●━━━━━━━━━] 400 │
│ Range: 100-900 │
│ │
│ Note: Not all fonts support all weights│
└─────────────────────────────────────────┘
Font Ligatures
Enable programming ligatures (if font supports):
┌─────────────────────────────────────────┐
│ Font Ligatures │
├─────────────────────────────────────────┤
│ [✓] Enable font ligatures │
│ │
│ Examples with ligatures: │
│ != → ≠ >= → ≥ <= → ≤ │
│ === → ≡ !== → ≢ -> → → │
│ => → ⇒ ++ → ⧺ :: → ∷ │
│ │
│ Without ligatures: │
│ != >= <= === !== -> => ++ :: │
│ │
│ Fonts with ligatures: │
│ • Fira Code │
│ • JetBrains Mono │
│ • Cascadia Code │
│ • Hasklig │
└─────────────────────────────────────────┘
Ligatures?
- Combines character sequences into single glyphs
- Makes code more readable
- Popular in modern editors
- Optional - personal preference
Cursor Settings
Cursor Style
┌─────────────────────────────────────────┐
│ Cursor Style │
├─────────────────────────────────────────┤
│ [●] Block [ ] Underline [ ] Bar │
│ │
│ Preview: │
│ Block: █ursor │
│ Underline: C_ursor │
│ Bar: C|ursor │
└─────────────────────────────────────────┘
Styles:
- Block - Classic, high visibility
- Underline - Subtle, clean
- Bar - Like text editors (VS Code style)
Cursor Blinking
┌─────────────────────────────────────────┐
│ Cursor Blinking │
├─────────────────────────────────────────┤
│ [✓] Enable cursor blinking │
│ │
│ Blink Speed: │
│ [━━━━━●━━━━━━━━━━━] Medium │
│ Slow ←──────────────────→ Fast │
│ │
│ Blink Style: │
│ [●] Smooth [ ] Solid │
└─────────────────────────────────────────┘
Preferences:
- Enable for easier cursor location
- Disable if distracting
- Adjust speed to comfort
Scrollback Settings
Buffer Size
How many lines to keep in history:
┌─────────────────────────────────────────┐
│ Scrollback Buffer │
├─────────────────────────────────────────┤
│ Lines to keep in history: │
│ [━━━━━━━●━━━━━━━━━] 1000 │
│ Range: 100-10,000 │
│ │
│ Quick Presets: │
│ [500] [1000] [5000] [10000] │
│ │
│ Memory Usage: ~2 MB per 1000 lines │
│ Current: ~2 MB │
│ │
│ [✓] Scroll to bottom on input │
│ [✓] Scroll to bottom on output │
└─────────────────────────────────────────┘
Recommendations:
- Light use: 500-1000 lines
- Normal use: 1000-3000 lines
- Heavy logging: 5000-10000 lines
Trade-offs:
- More lines = More memory
- More lines = Slower scrolling
- More lines = Better history
Scroll Speed
┌─────────────────────────────────────────┐
│ Scroll Speed │
├─────────────────────────────────────────┤
│ Mouse wheel sensitivity: │
│ [━━━━━━━●━━━━━━━━━] Normal │
│ Slow ←──────────────────→ Fast │
│ │
│ Lines per scroll: │
│ [━━━━━━━●━━━━━━━━━] 3 lines │
│ Range: 1-10 lines │
└─────────────────────────────────────────┘
Bell Settings
Visual/Audio Bell
┌─────────────────────────────────────────┐
│ Bell Notification │
├─────────────────────────────────────────┤
│ When terminal bell (Ctrl+G) is sent: │
│ │
│ [●] Visual bell (flash screen) │
│ [ ] Audio bell (system sound) │
│ [ ] Both │
│ [ ] None (ignore) │
│ │
│ Visual Bell Style: │
│ Color: [#ffffff] [🎨] White flash │
│ Duration: [━━━●━━━] 100ms │
└─────────────────────────────────────────┘
Use Cases:
- Visual - Open office, no sound wanted
- Audio - Want to notice from distance
- None - Disable annoying bells
- Both - Maximum noticeability
Copy & Paste Settings
Copy on Select
┌─────────────────────────────────────────┐
│ Copy & Paste Behavior │
├─────────────────────────────────────────┤
│ [✓] Copy automatically on select │
│ (Linux terminal style) │
│ │
│ [ ] Trim trailing whitespace │
│ [✓] Include final newline │
│ │
│ Right-click behavior: │
│ [●] Context menu │
│ [ ] Paste (Linux terminal style) │
│ │
│ Middle-click behavior: │
│ [●] Paste selection │
│ [ ] Nothing │
└─────────────────────────────────────────┘
Word Separators
Define what characters break words for double-click selection:
┌─────────────────────────────────────────┐
│ Word Separators │
├─────────────────────────────────────────┤
│ Characters that break words: │
│ [ ()<>[]{}'"`:;,│ │
│ │
│ Example: │
│ Double-click on: /var/www/html │
│ └────┘ Selected │
│ │
│ With "/" as separator: │
│ /var/www/html → "www" │
│ │
│ Without "/" as separator: │
│ /var/www/html → "/var/www/html" │
│ │
│ [Reset to Default] │
└─────────────────────────────────────────┘
Terminal Behavior
Shell Configuration
┌─────────────────────────────────────────┐
│ Shell Configuration │
├─────────────────────────────────────────┤
│ Default Shell: │
│ [/bin/bash ▼] │
│ │
│ Common Shells: │
│ • /bin/bash (Bourne Again Shell) │
│ • /bin/zsh (Z Shell) │
│ • /bin/fish (Friendly Interactive Shell)│
│ • /bin/sh (POSIX Shell) │
│ │
│ Shell Arguments: │
│ [-l ] │
│ │
│ [✓] Run command as login shell │
│ [✓] Start in home directory │
└─────────────────────────────────────────┘
Text Selection
┌─────────────────────────────────────────┐
│ Text Selection │
├─────────────────────────────────────────┤
│ [✓] Allow click-to-select │
│ [✓] Allow drag-to-select │
│ [✓] Triple-click selects line │
│ │
│ Selection Mode: │
│ [●] Normal (characters) │
│ [ ] Block (rectangle) │
│ [ ] Line (entire lines) │
│ │
│ [✓] Extend selection with Shift+Click │
└─────────────────────────────────────────┘
Focus Settings
┌─────────────────────────────────────────┐
│ Focus Behavior │
├─────────────────────────────────────────┤
│ [✓] Focus terminal on mouse enter │
│ [ ] Focus terminal on click only │
│ │
│ [✓] Show focus indicator (border) │
│ Focus color: [#007acc] [🎨] │
└─────────────────────────────────────────┘
Advanced Settings
Rendering
┌─────────────────────────────────────────┐
│ Rendering Options │
├─────────────────────────────────────────┤
│ Renderer: │
│ [●] WebGL (recommended) │
│ [ ] Canvas (fallback) │
│ [ ] DOM (slowest, most compatible) │
│ │
│ [✓] Enable GPU acceleration │
│ [✓] Smooth scrolling │
│ [✓] Allow transparency │
│ │
│ Background Opacity: │
│ [━━━━━━━━━━━━━━━━━●] 100% │
│ Transparent ←──────────→ Opaque │
└─────────────────────────────────────────┘
Renderer Notes:
- WebGL - Fastest, best performance
- Canvas - Use if WebGL has issues
- DOM - Last resort, very slow
Unicode & Emoji
┌─────────────────────────────────────────┐
│ Unicode Support │
├─────────────────────────────────────────┤
│ [✓] Enable Unicode 11 support │
│ [✓] Render emoji │
│ │
│ Emoji Rendering: │
│ [●] Native (system emojis) │
│ [ ] Monochrome (text style) │
│ │
│ Test: 😀 🎉 ✓ ✗ → ← ↑ ↓ ★ ♥ │
└─────────────────────────────────────────┘
Experimental Features
┌─────────────────────────────────────────┐
│ Experimental Features │
├─────────────────────────────────────────┤
│ ⚠️ These may be unstable │
│ │
│ [ ] WebGL2 renderer (faster) │
│ [ ] True color support (24-bit) │
│ [ ] Sixel graphics support │
│ [ ] Custom shaders │
│ │
│ [Reset to Defaults] │
└─────────────────────────────────────────┘
Preset Configurations
Quick Presets
Load optimized settings for different use cases:
┌─────────────────────────────────────────────────┐
│ Configuration Presets │
├─────────────────────────────────────────────────┤
│ ⚡ Performance │
│ • Canvas renderer │
│ • Reduced scrollback (500 lines) │
│ • Minimal visual effects │
│ Best for: Older computers │
│ │
│ 🎨 Beautiful │
│ • WebGL renderer │
│ • Transparency enabled │
│ • Smooth scrolling │
│ • Font ligatures │
│ Best for: Modern computers, aesthetics │
│ │
│ 👀 Accessibility │
│ • High contrast theme │
│ • Large font (18px) │
│ • No cursor blinking │
│ • Clear focus indicators │
│ Best for: Visual accessibility │
│ │
│ 🖥️ Classic │
│ • Green on black (retro) │
│ • Monaco/Courier font │
│ • Block cursor │
│ • Classic bell │
│ Best for: Nostalgia │
│ │
│ [Load Preset] [Customize] [Reset to Default] │
└─────────────────────────────────────────────────┘
Profiles
Managing Profiles
Create multiple terminal profiles for different scenarios:
┌─────────────────────────────────────────┐
│ Terminal Profiles │
├─────────────────────────────────────────┤
│ [●] Default │
│ [ ] Development │
│ [ ] Production Servers │
│ [ ] Personal │
│ │
│ [+ New Profile] [Edit] [Delete] │
│ │
│ Profile "Development" settings: │
│ • Theme: Dracula │
│ • Font: Fira Code 14px │
│ • Shell: /bin/zsh │
│ • Scrollback: 5000 lines │
└─────────────────────────────────────────┘
Use Cases:
- Default - General use
- Development - Coding with ligatures
- Production - High contrast, clear fonts
- Personal - Custom aesthetics
Profile-Specific Settings
Each profile can have different:
- Color scheme
- Font settings
- Shell configuration
- Scrollback size
- Keyboard shortcuts
- Cursor style
Switching Profiles
Keyboard: Ctrl/Cmd + Shift + P → Select profile
Per-Tab: Right-click tab → Change profile
Per-Host: Assign profile to specific hosts
Export/Import Settings
Export Settings
Backup your customizations:
┌─────────────────────────────────────────┐
│ Export Settings │
├─────────────────────────────────────────┤
│ Export what? │
│ [✓] Terminal settings │
│ [✓] Color schemes │
│ [✓] Profiles │
│ [✓] Keyboard shortcuts │
│ │
│ Format: [JSON ▼] │
│ │
│ [Export to File...] │
└─────────────────────────────────────────┘
Import Settings
Restore or share settings:
┌─────────────────────────────────────────┐
│ Import Settings │
├─────────────────────────────────────────┤
│ [Select Settings File...] │
│ │
│ Preview: │
│ ┌───────────────────────────────────┐ │
│ │ Will import: │ │
│ │ • 3 color schemes │ │
│ │ • 2 profiles │ │
│ │ • Terminal settings │ │
│ │ • Custom shortcuts │ │
│ └───────────────────────────────────┘ │
│ │
│ [✓] Overwrite existing settings │
│ [✓] Create backup before import │
│ │
│ [Import] [Cancel] │
└─────────────────────────────────────────┘
Tips & Best Practices
1. Start with Defaults
Don't over-customize immediately:
- Use defaults for a week
- Identify what bothers you
- Change one thing at a time
- Evaluate each change
2. Choose Readable Fonts
Font selection matters:
- Must be monospace
- Clear character distinction (0 vs O, 1 vs l vs I)
- Comfortable at your screen size
- Consider ligatures if you like them
3. Contrast is Key
Good contrast reduces eye strain:
- Dark theme: Light text on dark bg
- Light theme: Dark text on light bg
- Test in your lighting conditions
- Adjust if eyes feel strained
4. Don't Go Crazy with Transparency
Transparency looks cool but:
- Can reduce readability
- May cause distractions
- Increases GPU usage
- 85-100% opacity recommended
5. Match Your Editor
Consistent themes reduce context switching:
- Use same theme in terminal and code editor
- Same font family
- Similar colors
- Creates cohesive workflow
6. Save Your Settings
Backup your customizations:
- Export settings regularly
- Store in cloud or Git
- Easy to restore after reinstall
- Share with team members
Common Customization Recipes
Recipe 1: Modern Developer Setup
Theme: One Dark
Font: JetBrains Mono 14px
Ligatures: Enabled
Cursor: Bar, blinking
Scrollback: 3000 lines
Renderer: WebGL
Transparency: 95%
Recipe 2: Classic Terminal Look
Theme: Green on Black
Font: Monaco 12px
Ligatures: Disabled
Cursor: Block, non-blinking
Scrollback: 1000 lines
Renderer: Canvas
Transparency: 100% (opaque)
Recipe 3: High Contrast Accessibility
Theme: High Contrast (custom)
Background: #000000
Foreground: #FFFFFF
Font: Source Code Pro Bold 18px
Ligatures: Disabled
Cursor: Block, slow blink
Focus: Thick colored border
Recipe 4: Minimalist Clean
Theme: Solarized Light
Font: Source Code Pro 14px
Ligatures: Disabled
Cursor: Underline, no blink
Scrollback: 1000 lines
UI: Minimal borders
Troubleshooting
Font Not Appearing
Issue: Selected font doesn't show
Solutions:
- Install font system-wide
- Restart Xermius
- Check font is monospace
- Try different font
Colors Look Wrong
Issue: Theme colors don't match preview
Solutions:
- Check terminal type:
echo $TERM - Should be
xterm-256color - Restart terminal
- Re-apply theme
Performance Issues
Issue: Terminal is slow/laggy
Solutions:
- Switch to Canvas renderer
- Reduce scrollback buffer
- Disable transparency
- Disable smooth scrolling
- Update graphics drivers
Ligatures Not Working
Issue: Font ligatures don't appear
Check:
- Font supports ligatures
- Ligatures enabled in settings
- Font installed correctly
- Terminal supports font features