Themes, fonts, focus mode and languages
Make Revue look the way you like: colours, code colours, fonts and sizes, density, file icons, focus mode and the interface language.
Everything on this page lives in Settings → Appearance (Ctrl+,, Cmd+, on macOS). Changes apply at once, no restart needed (except for a few labels after a language change). For every other setting, see the Settings reference.
Colour themes#
The Theme card has three parts:
- Light, Dark or As the system: which mode Revue is in. As the system follows your operating system's dark or light setting and switches along with it.
- Dark theme: the colours used in dark mode.
- Light theme: the colours used in light mode.
You pick one theme for each mode, so switching modes (Ctrl+Shift+T, Cmd+Shift+T on macOS) always goes between your two favourites. Each tile shows a little preview of the theme: title bar, sidebar, text and a diff.
A theme also brings its matching code colours, unless you've picked other code colours (see Code colours).
Built-in themes#
The tiles are grouped in tabs:
| Tab | Dark themes | Light themes |
|---|---|---|
| Revue | Revue Dark (the default), Revue Dim | Revue Light |
| Popular | Nord, Dracula, Tokyo Night, One Dark, Kanagawa | Nord Light, Tokyo Night Day, One Light |
| Catppuccin | Catppuccin Mocha, Catppuccin Macchiato, Catppuccin Frappé | Catppuccin Latte |
| Warm | Gruvbox Dark, Solarized Dark, Everforest Dark, Rosé Pine | Gruvbox Light, Solarized Light, Everforest Light, Rosé Pine Dawn |
| GitHub | GitHub Dark | GitHub Light |
| Imported | themes you've taken from your editor | the same |
Revue Dim uses GitHub's "dimmed" greys and softer text, for anyone who finds near-black with white text harsh to read.
Guide: Use your editor's theme#
If you have VS Code (or a fork such as VSCodium, Cursor or Windsurf), Zed or a JetBrains IDE, Revue can take the theme it's set to right now.
- Open Settings → Appearance.
- Under From your editor, click Use VS Code's theme (or Zed's, or your JetBrains IDE's). With several editors of one kind installed, pick one from the button's menu.
- Read the confirmation: it says which theme becomes the code theme (and app theme) for which mode, and what it replaces.
- Leave Also use its colors for the app on to colour the whole app like your editor, or turn it off to change only the code colours.
- Click Import.
The theme then shows in the Imported tab. Click the bin icon on its tile (Delete this imported theme) to remove it; a mode that used it goes back to Revue's own theme.
Advanced: where Revue looks for your editor's theme
- VS Code, VS Code Insiders, VSCodium, Code - OSS, Cursor, Windsurf:
User/settings.jsonin the editor's config folder (Linux~/.config, macOS~/Library/Application Support, Windows%APPDATA%; for Flatpak installs~/.var/app/<id>/config). Revue readsworkbench.colorTheme, or withwindow.autoDetectColorSchemethe preferred dark and light themes. The theme itself comes from your extensions, from the editor's own install, or from Revue's copies of VS Code's default themes. - Zed:
settings.jsonin~/.config/zed(Windows%APPDATA%\Zed), itstheme(a name or{mode, light, dark}). Themes come from thethemes/folder beside it, installed extensions, or Revue's copies of Zed's built-in ones. - JetBrains IDEs (and Android Studio): each IDE's newest config folder, the global colour scheme in
options/colors.scheme.xml, fromcolors/*.icls, a plugin, or Revue's copies of the bundled schemes. - App colours are taken from the editor's own UI colours where its theme has them; what's missing is worked out from the code theme's background and text, kept readable.
- The From your editor row only appears when Revue finds at least one of these editors.
Advanced: where themes are stored
- Your choices are the
dark,follow_system,theme_darkandtheme_lightsettings (the olderdimsetting still picks Revue Dim). - Imported app themes are JSON files named
custom-<name>.jsonin thecolor-themesfolder of Revue's config folder (~/.config/revue, or$XDG_CONFIG_HOME/revue). They're synced with the rest of your settings. Each holds a small palette:name,dark,bg,panel,surface,border,fg,strong,muted,accent,red,orange,yellow,green,cyan,blue,magenta(all#rrggbb) and thecodetheme it pairs with. - An unknown theme id falls back to Revue Dark or Revue Light.
Code colours#
The Code theme card sets the syntax colours of code everywhere: diffs, the Code tab and code blocks in comments (and in the comment box as you type). Like the app theme, you pick one for Dark mode and one for Light mode.
Only the syntax colours change. Backgrounds stay your app theme's, so diffs keep their green and red added and removed lines.
The first tile, Match app theme, uses the code colours that come with your app theme. The rest are grouped in tabs:
| Tab | Dark | Light |
|---|---|---|
| VS Code | Abyss, Dark (Visual Studio), Dark High Contrast, Dark Modern, Dark+, Kimbie Dark, Monokai, Monokai Dimmed, Red, Solarized Dark, Tomorrow Night Blue | Light (Visual Studio), Light High Contrast, Light Modern, Light+, Quiet Light, Solarized Light |
| Zed | Ayu Dark, Ayu Mirage, Gruvbox Dark, Gruvbox Dark Hard, Gruvbox Dark Soft, One Dark | Ayu Light, Gruvbox Light, Gruvbox Light Hard, Gruvbox Light Soft, One Light |
| JetBrains | Darcula, JetBrains Dark, JetBrains High Contrast | IntelliJ Light, JetBrains Light |
| Community | Catppuccin Frappé, Catppuccin Macchiato, Catppuccin Mocha, Dracula, GitHub Dark, GitHub Dark Dimmed, Kanagawa Wave, Nord, Rosé Pine, Tokyo Night | Catppuccin Latte, GitHub Light, Rosé Pine Dawn |
| Imported | your own | your own |
Guide: Import a code theme from a file#
- In Settings → Appearance → Code theme, click Import….
- Pick one or more theme files: a Zed theme file, a VS Code theme (
.json) or a JetBrains colour scheme (.icls). - Revue says Imported and the names. The themes appear in the Imported tab, for the mode they're made for.
- Click a tile to use it.
Advanced: what can be imported
- Zed theme files: every theme in the file (
themes[].style.syntax). - VS Code themes: the
tokenColors, plus any themes the fileincludes from the same folder. Comments in the JSON are fine. - JetBrains colour schemes (
.icls, XML). - A file without syntax colours is refused with No syntax colors found: ….
- Imported code themes are saved as
custom-<name>.jsonin thecode-themesfolder of Revue's config folder and synced with your settings. Click the bin on a tile to delete one; a mode that used it goes back to Match app theme. - The choices are the
code_theme_darkandcode_theme_lightsettings (empty means Match app theme).
Text and fonts#
The Text card has two halves, Interface and Code, each with:
- a font picker: Automatic (…) first, then fonts that read well and are installed, then every other installed font. You can type to search.
- sizes: 80%, 90%, 100% (the default), 110%, 125% and 150%, with the resulting size in pixels beside them.
- a sample drawn in that font and size.
Ctrl+=, Ctrl+- and Ctrl+0 (Cmd on macOS) step the interface size up, down and back to 100 % from anywhere. The code size is set here only.
Advanced: which font Automatic picks
Automatic takes the first of these that's installed:
| Interface | Code | |
|---|---|---|
| Linux | Inter, Inter Variable, Inter Display, Cantarell, Noto Sans, Ubuntu, Open Sans, DejaVu Sans | JetBrains Mono, JetBrainsMono Nerd Font, Cascadia Code, Cascadia Mono, Fira Code, Iosevka, SF Mono, Source Code Pro, Hack, Menlo, Ubuntu Mono, Noto Sans Mono, DejaVu Sans Mono, Consolas |
| Windows | Segoe UI Variable Text, Segoe UI | the same list |
| macOS | the system font | the same list |
With none of them installed, it keeps the system's font (Automatic (system font)). A font you picked that has since been uninstalled is treated like Automatic.
The sizes are a percentage of the density's own base size: Comfortable is 17 px for the interface and 14.5 px for code, Compact 14 px and 12 px. Settings: ui_font, code_font, text_size, code_text_size.
Density, scrolling and animations#
The Density card:
| Option | What it does |
|---|---|
| Comfortable (default) | Roomy spacing, larger and easier-to-hit buttons |
| Compact | Smaller text, tighter spacing, more code on screen |
| Smooth scrolling (on) | The mouse wheel glides instead of jumping. Touchpads scroll as they always do |
| Animations (on) | Folders unrolling, lists gliding, spinners. Off, everything changes at once (smooth scrolling too) |
Density applies everywhere: text, paddings, rows and buttons.
Focus mode#
Focus mode clears the screen down to the code under review and its comments. The tabs, the status bar and the sidebars step aside, and the code is held to a comfortable reading width, centred in the window. It's handy for a long review, or on a small screen.
Guide: Review in focus mode#
- Open a pull request.
- Press F11, or click the focus icon in the title bar, or type Focus mode in the search palette (Ctrl+K). Revue switches to the Files tab.
- Use - and + (or the buttons in the title bar) to make the code narrower or wider.
- Need the file list or the threads for a moment? Press b or t to bring that sidebar back.
- Press Esc, F11 again, or Exit focus mode to get everything back.
In focus mode the title bar shows Focus mode, the current width (for example 120 characters, or No width limit) and Exit focus mode. The pull request keeps a slim header with a Review button to submit your review (Ctrl+Enter).
The width setting#
Settings → Appearance → Focus mode sets how wide the code may get in focus mode, in characters (on each side of a split diff): 80, 100, 120 (the default), 140, 160, 200, 240 or No limit. The - and + keys step through the same widths and save your choice.
Advanced: focus mode details
- On macOS the system may take F11 for Show Desktop: press Fn+F11, or give focus mode other keys in Settings → Keyboard shortcuts.
- Focus mode lasts for the session only: Revue always starts with everything in sight.
- Sidebars you bring back with b or t in focus mode are for that time only; they're hidden again the next time you enter focus mode.
- Esc first cancels whatever else is open (a line selection, a search, a comment box); only then does it leave focus mode.
- The setting is
focus_width(0means no limit). A hand-edited value is kept between 40 and 1000 characters.
File icons#
The File icons card sets the icons beside files and folders in lists, trees, pickers and diff headers. Each choice shows a row of samples.
| Choice | What you get |
|---|---|
| None | No icons |
| Plain | One-colour icons by kind of file (code, data, text) |
| Material (default) | The Material icon theme |
| vscode-icons | The vscode-icons theme |
| Catppuccin | Catppuccin's icons; Mocha in dark mode, Latte in light mode |
| Symbols | The Symbols icon theme |
Advanced: file icon settings
The settings are file_icons (none, plain or themed) and file_icon_theme (material, vscode-icons, catppuccin or symbols). The icon themes come from VS Code icon themes and are built into Revue.
Language#
Revue's interface is in English and Čeština (Czech). In Settings → Appearance → Language choose:
- System: your computer's language, if Revue has it, else English. The button shows which one that is, for example System (English).
- English
- Čeština
The views switch at once. Some text already shown in open fields and dialogs changes only after a restart: Revue says so and offers a Restart button.
Advanced: how System finds your language
Revue looks at these in order and takes the first language it has:
- Environment variables (all systems, as gettext reads them):
LANGUAGE, a colon-separated list of preferences such assk:cs:en, unless the locale isCorPOSIX; then the first set ofLC_ALL,LC_MESSAGESandLANG(for examplecs_CZ.UTF-8). ACorPOSIXlocale means English. - macOS: your first preferred language (System Settings → General → Language & Region).
- Windows: your Windows display language.
- Otherwise English.
Revue checks once, when it starts: after changing your computer's language, restart Revue.
The setting is language: system (the default, not written to the file), en or cs.
Emoji#
Emoji shortcodes such as :tada: or :+1: show as emoji in comments and descriptions (but not inside code). GitHub's own picture emoji, like :shipit: or :octocat:, show as small images.
While writing, type : and two or more letters to get a list of matching emoji; ↑ / ↓ pick one, Enter or Tab inserts it, Esc closes the list. In a message for Slack the list includes your workspace's own emoji. See Keyboard shortcuts and Comments, threads and drafts.