Docs

Theme Refresh

Branch: kabootit/theme-refresh in tranquil-theme-dark, tranquil-theme-light, and tranquil-browser.

Historical. This records the earlier refresh of the default tranquil-theme-dark/light themes. Those have since been superseded by the tranquil-business-* themes as Tranquil’s active/shipped UI themes (the default themes are no longer linked into tranquil-client). For the current theme structure, see Business Themes and Theme Development. The palette below still matches, since the business themes derive from the same reference design.

Tranquil’s visual identity was updated across three repos to match the reference design language — warm neutral palette, Inter typography, reference-proportioned spacing, and Phosphor icons replacing the previous mix of Octicons and remote PNGs.


Design Tokens

Colors

RoleLightDark
Sidebar / dock bg#F7F6F3#191814
App bg#FFFFFF#1F1E1B
Panel / content#FFFFFF#23221F
Dialog bg#FFFFFF#272622
Hover state#EBEBEA#2D2B27
Border default#E9E9E7#34322D
Text primary#37352F#E6E1D8
Text secondary#787774#B8B1A6
Accent blue#155DFF#78A4FF

Typography

All UI chrome uses Inter with system font fallbacks:

Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif
Use caseSizeWeight
Base UI chrome13px400
Tab title (inactive)13px400
Tab title (active)13px500
Status bar11px400
Section labels / headings11px500
Modal / palette items13px400
Modal input14px400
Editor content14px400
Browser URL bar13px400

Anti-aliasing (-webkit-font-smoothing: antialiased) is applied globally via atom-workspace.

Spacing & Sizing

ElementValue
Base border-radius8px (0.5rem)
Item border-radius4px
Tree view file row padding6px top/bottom
Tab padding8px 12px
Directory separator1px border
Browser toolbar height40px
Browser icon size24px
Browser icon gap8px
Modal width48rem
Modal shadow (dark)0 12px 26px rgba(0,0,0,.30), 0 1px 4px rgba(0,0,0,.22)
Modal shadow (light)0 8px 18px rgba(15,23,42,.12), 0 1px 3px rgba(15,23,42,.10)

tranquil-theme-dark

Color variables (styles/colors.less)

@primary-100:   #191814;  // sidebar / dock bg
@primary-75:    #1F1E1B;  // app bg
@primary-50:    #23221F;  // panel / content
@primary-25:    #34322D;  // border / interactive
@primary-hover: #2D2B27;  // hover state
@neutral:       #E6E1D8;  // text primary
@neutral-dim:   #B8B1A6;  // text secondary
@accent:        #78A4FF;  // accent blue

@model-background:       #272622;
@model-overlay-color:    rgba(8, 8, 7, 0.58);
@model-input-background: @primary-25;

Files changed

FileWhat changed
styles/colors.lessWarm charcoal palette, blue accent
styles/base.lessInter 13px global font + anti-aliasing
styles/tree-view.less14→13px, file row 6px padding, 1px directory borders
styles/tabs.less8px 12px padding, 13px titles, 500 weight on active tab
styles/status-bar.less11px font
styles/settings.less11px 500 section headings, 13px body
styles/model.less56→48rem width, updated shadow, 13px list items

tranquil-theme-light

Color variables (styles/colors.less)

Variable names were renamed from confusing originals (@white: #000000) to semantic names:

@bg-sidebar:   #F7F6F3;
@bg-secondary: #EBEBEA;
@bg-panel:     #FFFFFF;
@text-color:   #37352F;
@text-muted:   #787774;
@border-color: #E9E9E7;
@accent:       #155DFF;

Files changed

FileWhat changed
styles/colors.lessReference warm light palette, semantic variable names
styles/base.lessAll variable renames, Inter 13px font, sizing updates, editor line-height: 2 → 1.5

tranquil-browser

Theme-adaptive toolbar

The browser toolbar adapts to whichever UI theme is active. Pulsar adds .theme-tranquil-theme-dark or .theme-tranquil-theme-light to the workspace when each theme is applied. The browser LESS uses these selectors to swap palettes:

.theme-tranquil-theme-dark  { /* charcoal palette */ }
.theme-tranquil-theme-light { /* warm white palette */ }

No JavaScript is needed — pure CSS selector switching.

Color variables (styles/colors.less)

Both palettes are defined in a single file:

// Dark palette
@dark-bg-strip:  #191814;
@dark-bg-input:  #23221F;
@dark-text:      #E6E1D8;
@dark-border:    #34322D;
@dark-accent:    #78A4FF;

// Light palette
@light-bg-strip: #F7F6F3;
@light-bg-input: #FFFFFF;
@light-text:     #37352F;
@light-border:   #E9E9E7;
@light-accent:   #155DFF;

Phosphor icons

All toolbar icons are Phosphor Icons (regular weight), stored as local SVG files in resources/icons/. They replaced the previous mix of Octicon font characters and remote PNGs hosted on ibb.co.

FileButton
arrow-left.svgBack
arrow-right.svgForward
arrow-clockwise.svgRefresh
plus.svgNew Tab
star.svgSave URL / Fav
clock-counter-clockwise.svgHistory
printer.svgPrint
push-pin.svgRemember Position
lightning.svgLive Reload
code.svgDev Tools

Icons are referenced via a local file:// path computed at startup:

const _iconDir = path.join(__dirname, '..', 'resources', 'icons');
const _icon = name => `file://${_iconDir}/${name}.svg`;

Icon tinting is handled by CSS filter — the SVGs are stored as-is (black fill from Phosphor’s source) and rendered to the appropriate color per theme:

// Dark: render as ~#E6E1D8 (cream)
.apm-browser-icon { filter: brightness(0) invert(0.9); }

// Light: render as #37352F (near-black)
.apm-browser-icon { filter: brightness(0) saturate(0%); }

To change an icon, replace the relevant .svg file in resources/icons/ with any other Phosphor icon of the same name, or fetch a new one:

curl -o resources/icons/arrow-left.svg 
  https://raw.githubusercontent.com/phosphor-icons/core/main/assets/regular/arrow-left.svg

Files changed

FileWhat changed
styles/colors.lessDual dark/light palette variables
styles/tranquil-browser.lessTheme-adaptive .theme-* blocks, 40px toolbar, 24px icons
lib/tranquil-browser-view.jsAll toolbar buttons converted to local SVG <img> tags
resources/icons/*.svg10 Phosphor SVG files (added)