blax
Version:
Blax - HMS-Powered Multi-Agent Platform with Government Agency Analysis, Deep Research, and Enterprise-Ready Deployment. No local LLM keys required.
270 lines • 6.52 kB
JavaScript
/**
* Tmux-Style Themes Configuration
*
* Inspired by real tmux configurations with customizable color schemes,
* borders, status bars, and visual elements for terminal UI
*/
// Default Theme (Classic Tmux)
export const defaultTheme = {
name: 'default',
description: 'Classic tmux-inspired terminal theme',
colors: {
background: 'black',
foreground: 'white',
primary: 'green',
secondary: 'blue',
accent: 'yellow',
error: 'red',
warning: 'orange',
success: 'green',
muted: 'gray',
},
borders: {
active: 'green',
inactive: 'gray',
style: 'single',
},
statusBar: {
position: 'bottom',
justify: 'left',
separator: '|',
showTime: true,
showStatus: true,
format: '%H:%M %d-%b-%y',
},
windows: {
currentStyle: 'bold inverse',
inactiveStyle: 'dim',
separator: ' ',
},
panes: {
titleStyle: 'bold',
contentPadding: 1,
showBorders: true,
},
};
// Dracula Theme
export const draculaTheme = {
name: 'dracula',
description: 'Dark theme with purple accents',
colors: {
background: '#282a36',
foreground: '#f8f8f2',
primary: '#bd93f9',
secondary: '#6272a4',
accent: '#ff79c6',
error: '#ff5555',
warning: '#ffb86c',
success: '#50fa7b',
muted: '#6272a4',
},
borders: {
active: '#bd93f9',
inactive: '#6272a4',
style: 'rounded',
},
statusBar: {
position: 'bottom',
justify: 'left',
separator: '◆',
showTime: true,
showStatus: true,
format: '%H:%M ◆ %d %b',
},
windows: {
currentStyle: 'bold',
inactiveStyle: 'dim',
separator: ' ❯ ',
},
panes: {
titleStyle: 'bold',
contentPadding: 1,
showBorders: true,
},
};
// Nord Theme
export const nordTheme = {
name: 'nord',
description: 'Arctic blue color palette',
colors: {
background: '#2e3440',
foreground: '#d8dee9',
primary: '#88c0d0',
secondary: '#5e81ac',
accent: '#8fbcbb',
error: '#bf616a',
warning: '#ebcb8b',
success: '#a3be8c',
muted: '#4c566a',
},
borders: {
active: '#88c0d0',
inactive: '#4c566a',
style: 'single',
},
statusBar: {
position: 'bottom',
justify: 'center',
separator: '•',
showTime: true,
showStatus: true,
format: '%H:%M • %a %d %b',
},
windows: {
currentStyle: 'bold',
inactiveStyle: 'normal',
separator: ' • ',
},
panes: {
titleStyle: 'bold',
contentPadding: 1,
showBorders: true,
},
};
// Solarized Dark Theme
export const solarizedDarkTheme = {
name: 'solarized-dark',
description: 'Solarized dark color scheme',
colors: {
background: '#002b36',
foreground: '#839496',
primary: '#268bd2',
secondary: '#2aa198',
accent: '#b58900',
error: '#dc322f',
warning: '#cb4b16',
success: '#859900',
muted: '#586e75',
},
borders: {
active: '#268bd2',
inactive: '#586e75',
style: 'single',
},
statusBar: {
position: 'bottom',
justify: 'left',
separator: '⎪',
showTime: true,
showStatus: true,
format: '%H:%M ⎪ %d/%m/%Y',
},
windows: {
currentStyle: 'bold',
inactiveStyle: 'dim',
separator: ' ⎪ ',
},
panes: {
titleStyle: 'bold',
contentPadding: 1,
showBorders: true,
},
};
// Minimal Theme
export const minimalTheme = {
name: 'minimal',
description: 'Clean minimal design with subtle colors',
colors: {
background: 'black',
foreground: 'white',
primary: 'white',
secondary: 'gray',
accent: 'cyan',
error: 'red',
warning: 'yellow',
success: 'green',
muted: 'gray',
},
borders: {
active: 'white',
inactive: 'gray',
style: 'ascii',
},
statusBar: {
position: 'top',
justify: 'right',
separator: ' ',
showTime: true,
showStatus: false,
format: '%H:%M',
},
windows: {
currentStyle: 'inverse',
inactiveStyle: 'normal',
separator: ' ',
},
panes: {
titleStyle: 'normal',
contentPadding: 0,
showBorders: false,
},
};
// Cyberpunk Theme
export const cyberpunkTheme = {
name: 'cyberpunk',
description: 'Neon cyberpunk aesthetic with bright colors',
colors: {
background: '#0a0e27',
foreground: '#00ff9f',
primary: '#ff0080',
secondary: '#00d4ff',
accent: '#ffff00',
error: '#ff073a',
warning: '#ff8c00',
success: '#39ff14',
muted: '#8892b0',
},
borders: {
active: '#ff0080',
inactive: '#8892b0',
style: 'double',
},
statusBar: {
position: 'bottom',
justify: 'center',
separator: '▸',
showTime: true,
showStatus: true,
format: '%H:%M:%S ▸ %d.%m.%y',
},
windows: {
currentStyle: 'bold',
inactiveStyle: 'dim',
separator: ' ▸ ',
},
panes: {
titleStyle: 'bold',
contentPadding: 1,
showBorders: true,
},
};
// All available themes
export const themes = {
default: defaultTheme,
dracula: draculaTheme,
nord: nordTheme,
'solarized-dark': solarizedDarkTheme,
minimal: minimalTheme,
cyberpunk: cyberpunkTheme,
};
// Theme utilities
export function getTheme(name) {
return themes[name] || defaultTheme;
}
export function listThemes() {
return Object.keys(themes);
}
export function createCustomTheme(base, overrides) {
const baseTheme = getTheme(base);
return {
...baseTheme,
...overrides,
colors: { ...baseTheme.colors, ...overrides.colors },
borders: { ...baseTheme.borders, ...overrides.borders },
statusBar: { ...baseTheme.statusBar, ...overrides.statusBar },
windows: { ...baseTheme.windows, ...overrides.windows },
panes: { ...baseTheme.panes, ...overrides.panes },
};
}
export default themes;
//# sourceMappingURL=tmuxThemes.js.map