Skip to content

Commit cf4b266

Browse files
committed
Add Termite export
1 parent 962f4f9 commit cf4b266

5 files changed

Lines changed: 44 additions & 0 deletions

File tree

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ Save the generated file with `.reg` extension and double click it.
3737
* __Terminator:__
3838
Copy lines within the `[profiles]` section of the generated configuration file to `~/.config/terminator/config`.
3939

40+
* __Termite:__
41+
Copy the generated `[colors]` section into the Termite configuration file.
42+
4043
* __Alacritty:__
4144
Put the generated file to `~/.config/alacritty/alacritty.yml`.
4245

src/infrastructure/serialization/scheme-exporters.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { serializeITerm2 } from './scheme-exports/iterm2';
66
import { serializeKonsole } from './scheme-exports/konsole';
77
import { serializeMintty } from './scheme-exports/mintty';
88
import { serializePutty } from './scheme-exports/putty';
9+
import { serializeTermite } from './scheme-exports/termite';
910
import { serializeTerminator } from './scheme-exports/terminator';
1011
import { serializeWindowsTerminal } from './scheme-exports/windows-terminal';
1112
import { serializeXfceTerminal } from './scheme-exports/xfce-terminal';
@@ -25,6 +26,7 @@ const EXPORT_BUILDERS = {
2526
xfceTerminal: serializeXfceTerminal,
2627
mintty: serializeMintty,
2728
putty: serializePutty,
29+
termite: serializeTermite,
2830
terminator: serializeTerminator,
2931
windowsTerminal: serializeWindowsTerminal,
3032
};
@@ -102,6 +104,14 @@ export const SCHEME_DOWNLOADS = [
102104
downloadName: 'config',
103105
mimeType: TEXT_MIME_TYPE,
104106
},
107+
{
108+
id: 'termite',
109+
buttonId: 'termite-button',
110+
text: 'termite',
111+
linkLabel: 'config',
112+
downloadName: 'termite-config',
113+
mimeType: TEXT_MIME_TYPE,
114+
},
105115
{
106116
id: 'windowsTerminal',
107117
buttonId: 'windows-terminal-button',
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { colorHex, paletteColorNames } from './shared';
2+
3+
export function serializeTermite(colors) {
4+
let out = '';
5+
6+
out += '[colors]\n';
7+
out += `foreground = ${colorHex(colors.foreground)}\n`;
8+
out += `background = ${colorHex(colors.background)}\n`;
9+
out += `cursor = ${colorHex(colors.foreground)}\n`;
10+
out += `cursor_foreground = ${colorHex(colors.background)}\n\n`;
11+
12+
paletteColorNames().forEach((name, index) => {
13+
out += `color${index} = ${colorHex(colors[name])}\n`;
14+
});
15+
16+
return out;
17+
}

src/presentation/about-page/AboutPage.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@
9393
<li><a href="https://apps.kde.org/yakuake/">Yakuake</a></li>
9494
<li><a href="https://mintty.github.io/">mintty</a></li>
9595
<li><a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a></li>
96+
<li><a href="https://github.com/thestinger/termite">Termite</a></li>
9697
<li><a href="https://gnome-terminator.org/">Terminator</a></li>
9798
<li><a href="https://docs.xfce.org/apps/xfce4-terminal/start">Xfce4-terminal</a></li>
9899
<li><a href="https://wiki.archlinux.org/title/X_resources">Xresources-compatible terminals</a></li>

tests/infrastructure/serialization/scheme-exporters.test.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,19 @@ describe('SchemeExporters', () => {
108108
}
109109
});
110110

111+
it('generates a Termite colors section', async () => {
112+
const text = await buildSchemeDownload('termite', createColors()).text();
113+
114+
expect(text).toContain('[colors]\n');
115+
expect(text).toContain('foreground = #F0F0F0');
116+
expect(text).toContain('background = #101010');
117+
expect(text).toContain('cursor = #F0F0F0');
118+
expect(text).toContain('cursor_foreground = #101010');
119+
expect(text).toContain('color0 = #000000');
120+
expect(text).toContain('color8 = #808080');
121+
expect(text).toContain('color15 = #FFFFFF');
122+
});
123+
111124
it('generates a Windows Terminal JSON scheme', async () => {
112125
const blob = buildSchemeDownload('windowsTerminal', createColors());
113126
const scheme = JSON.parse(await blob.text());

0 commit comments

Comments
 (0)