genbox 1.0.242 → 1.0.243
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Theme Utilities
|
|
3
3
|
*
|
|
4
|
-
* Provides automatic theme detection based on
|
|
4
|
+
* Provides automatic theme detection based on system preferences.
|
|
5
|
+
* Falls back to time-based detection if system theme cannot be detected.
|
|
5
6
|
* Used by session commands to set light/dark theme for AI CLIs.
|
|
6
7
|
*
|
|
7
8
|
* Claude Code CLI: Theme is configured via ~/.claude/settings.json
|
|
@@ -9,12 +10,20 @@
|
|
|
9
10
|
* - No command-line flag available (removed in v2.0.0)
|
|
10
11
|
*
|
|
11
12
|
* Gemini CLI: Theme is configured via ~/.gemini/settings.json
|
|
12
|
-
* - Format: { "
|
|
13
|
+
* - Format: { "theme": "Default Light" } or { "theme": "Default Dark" }
|
|
13
14
|
* - No command-line flag available
|
|
14
15
|
*/
|
|
15
16
|
export type Theme = 'light' | 'dark';
|
|
17
|
+
/**
|
|
18
|
+
* Detect the system theme based on the current platform.
|
|
19
|
+
* Returns null if detection fails or platform is unsupported.
|
|
20
|
+
*
|
|
21
|
+
* @returns 'dark' or 'light' based on system preference, null if detection fails
|
|
22
|
+
*/
|
|
23
|
+
export declare function detectSystemTheme(): Theme | null;
|
|
16
24
|
/**
|
|
17
25
|
* Get the appropriate theme based on the current time of day.
|
|
26
|
+
* This is used as a fallback when system theme detection fails.
|
|
18
27
|
*
|
|
19
28
|
* @param options Optional configuration for day/night hours
|
|
20
29
|
* @returns 'light' during day hours (6 AM - 6 PM), 'dark' otherwise
|
|
@@ -25,20 +34,29 @@ export declare function getThemeForTime(options?: {
|
|
|
25
34
|
now?: Date;
|
|
26
35
|
}): Theme;
|
|
27
36
|
/**
|
|
28
|
-
* Get the theme
|
|
37
|
+
* Get the current theme, preferring system detection over time-based.
|
|
38
|
+
*
|
|
39
|
+
* @returns The detected system theme, or time-based fallback
|
|
40
|
+
*/
|
|
41
|
+
export declare function getSystemTheme(): Theme;
|
|
42
|
+
/**
|
|
43
|
+
* Get the theme for Claude CLI based on system preference.
|
|
44
|
+
* Falls back to time-based detection if system theme cannot be detected.
|
|
29
45
|
*
|
|
30
46
|
* @returns The theme value
|
|
31
47
|
*/
|
|
32
48
|
export declare function getClaudeTheme(): Theme;
|
|
33
49
|
/**
|
|
34
|
-
* Get the theme for Gemini CLI based on
|
|
50
|
+
* Get the theme for Gemini CLI based on system preference.
|
|
51
|
+
* Falls back to time-based detection if system theme cannot be detected.
|
|
35
52
|
*
|
|
36
53
|
* @returns The theme value (light/dark)
|
|
37
54
|
*/
|
|
38
55
|
export declare function getGeminiTheme(): Theme;
|
|
39
56
|
/**
|
|
40
|
-
* Get the full Gemini theme name based on
|
|
57
|
+
* Get the full Gemini theme name based on system preference.
|
|
41
58
|
* Gemini CLI uses specific theme names like "Default Light", "Default Dark", etc.
|
|
59
|
+
* Falls back to time-based detection if system theme cannot be detected.
|
|
42
60
|
*
|
|
43
61
|
* @returns The full Gemini theme name
|
|
44
62
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-utils.d.ts","sourceRoot":"","sources":["../../src/utils/theme-utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"theme-utils.d.ts","sourceRoot":"","sources":["../../src/utils/theme-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAqHrC;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,KAAK,GAAG,IAAI,CAahD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,KAAK,CAgBR;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,KAAK,CAOtC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,KAAK,CAEtC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,KAAK,CAEtC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAiC3C;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,CAiBtD;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAsC3C;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,CAkBtD"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Theme Utilities
|
|
3
3
|
*
|
|
4
|
-
* Provides automatic theme detection based on
|
|
4
|
+
* Provides automatic theme detection based on system preferences.
|
|
5
|
+
* Falls back to time-based detection if system theme cannot be detected.
|
|
5
6
|
* Used by session commands to set light/dark theme for AI CLIs.
|
|
6
7
|
*
|
|
7
8
|
* Claude Code CLI: Theme is configured via ~/.claude/settings.json
|
|
@@ -9,19 +10,143 @@
|
|
|
9
10
|
* - No command-line flag available (removed in v2.0.0)
|
|
10
11
|
*
|
|
11
12
|
* Gemini CLI: Theme is configured via ~/.gemini/settings.json
|
|
12
|
-
* - Format: { "
|
|
13
|
+
* - Format: { "theme": "Default Light" } or { "theme": "Default Dark" }
|
|
13
14
|
* - No command-line flag available
|
|
14
15
|
*/
|
|
15
16
|
import * as fs from 'fs';
|
|
16
17
|
import * as path from 'path';
|
|
17
18
|
import * as os from 'os';
|
|
19
|
+
import { execSync } from 'child_process';
|
|
18
20
|
/**
|
|
19
21
|
* Default day hours (6 AM to 6 PM is considered "day")
|
|
22
|
+
* Used as fallback when system theme detection fails.
|
|
20
23
|
*/
|
|
21
24
|
const DEFAULT_DAY_START_HOUR = 6; // 6 AM
|
|
22
25
|
const DEFAULT_DAY_END_HOUR = 18; // 6 PM
|
|
26
|
+
/**
|
|
27
|
+
* Detect the system theme on macOS.
|
|
28
|
+
* Uses `defaults read -g AppleInterfaceStyle` which returns "Dark" if dark mode is enabled.
|
|
29
|
+
*
|
|
30
|
+
* @returns 'dark' if dark mode, 'light' if light mode, null if detection fails
|
|
31
|
+
*/
|
|
32
|
+
function detectMacOSTheme() {
|
|
33
|
+
try {
|
|
34
|
+
const result = execSync('defaults read -g AppleInterfaceStyle 2>/dev/null', {
|
|
35
|
+
encoding: 'utf-8',
|
|
36
|
+
timeout: 1000,
|
|
37
|
+
}).trim();
|
|
38
|
+
return result === 'Dark' ? 'dark' : 'light';
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// Command fails or returns empty when in light mode
|
|
42
|
+
return 'light';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Detect the system theme on Linux.
|
|
47
|
+
* Tries multiple methods for different desktop environments:
|
|
48
|
+
* - GNOME/GTK: gsettings
|
|
49
|
+
* - KDE: kreadconfig5
|
|
50
|
+
* - Generic: GTK_THEME environment variable
|
|
51
|
+
*
|
|
52
|
+
* @returns 'dark' if dark mode, 'light' if light mode, null if detection fails
|
|
53
|
+
*/
|
|
54
|
+
function detectLinuxTheme() {
|
|
55
|
+
// Try GNOME/GTK (most common)
|
|
56
|
+
try {
|
|
57
|
+
const result = execSync('gsettings get org.gnome.desktop.interface color-scheme 2>/dev/null', {
|
|
58
|
+
encoding: 'utf-8',
|
|
59
|
+
timeout: 1000,
|
|
60
|
+
}).trim();
|
|
61
|
+
if (result.includes('dark')) {
|
|
62
|
+
return 'dark';
|
|
63
|
+
}
|
|
64
|
+
if (result.includes('light') || result.includes('default')) {
|
|
65
|
+
return 'light';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// gsettings not available or failed
|
|
70
|
+
}
|
|
71
|
+
// Try GTK theme setting
|
|
72
|
+
try {
|
|
73
|
+
const result = execSync('gsettings get org.gnome.desktop.interface gtk-theme 2>/dev/null', {
|
|
74
|
+
encoding: 'utf-8',
|
|
75
|
+
timeout: 1000,
|
|
76
|
+
}).trim().toLowerCase();
|
|
77
|
+
if (result.includes('dark')) {
|
|
78
|
+
return 'dark';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// gsettings not available or failed
|
|
83
|
+
}
|
|
84
|
+
// Try KDE
|
|
85
|
+
try {
|
|
86
|
+
const result = execSync('kreadconfig5 --group General --key ColorScheme 2>/dev/null', {
|
|
87
|
+
encoding: 'utf-8',
|
|
88
|
+
timeout: 1000,
|
|
89
|
+
}).trim().toLowerCase();
|
|
90
|
+
if (result.includes('dark')) {
|
|
91
|
+
return 'dark';
|
|
92
|
+
}
|
|
93
|
+
if (result) {
|
|
94
|
+
return 'light';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// kreadconfig5 not available or failed
|
|
99
|
+
}
|
|
100
|
+
// Check GTK_THEME environment variable
|
|
101
|
+
const gtkTheme = process.env.GTK_THEME?.toLowerCase();
|
|
102
|
+
if (gtkTheme) {
|
|
103
|
+
return gtkTheme.includes('dark') ? 'dark' : 'light';
|
|
104
|
+
}
|
|
105
|
+
// Check for common dark theme indicators in environment
|
|
106
|
+
const colorScheme = process.env.COLOR_SCHEME?.toLowerCase();
|
|
107
|
+
if (colorScheme) {
|
|
108
|
+
return colorScheme.includes('dark') ? 'dark' : 'light';
|
|
109
|
+
}
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Detect the system theme on Windows.
|
|
114
|
+
* Uses PowerShell to read the registry key for app theme preference.
|
|
115
|
+
*
|
|
116
|
+
* @returns 'dark' if dark mode, 'light' if light mode, null if detection fails
|
|
117
|
+
*/
|
|
118
|
+
function detectWindowsTheme() {
|
|
119
|
+
try {
|
|
120
|
+
const result = execSync('powershell -NoProfile -Command "(Get-ItemProperty -Path HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize -Name AppsUseLightTheme).AppsUseLightTheme"', { encoding: 'utf-8', timeout: 2000 }).trim();
|
|
121
|
+
// 0 = dark mode, 1 = light mode
|
|
122
|
+
return result === '0' ? 'dark' : 'light';
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Detect the system theme based on the current platform.
|
|
130
|
+
* Returns null if detection fails or platform is unsupported.
|
|
131
|
+
*
|
|
132
|
+
* @returns 'dark' or 'light' based on system preference, null if detection fails
|
|
133
|
+
*/
|
|
134
|
+
export function detectSystemTheme() {
|
|
135
|
+
const platform = os.platform();
|
|
136
|
+
switch (platform) {
|
|
137
|
+
case 'darwin':
|
|
138
|
+
return detectMacOSTheme();
|
|
139
|
+
case 'linux':
|
|
140
|
+
return detectLinuxTheme();
|
|
141
|
+
case 'win32':
|
|
142
|
+
return detectWindowsTheme();
|
|
143
|
+
default:
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
23
147
|
/**
|
|
24
148
|
* Get the appropriate theme based on the current time of day.
|
|
149
|
+
* This is used as a fallback when system theme detection fails.
|
|
25
150
|
*
|
|
26
151
|
* @param options Optional configuration for day/night hours
|
|
27
152
|
* @returns 'light' during day hours (6 AM - 6 PM), 'dark' otherwise
|
|
@@ -37,29 +162,45 @@ export function getThemeForTime(options) {
|
|
|
37
162
|
return 'dark';
|
|
38
163
|
}
|
|
39
164
|
/**
|
|
40
|
-
* Get the theme
|
|
165
|
+
* Get the current theme, preferring system detection over time-based.
|
|
166
|
+
*
|
|
167
|
+
* @returns The detected system theme, or time-based fallback
|
|
168
|
+
*/
|
|
169
|
+
export function getSystemTheme() {
|
|
170
|
+
const systemTheme = detectSystemTheme();
|
|
171
|
+
if (systemTheme !== null) {
|
|
172
|
+
return systemTheme;
|
|
173
|
+
}
|
|
174
|
+
// Fall back to time-based detection
|
|
175
|
+
return getThemeForTime();
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get the theme for Claude CLI based on system preference.
|
|
179
|
+
* Falls back to time-based detection if system theme cannot be detected.
|
|
41
180
|
*
|
|
42
181
|
* @returns The theme value
|
|
43
182
|
*/
|
|
44
183
|
export function getClaudeTheme() {
|
|
45
|
-
return
|
|
184
|
+
return getSystemTheme();
|
|
46
185
|
}
|
|
47
186
|
/**
|
|
48
|
-
* Get the theme for Gemini CLI based on
|
|
187
|
+
* Get the theme for Gemini CLI based on system preference.
|
|
188
|
+
* Falls back to time-based detection if system theme cannot be detected.
|
|
49
189
|
*
|
|
50
190
|
* @returns The theme value (light/dark)
|
|
51
191
|
*/
|
|
52
192
|
export function getGeminiTheme() {
|
|
53
|
-
return
|
|
193
|
+
return getSystemTheme();
|
|
54
194
|
}
|
|
55
195
|
/**
|
|
56
|
-
* Get the full Gemini theme name based on
|
|
196
|
+
* Get the full Gemini theme name based on system preference.
|
|
57
197
|
* Gemini CLI uses specific theme names like "Default Light", "Default Dark", etc.
|
|
198
|
+
* Falls back to time-based detection if system theme cannot be detected.
|
|
58
199
|
*
|
|
59
200
|
* @returns The full Gemini theme name
|
|
60
201
|
*/
|
|
61
202
|
export function getGeminiThemeName() {
|
|
62
|
-
const theme =
|
|
203
|
+
const theme = getSystemTheme();
|
|
63
204
|
// Use "Default Light" or "Default Dark" which match most terminal backgrounds
|
|
64
205
|
return theme === 'light' ? 'Default Light' : 'Default Dark';
|
|
65
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-utils.js","sourceRoot":"","sources":["../../src/utils/theme-utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"theme-utils.js","sourceRoot":"","sources":["../../src/utils/theme-utils.ts"],"names":[],"mappings":"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"}
|