Terminal Color Support
Fresh automatically detects your terminal’s color capability and converts theme colors accordingly. Most modern terminals support 24-bit “truecolor”, but some terminals and multiplexers have limited support.Color Modes
Truecolor (24-bit)
Truecolor (24-bit)
Full RGB color support with 16 million colors. Used by modern terminals like:
- Kitty
- Alacritty
- iTerm2
- Windows Terminal
- Most terminals with
COLORTERM=truecolor
256 colors
256 colors
Extended color palette with 256 colors. Used by:
- xterm-256color
- Most terminal emulators as fallback
- tmux (by default)
16 colors
16 colors
Basic ANSI color palette. Used by:
- Linux console
- Very old terminals
- GNU Screen
Terminal Multiplexers
GNU Screen and tmux add a layer between your terminal and Fresh, which can affect color rendering:tmux supports 256 colors by default. Some configurations support truecolor with
TERM=tmux-direct.Manual Override
If colors look wrong, you can force a specific color mode with theFRESH_COLOR_MODE environment variable:
Common Color Issues
| Symptom | Likely Cause | Solution |
|---|---|---|
| Colors look completely wrong | Truecolor detected but not supported | Use FRESH_COLOR_MODE=256 |
| Weird artifacts/rendering issues | Terminal multiplexer interference | Try FRESH_COLOR_MODE=256 or check TERM |
| Very limited/ugly colors | 16-color mode detected | Check your terminal supports 256 colors |
Checking Your Terminal
Keybinding Issues
Keybinding Not Working
If a keybinding isn’t working as expected:-
Check the Command Palette
Open Command Palette (
Ctrl+Por^P) and type the command name. If a keybinding is assigned, it will be shown alongside the command. - View Keyboard Shortcuts Use Help → Keyboard Shortcuts to view the complete list of keybindings.
- Debug Keyboard Events Use Help → Debug Keyboard Events to see exactly what key codes your terminal sends to Fresh.
Debug Keyboard Events
This tool shows raw terminal events before any translation, helping diagnose issues like:- Missing modifier keys (e.g.,
Ctrl+Shift+Homearriving as justCtrl+Home) - Terminal or OS intercepting keys before they reach Fresh
- Incorrect escape sequences from your terminal
Input Calibration
Some terminals send non-standard escape sequences. If certain key combinations don’t work:- Open View → Calibrate Input from the menu
- Follow the on-screen prompts to teach Fresh your terminal’s key mappings
- Calibration is saved to
~/.config/fresh/key-calibration.json
- Exotic terminal emulators
- Remote SSH sessions
- Terminals with custom key mappings
Performance Issues
Slow Syntax Highlighting
Large files
Large files
For very large files (>1MB), consider:
- Disabling syntax highlighting temporarily
- Using tree-sitter instead of TextMate grammars (generally faster)
- Splitting the file into smaller chunks if possible
Complex grammars
Complex grammars
Some TextMate grammars are computationally expensive. Try:
- Switching to tree-sitter: View → Settings → Editor → Highlighter → tree-sitter
- Using a simpler theme
- Disabling certain highlighting features
LSP Server Not Starting
File Not Found or Permission Errors
If Fresh can’t open or save files:- Check file permissions:
ls -l file.txt - Verify the file exists and path is correct
- Check if another process has the file locked
- Ensure you have write permissions to the directory
Display Issues
Cursor Rendering Problems
Cursor not visible
Cursor not visible
Try changing the cursor style:View → Settings → Editor → Cursor StyleOptions:
block(default)underlinebar
config.json:Cursor flickers or disappears
Cursor flickers or disappears
Some terminals have issues with cursor rendering. Try:
- Different cursor styles
- Updating your terminal emulator
- Checking if terminal has cursor-related settings
Weird Characters or Boxes
Font Issues:- Ensure your terminal uses a font with good Unicode coverage
- Try fonts like: FiraCode, JetBrains Mono, Cascadia Code, or Iosevka
- Check file encoding: View → Settings → Encoding
- Fresh supports: UTF-8, UTF-16, GBK, Shift-JIS, EUC-KR, and more
- Use File → Reload with Encoding to try different encodings
Mouse Not Working
Terminal Support
Verify your terminal supports mouse events. Most modern terminals do, but some may require configuration.
Session & Workspace Issues
Session Not Restoring
If your workspace doesn’t restore on startup:-
Check if workspace restoration is enabled:
-
Or use the CLI flag to skip restoration:
-
Check session files:
Cannot Attach to Session
Session not found
Session not found
List active sessions:The session may have been terminated or doesn’t exist yet.
Permission denied
Permission denied
Check socket permissions:You may need to clean up stale socket files.
Plugin Issues
Plugin Not Loading
Plugin Errors
If a plugin throws errors:- Check plugin compatibility with your Fresh version
- Review plugin documentation
- Check if plugin dependencies are installed
- Report issues to the plugin author
Advanced Topics
Visual Regression Testing
Fresh uses visual regression testing to catch unintentional UI changes. See the repository’sdocs/VISUAL_REGRESSION_TESTING.md for details.
Getting More Help
View Logs
Main log file:
Show Paths
See all Fresh directories:
Dump Config
View effective configuration:
Check LSP
LSP status and diagnostics:Help → LSP Status
Reporting Bugs
When reporting issues, please include:- Fresh version:
fresh --version - Operating system and terminal emulator
- Steps to reproduce
- Relevant log output
- Configuration (if related)
See Also
- CLI Commands - Command-line reference
- Keybindings - Keyboard shortcuts
- Privacy - Telemetry and data collection