Skip to content

Commit 11dc40f

Browse files
authored
Merge pull request #54 from St0ff3l/codex/reopen-system-meter-merge-commit
[codex] 重新提交(merge commit):修复系统信息进度条样式并放宽内置编辑器文件大小限制
2 parents ba9ebfa + e950a90 commit 11dc40f

4 files changed

Lines changed: 53 additions & 33 deletions

File tree

apps/desktop/src/renderer/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ function joinLocalPath(directoryPath: string, name: string) {
217217
return `${normalized}${separator}${name}`
218218
}
219219

220-
const TEXT_EDITOR_MAX_BYTES = 4 * 1024 * 1024
220+
const TEXT_EDITOR_MAX_BYTES = 16 * 1024 * 1024
221221
const LIKELY_BINARY_FILE_EXTENSIONS = new Set([
222222
'.7z',
223223
'.a',

apps/desktop/src/renderer/features/system/SystemSidebar.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,15 @@ export function SystemSidebar({
8787
<Meter
8888
label={t.cpu}
8989
value={metrics?.cpuPercent ?? 0}
90-
tone={getMetricTone(metrics?.cpuPercent ?? 0).replace('status-', '')}
90+
tone={getMetricTone(metrics?.cpuPercent ?? 0)}
9191
caption=""
9292
percent={metrics ? `${metrics.cpuPercent}%` : '-'}
9393
/>
9494
<MemoryMeter metrics={metrics} />
9595
<Meter
9696
label={t.swap}
9797
value={metrics?.swapPercent ?? 0}
98-
tone={getMetricTone(metrics?.swapPercent ?? 0).replace('status-', '')}
98+
tone={getMetricTone(metrics?.swapPercent ?? 0)}
9999
caption={metrics?.swapUsage ?? '-'}
100100
percent={metrics ? `${metrics.swapPercent}%` : '-'}
101101
dotTone={getMetricTone(metrics?.swapPercent ?? 0)}
@@ -168,6 +168,9 @@ function MemoryMeter({ metrics }: { metrics?: SystemMetrics }) {
168168
const cache = parseMemory(metrics?.memoryCacheUsage ?? '')
169169
const kernel = parseMemory(metrics?.memoryKernelUsage ?? '')
170170
const memoryTone = getMetricTone(metrics?.memoryPercent ?? 0)
171+
// System meters intentionally use two color protocols:
172+
// - tone-* for status/warning severity (cpu/swap and memory fallback)
173+
// - app/cache/kernel for memory composition segments
171174
const segments = total > 0
172175
? [
173176
{ key: 'app', label: t.app, value: metrics?.memoryAppUsage ?? '-', width: Math.max(0, Math.min(100, (app / total) * 100)) },
@@ -193,7 +196,7 @@ function MemoryMeter({ metrics }: { metrics?: SystemMetrics }) {
193196
key={segment.key}
194197
style={{ width: `${segment.width}%` }}
195198
/>
196-
)) : <i className="meter-fill orange" style={{ width: `${metrics?.memoryPercent ?? 0}%` }} />}
199+
)) : <i className="meter-fill tone-warning" style={{ width: `${metrics?.memoryPercent ?? 0}%` }} />}
197200

198201
{segments.length ? (
199202
<div className="memory-hover-popover">
@@ -287,9 +290,10 @@ function compactUptimeParts(parts: string[]) {
287290
}
288291

289292
function getMetricTone(percent: number) {
290-
if (percent >= 85) return 'status-red'
291-
if (percent >= 60) return 'status-yellow'
292-
return 'status-green'
293+
// Status meters use the shared tone-* classes so dot/fill styling stays aligned.
294+
if (percent >= 85) return 'tone-danger'
295+
if (percent >= 60) return 'tone-warning'
296+
return 'tone-success'
293297
}
294298

295299
function ProcessTable({ rows }: { rows: SystemMetrics['topProcesses'] }) {

apps/desktop/src/renderer/styles/themes/default-dark.css

Lines changed: 33 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -244,21 +244,21 @@
244244
background: var(--metric-kernel);
245245
}
246246

247-
:root:not([data-theme]) .metric-dot.status-green,
248-
:root[data-theme='default-dark'] .metric-dot.status-green,
249-
:root[data-theme='default'] .metric-dot.status-green {
247+
:root:not([data-theme]) .metric-dot.tone-success,
248+
:root[data-theme='default-dark'] .metric-dot.tone-success,
249+
:root[data-theme='default'] .metric-dot.tone-success {
250250
background: var(--metric-status-green);
251251
}
252252

253-
:root:not([data-theme]) .metric-dot.status-yellow,
254-
:root[data-theme='default-dark'] .metric-dot.status-yellow,
255-
:root[data-theme='default'] .metric-dot.status-yellow {
253+
:root:not([data-theme]) .metric-dot.tone-warning,
254+
:root[data-theme='default-dark'] .metric-dot.tone-warning,
255+
:root[data-theme='default'] .metric-dot.tone-warning {
256256
background: var(--metric-status-yellow);
257257
}
258258

259-
:root:not([data-theme]) .metric-dot.status-red,
260-
:root[data-theme='default-dark'] .metric-dot.status-red,
261-
:root[data-theme='default'] .metric-dot.status-red {
259+
:root:not([data-theme]) .metric-dot.tone-danger,
260+
:root[data-theme='default-dark'] .metric-dot.tone-danger,
261+
:root[data-theme='default'] .metric-dot.tone-danger {
262262
background: var(--metric-status-red);
263263
}
264264

@@ -280,15 +280,15 @@
280280
background: var(--meter-track);
281281
}
282282

283-
:root:not([data-theme]) .meter-fill.green,
284-
:root[data-theme='default-dark'] .meter-fill.green,
285-
:root[data-theme='default'] .meter-fill.green {
283+
:root:not([data-theme]) .meter-fill.tone-success,
284+
:root[data-theme='default-dark'] .meter-fill.tone-success,
285+
:root[data-theme='default'] .meter-fill.tone-success {
286286
background: var(--success);
287287
}
288288

289-
:root:not([data-theme]) .meter-fill.orange,
290-
:root[data-theme='default-dark'] .meter-fill.orange,
291-
:root[data-theme='default'] .meter-fill.orange {
289+
:root:not([data-theme]) .meter-fill.tone-warning,
290+
:root[data-theme='default-dark'] .meter-fill.tone-warning,
291+
:root[data-theme='default'] .meter-fill.tone-warning {
292292
background: var(--memory-warn);
293293
}
294294

@@ -298,6 +298,12 @@
298298
background: var(--memory-warn);
299299
}
300300

301+
:root:not([data-theme]) .meter-fill.tone-danger,
302+
:root[data-theme='default-dark'] .meter-fill.tone-danger,
303+
:root[data-theme='default'] .meter-fill.tone-danger {
304+
background: var(--metric-status-red);
305+
}
306+
301307
:root:not([data-theme]) .meter-fill.app,
302308
:root[data-theme='default-dark'] .meter-fill.app,
303309
:root[data-theme='default'] .meter-fill.app {
@@ -1693,21 +1699,27 @@
16931699
background: #3a3a3a;
16941700
}
16951701

1696-
:root:not([data-theme]) .meter-fill.green,
1697-
:root[data-theme='default-dark'] .meter-fill.green,
1698-
:root[data-theme='default'] .meter-fill.green {
1702+
:root:not([data-theme]) .meter-fill.tone-success,
1703+
:root[data-theme='default-dark'] .meter-fill.tone-success,
1704+
:root[data-theme='default'] .meter-fill.tone-success {
16991705
background: #39d98a;
17001706
}
17011707

1702-
:root:not([data-theme]) .meter-fill.orange,
1703-
:root[data-theme='default-dark'] .meter-fill.orange,
1704-
:root[data-theme='default'] .meter-fill.orange,
1708+
:root:not([data-theme]) .meter-fill.tone-warning,
1709+
:root[data-theme='default-dark'] .meter-fill.tone-warning,
1710+
:root[data-theme='default'] .meter-fill.tone-warning,
17051711
:root:not([data-theme]) .meter-fill.yellow,
17061712
:root[data-theme='default-dark'] .meter-fill.yellow,
17071713
:root[data-theme='default'] .meter-fill.yellow {
17081714
background: var(--memory-warn);
17091715
}
17101716

1717+
:root:not([data-theme]) .meter-fill.tone-danger,
1718+
:root[data-theme='default-dark'] .meter-fill.tone-danger,
1719+
:root[data-theme='default'] .meter-fill.tone-danger {
1720+
background: var(--metric-status-red);
1721+
}
1722+
17111723
:root:not([data-theme]) .mini-tabs span,
17121724
:root[data-theme='default-dark'] .mini-tabs span,
17131725
:root[data-theme='default'] .mini-tabs span {

apps/desktop/src/renderer/styles/themes/default-light.css

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -315,15 +315,15 @@
315315
background: var(--metric-kernel);
316316
}
317317

318-
:root[data-theme='default-light'] .metric-dot.status-green {
318+
:root[data-theme='default-light'] .metric-dot.tone-success {
319319
background: var(--metric-status-green);
320320
}
321321

322-
:root[data-theme='default-light'] .metric-dot.status-yellow {
322+
:root[data-theme='default-light'] .metric-dot.tone-warning {
323323
background: var(--metric-status-yellow);
324324
}
325325

326-
:root[data-theme='default-light'] .metric-dot.status-red {
326+
:root[data-theme='default-light'] .metric-dot.tone-danger {
327327
background: var(--metric-status-red);
328328
}
329329

@@ -339,15 +339,19 @@
339339
background: var(--metric-kernel);
340340
}
341341

342-
:root[data-theme='default-light'] .meter-fill.green {
342+
:root[data-theme='default-light'] .meter-fill.tone-success {
343343
background: var(--success);
344344
}
345345

346346
:root[data-theme='default-light'] .meter-fill.yellow,
347-
:root[data-theme='default-light'] .meter-fill.orange {
347+
:root[data-theme='default-light'] .meter-fill.tone-warning {
348348
background: var(--warning);
349349
}
350350

351+
:root[data-theme='default-light'] .meter-fill.tone-danger {
352+
background: var(--metric-status-red);
353+
}
354+
351355
:root[data-theme='default-light'] .network-select {
352356
border-color: var(--border-light);
353357
background: #f7f8fa;

0 commit comments

Comments
 (0)