@owloops/claude-powerline 1.22.0 → 1.23.0
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.
- package/README.md +215 -189
- package/dist/index.mjs +1 -1
- package/package.json +2 -1
- package/plugin/.claude-plugin/plugin.json +11 -0
- package/plugin/bin/preview.sh +199 -0
- package/plugin/commands/powerline.md +322 -0
- package/plugin/templates/config-essential.json +36 -0
- package/plugin/templates/config-full.json +55 -0
- package/plugin/templates/config-standard.json +39 -0
- package/plugin/templates/config-tui.json +18 -0
- package/plugin/templates/nerd-fonts-sample.txt +5 -0
package/README.md
CHANGED
|
@@ -107,11 +107,24 @@ Lightweight and fast with no external dependencies to install.
|
|
|
107
107
|
|
|
108
108
|
## Installation
|
|
109
109
|
|
|
110
|
-
### Setup
|
|
111
|
-
|
|
112
110
|
Requires Node.js 18+, Claude Code, and Git 2.0+. For best display, install a [Nerd Font](https://www.nerdfonts.com/) or use `--charset=text` for ASCII-only symbols.
|
|
113
111
|
|
|
114
|
-
|
|
112
|
+
### Setup Wizard (Recommended)
|
|
113
|
+
|
|
114
|
+
The interactive wizard walks you through theme, style, font, segment, and budget selection.
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# run inside Claude Code (pick one install method)
|
|
118
|
+
/plugin marketplace add Owloops/claude-powerline # from GitHub
|
|
119
|
+
/plugin install @owloops/claude-powerline@claude-powerline # or from npm
|
|
120
|
+
/powerline
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The wizard writes `~/.claude/claude-powerline.json` and updates your `settings.json` automatically. Run `/powerline` again any time to reconfigure.
|
|
124
|
+
|
|
125
|
+
### Manual Setup
|
|
126
|
+
|
|
127
|
+
Add to your Claude Code `settings.json`:
|
|
115
128
|
|
|
116
129
|
```json
|
|
117
130
|
{
|
|
@@ -122,15 +135,42 @@ Requires Node.js 18+, Claude Code, and Git 2.0+. For best display, install a [Ne
|
|
|
122
135
|
}
|
|
123
136
|
```
|
|
124
137
|
|
|
125
|
-
|
|
138
|
+
Start a Claude session and the statusline appears at the bottom.
|
|
126
139
|
|
|
127
140
|

|
|
128
141
|
|
|
129
142
|
Using `npx` automatically downloads and runs the latest version without manual updates.
|
|
130
143
|
|
|
131
|
-
##
|
|
144
|
+
## Styles
|
|
145
|
+
|
|
146
|
+
<img src="images/claude-powerline-styles.png" alt="Claude Powerline Styles" width="600">
|
|
147
|
+
|
|
148
|
+
- **minimal** -- Segments separated by spaces, no decorations
|
|
149
|
+
- **powerline** -- Arrow-shaped separators between segments (best with Nerd Font)
|
|
150
|
+
- **capsule** -- Rounded pill-shaped segments (best with Nerd Font)
|
|
151
|
+
- **tui** -- Bordered panel with responsive multi-line layout. TUI mode is **opinionated**: it always displays all data regardless of segment configuration. Only theme, charset, and budget thresholds are respected.
|
|
152
|
+
|
|
153
|
+
<details>
|
|
154
|
+
<summary><h2>Configuration</h2></summary>
|
|
155
|
+
|
|
156
|
+
**Config locations** (in priority order):
|
|
157
|
+
|
|
158
|
+
- `./.claude-powerline.json` - Project-specific
|
|
159
|
+
- `~/.claude/claude-powerline.json` - User config
|
|
160
|
+
- `~/.config/claude-powerline/config.json` - XDG standard
|
|
161
|
+
|
|
162
|
+
**Override priority:** CLI flags > Environment variables > Config files > Defaults
|
|
163
|
+
|
|
164
|
+
Config files reload automatically, no restart needed.
|
|
165
|
+
|
|
166
|
+
**Get example config:**
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
curl -o ~/.claude/claude-powerline.json https://raw.githubusercontent.com/Owloops/claude-powerline/main/.claude-powerline.json
|
|
170
|
+
```
|
|
132
171
|
|
|
133
|
-
|
|
172
|
+
<details>
|
|
173
|
+
<summary><strong>CLI Options and Environment Variables</strong></summary>
|
|
134
174
|
|
|
135
175
|
**CLI Options** (both `--arg value` and `--arg=value` syntax supported):
|
|
136
176
|
|
|
@@ -157,49 +197,7 @@ export CLAUDE_POWERLINE_CONFIG=/path/to/config.json
|
|
|
157
197
|
export CLAUDE_POWERLINE_DEBUG=1 # Enable debug logging
|
|
158
198
|
```
|
|
159
199
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
<img src="images/claude-powerline-styles.png" alt="Claude Powerline Styles" width="600">
|
|
163
|
-
|
|
164
|
-
### TUI Panel Mode
|
|
165
|
-
|
|
166
|
-
The `tui` style renders a bordered panel with all available data in a responsive layout. Unlike other styles, TUI mode is **opinionated**: it always displays all data regardless of segment enable/disable configuration. Only theme, charset, and budget thresholds are respected.
|
|
167
|
-
|
|
168
|
-
```json
|
|
169
|
-
{
|
|
170
|
-
"statusLine": {
|
|
171
|
-
"type": "command",
|
|
172
|
-
"command": "npx -y @owloops/claude-powerline@latest --style=tui"
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
The panel adapts to terminal width across three breakpoints:
|
|
178
|
-
- **Wide** (80+ cols): metrics on one line, workspace and footer spread across columns
|
|
179
|
-
- **Medium** (55-79 cols): metrics split across two lines, stacked footer
|
|
180
|
-
- **Narrow** (<55 cols): fully stacked layout
|
|
181
|
-
|
|
182
|
-
> [!NOTE]
|
|
183
|
-
> Claude Code's internal progress indicators (spinner, context bar) may briefly overlap the TUI panel during tool calls. This is a limitation of the hook architecture and resolves once the tool call completes.
|
|
184
|
-
|
|
185
|
-
## Configuration
|
|
186
|
-
|
|
187
|
-
**Get example config:**
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
# Download full-featured example config
|
|
191
|
-
curl -o ~/.claude/claude-powerline.json https://raw.githubusercontent.com/Owloops/claude-powerline/main/.claude-powerline.json
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
**Config locations** (in priority order):
|
|
195
|
-
|
|
196
|
-
- `./.claude-powerline.json` - Project-specific
|
|
197
|
-
- `~/.claude/claude-powerline.json` - User config
|
|
198
|
-
- `~/.config/claude-powerline/config.json` - XDG standard
|
|
199
|
-
|
|
200
|
-
**Override priority:** CLI flags → Environment variables → Config files → Defaults
|
|
201
|
-
|
|
202
|
-
Config files reload automatically and no restart needed.
|
|
200
|
+
</details>
|
|
203
201
|
|
|
204
202
|
### Segment Configuration
|
|
205
203
|
|
|
@@ -252,52 +250,59 @@ Config files reload automatically and no restart needed.
|
|
|
252
250
|
|
|
253
251
|
**Symbols:**
|
|
254
252
|
|
|
255
|
-
- Unicode: `⎇` Branch
|
|
256
|
-
- Text: `~` Branch
|
|
253
|
+
- Unicode: `⎇` Branch • `♯` SHA • `⌂` Tag • `⧇` Stash • `✓` Clean • `●` Dirty • `⚠` Conflicts • `↑3` Ahead • `↓2` Behind • `(+1 ~2 ?3)` Staged/Unstaged/Untracked
|
|
254
|
+
- Text: `~` Branch • `#` SHA • `T` Tag • `S` Stash • `=` Clean • `*` Dirty • `!` Conflicts • `^3` Ahead • `v2` Behind • `(+1 ~2 ?3)` Staged/Unstaged/Untracked
|
|
257
255
|
|
|
258
256
|
</details>
|
|
259
257
|
|
|
260
258
|
<details>
|
|
261
|
-
<summary><strong>
|
|
259
|
+
<summary><strong>Model</strong> - Shows current Claude model being used</summary>
|
|
262
260
|
|
|
263
261
|
```json
|
|
264
|
-
"
|
|
262
|
+
"model": {
|
|
263
|
+
"enabled": true
|
|
264
|
+
}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**Symbols:** `✱` Model (unicode) • `M` Model (text)
|
|
268
|
+
|
|
269
|
+
</details>
|
|
270
|
+
|
|
271
|
+
<details>
|
|
272
|
+
<summary><strong>Session</strong> - Shows real-time usage for current Claude conversation</summary>
|
|
273
|
+
|
|
274
|
+
```json
|
|
275
|
+
"session": {
|
|
265
276
|
"enabled": true,
|
|
266
|
-
"
|
|
267
|
-
"
|
|
268
|
-
"showDuration": true,
|
|
269
|
-
"showMessageCount": true,
|
|
270
|
-
"showLinesAdded": true,
|
|
271
|
-
"showLinesRemoved": true
|
|
277
|
+
"type": "tokens",
|
|
278
|
+
"costSource": "calculated"
|
|
272
279
|
}
|
|
273
280
|
```
|
|
274
281
|
|
|
275
282
|
**Options:**
|
|
276
283
|
|
|
277
|
-
- `
|
|
278
|
-
- `
|
|
279
|
-
- `showDuration`: Total session duration
|
|
280
|
-
- `showMessageCount`: Number of user messages sent
|
|
281
|
-
- `showLinesAdded`: Lines of code added during session
|
|
282
|
-
- `showLinesRemoved`: Lines of code removed during session
|
|
283
|
-
|
|
284
|
-
**Symbols:**
|
|
284
|
+
- `type`: Display format - `cost` | `tokens` | `both` | `breakdown`
|
|
285
|
+
- `costSource`: Cost calculation method - `calculated` (ccusage-style) | `official` (hook data)
|
|
285
286
|
|
|
286
|
-
|
|
287
|
-
- Text: `R` Total API time • `L` Last response • `T` Session duration • `#` Messages • `+` Lines added • `-` Lines removed
|
|
287
|
+
**Symbols:** `§` Session (unicode) • `S` Session (text)
|
|
288
288
|
|
|
289
289
|
</details>
|
|
290
290
|
|
|
291
291
|
<details>
|
|
292
|
-
<summary><strong>
|
|
292
|
+
<summary><strong>Today</strong> - Shows total daily usage with budget monitoring</summary>
|
|
293
293
|
|
|
294
294
|
```json
|
|
295
|
-
"
|
|
296
|
-
"enabled": true
|
|
295
|
+
"today": {
|
|
296
|
+
"enabled": true,
|
|
297
|
+
"type": "cost"
|
|
297
298
|
}
|
|
298
299
|
```
|
|
299
300
|
|
|
300
|
-
**
|
|
301
|
+
**Options:**
|
|
302
|
+
|
|
303
|
+
- `type`: Display format - `cost` | `tokens` | `both` | `breakdown`
|
|
304
|
+
|
|
305
|
+
**Symbols:** `☉` Today (unicode) • `D` Today (text)
|
|
301
306
|
|
|
302
307
|
</details>
|
|
303
308
|
|
|
@@ -324,7 +329,7 @@ Config files reload automatically and no restart needed.
|
|
|
324
329
|
|
|
325
330
|
| Style | Filled | Empty | Example |
|
|
326
331
|
|-------|--------|-------|---------|
|
|
327
|
-
| `text` |
|
|
332
|
+
| `text` | -- | -- | `◔ 34,040 (79%)` |
|
|
328
333
|
| `ball` | ─ | ─ | `─────●──── 50%` |
|
|
329
334
|
| `bar` | ▓ | ░ | `▓▓▓▓▓░░░░░ 50%` |
|
|
330
335
|
| `blocks` | █ | ░ | `█████░░░░░ 50%` |
|
|
@@ -336,9 +341,9 @@ Config files reload automatically and no restart needed.
|
|
|
336
341
|
| `line` | ━ | ┄ | `━━━━━┄┄┄┄┄ 50%` |
|
|
337
342
|
| `squares` | ◼ | ◻ | `◼◼◼◼◼◻◻◻◻◻ 50%` |
|
|
338
343
|
|
|
339
|
-
**Symbols:** `◔` Context (unicode)
|
|
344
|
+
**Symbols:** `◔` Context (unicode) • `C` Context (text)
|
|
340
345
|
|
|
341
|
-
|
|
346
|
+
#### Model Context Limits
|
|
342
347
|
|
|
343
348
|
Configure context window limits for different model types. Defaults to 200K tokens for all models.
|
|
344
349
|
|
|
@@ -359,74 +364,6 @@ Configure context window limits for different model types. Defaults to 200K toke
|
|
|
359
364
|
|
|
360
365
|
</details>
|
|
361
366
|
|
|
362
|
-
<details>
|
|
363
|
-
<summary><strong>Tmux</strong> - Shows tmux session name and window info when in tmux</summary>
|
|
364
|
-
|
|
365
|
-
```json
|
|
366
|
-
"tmux": {
|
|
367
|
-
"enabled": true
|
|
368
|
-
}
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
**Display:** `tmux:session-name`
|
|
372
|
-
|
|
373
|
-
</details>
|
|
374
|
-
|
|
375
|
-
<details>
|
|
376
|
-
<summary><strong>Session ID</strong> - Shows the current Claude session identifier</summary>
|
|
377
|
-
|
|
378
|
-
```json
|
|
379
|
-
"sessionId": {
|
|
380
|
-
"enabled": false,
|
|
381
|
-
"showIdLabel": true
|
|
382
|
-
}
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
**Options:**
|
|
386
|
-
|
|
387
|
-
- `showIdLabel`: Show the `⌗` icon prefix before the session ID (default: `true`)
|
|
388
|
-
|
|
389
|
-
**Display:** `⌗ a1b2c3d4-...`
|
|
390
|
-
|
|
391
|
-
**Symbols:** `⌗` Session ID (unicode) • `#` Session ID (text)
|
|
392
|
-
|
|
393
|
-
</details>
|
|
394
|
-
|
|
395
|
-
<details>
|
|
396
|
-
<summary><strong>Version</strong> - Shows Claude Code version</summary>
|
|
397
|
-
|
|
398
|
-
```json
|
|
399
|
-
"version": {
|
|
400
|
-
"enabled": true
|
|
401
|
-
}
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
**Display:** `v1.0.81`
|
|
405
|
-
|
|
406
|
-
**Symbols:** `◈` Version (unicode) • `V` Version (text)
|
|
407
|
-
|
|
408
|
-
</details>
|
|
409
|
-
|
|
410
|
-
<details>
|
|
411
|
-
<summary><strong>Session</strong> - Shows real-time usage for current Claude conversation</summary>
|
|
412
|
-
|
|
413
|
-
```json
|
|
414
|
-
"session": {
|
|
415
|
-
"enabled": true,
|
|
416
|
-
"type": "tokens",
|
|
417
|
-
"costSource": "calculated"
|
|
418
|
-
}
|
|
419
|
-
```
|
|
420
|
-
|
|
421
|
-
**Options:**
|
|
422
|
-
|
|
423
|
-
- `type`: Display format - `cost` | `tokens` | `both` | `breakdown`
|
|
424
|
-
- `costSource`: Cost calculation method - `calculated` (ccusage-style) | `official` (hook data)
|
|
425
|
-
|
|
426
|
-
**Symbols:** `§` Session (unicode) • `S` Session (text)
|
|
427
|
-
|
|
428
|
-
</details>
|
|
429
|
-
|
|
430
367
|
<details>
|
|
431
368
|
<summary><strong>Block</strong> - Shows usage within current 5-hour billing window (Claude's rate limit period)</summary>
|
|
432
369
|
|
|
@@ -465,7 +402,7 @@ Configure context window limits for different model types. Defaults to 200K toke
|
|
|
465
402
|
|
|
466
403
|
**Weighted Tokens:** In transcript mode, Opus tokens count 5x toward rate limits compared to Sonnet/Haiku tokens
|
|
467
404
|
|
|
468
|
-
**Symbols:** `◱` Block (unicode)
|
|
405
|
+
**Symbols:** `◱` Block (unicode) • `B` Block (text)
|
|
469
406
|
|
|
470
407
|
</details>
|
|
471
408
|
|
|
@@ -485,25 +422,86 @@ Configure context window limits for different model types. Defaults to 200K toke
|
|
|
485
422
|
|
|
486
423
|
Only visible when Claude Code provides native `rate_limits.seven_day` data (Claude.ai Pro/Max subscribers). Hidden when the data is not available.
|
|
487
424
|
|
|
488
|
-
**Symbols:** `◑` Weekly (unicode)
|
|
425
|
+
**Symbols:** `◑` Weekly (unicode) • `W` Weekly (text)
|
|
489
426
|
|
|
490
427
|
</details>
|
|
491
428
|
|
|
492
429
|
<details>
|
|
493
|
-
<summary><strong>
|
|
430
|
+
<summary><strong>Metrics</strong> - Shows performance analytics from your Claude sessions</summary>
|
|
494
431
|
|
|
495
432
|
```json
|
|
496
|
-
"
|
|
433
|
+
"metrics": {
|
|
497
434
|
"enabled": true,
|
|
498
|
-
"
|
|
435
|
+
"showResponseTime": true,
|
|
436
|
+
"showLastResponseTime": false,
|
|
437
|
+
"showDuration": true,
|
|
438
|
+
"showMessageCount": true,
|
|
439
|
+
"showLinesAdded": true,
|
|
440
|
+
"showLinesRemoved": true
|
|
499
441
|
}
|
|
500
442
|
```
|
|
501
443
|
|
|
502
444
|
**Options:**
|
|
503
445
|
|
|
504
|
-
- `
|
|
446
|
+
- `showResponseTime`: Total API duration across all requests
|
|
447
|
+
- `showLastResponseTime`: Individual response time for most recent query
|
|
448
|
+
- `showDuration`: Total session duration
|
|
449
|
+
- `showMessageCount`: Number of user messages sent
|
|
450
|
+
- `showLinesAdded`: Lines of code added during session
|
|
451
|
+
- `showLinesRemoved`: Lines of code removed during session
|
|
452
|
+
|
|
453
|
+
**Symbols:**
|
|
454
|
+
|
|
455
|
+
- Unicode: `⧖` Total API time • `Δ` Last response • `⧗` Session duration • `⟐` Messages • `+` Lines added • `-` Lines removed
|
|
456
|
+
- Text: `R` Total API time • `L` Last response • `T` Session duration • `#` Messages • `+` Lines added • `-` Lines removed
|
|
457
|
+
|
|
458
|
+
</details>
|
|
459
|
+
|
|
460
|
+
<details>
|
|
461
|
+
<summary><strong>Version</strong> - Shows Claude Code version</summary>
|
|
462
|
+
|
|
463
|
+
```json
|
|
464
|
+
"version": {
|
|
465
|
+
"enabled": true
|
|
466
|
+
}
|
|
467
|
+
```
|
|
505
468
|
|
|
506
|
-
**
|
|
469
|
+
**Display:** `v1.0.81`
|
|
470
|
+
|
|
471
|
+
**Symbols:** `◈` Version (unicode) • `V` Version (text)
|
|
472
|
+
|
|
473
|
+
</details>
|
|
474
|
+
|
|
475
|
+
<details>
|
|
476
|
+
<summary><strong>Tmux</strong> - Shows tmux session name and window info when in tmux</summary>
|
|
477
|
+
|
|
478
|
+
```json
|
|
479
|
+
"tmux": {
|
|
480
|
+
"enabled": true
|
|
481
|
+
}
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
**Display:** `tmux:session-name`
|
|
485
|
+
|
|
486
|
+
</details>
|
|
487
|
+
|
|
488
|
+
<details>
|
|
489
|
+
<summary><strong>Session ID</strong> - Shows the current Claude session identifier</summary>
|
|
490
|
+
|
|
491
|
+
```json
|
|
492
|
+
"sessionId": {
|
|
493
|
+
"enabled": false,
|
|
494
|
+
"showIdLabel": true
|
|
495
|
+
}
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
**Options:**
|
|
499
|
+
|
|
500
|
+
- `showIdLabel`: Show the `⌗` icon prefix before the session ID (default: `true`)
|
|
501
|
+
|
|
502
|
+
**Display:** `⌗ a1b2c3d4-...`
|
|
503
|
+
|
|
504
|
+
**Symbols:** `⌗` Session ID (unicode) • `#` Session ID (text)
|
|
507
505
|
|
|
508
506
|
</details>
|
|
509
507
|
|
|
@@ -525,11 +523,14 @@ Only visible when Claude Code provides native `rate_limits.seven_day` data (Clau
|
|
|
525
523
|
|
|
526
524
|
Hidden when the variable is unset or empty.
|
|
527
525
|
|
|
528
|
-
**Symbols:** `⚙` Env (unicode)
|
|
526
|
+
**Symbols:** `⚙` Env (unicode) • `$` Env (text)
|
|
529
527
|
|
|
530
528
|
</details>
|
|
531
529
|
|
|
532
|
-
###
|
|
530
|
+
### Advanced Configuration
|
|
531
|
+
|
|
532
|
+
<details>
|
|
533
|
+
<summary><strong>Budget Configuration</strong></summary>
|
|
533
534
|
|
|
534
535
|
```json
|
|
535
536
|
"budget": {
|
|
@@ -545,12 +546,15 @@ Hidden when the variable is unset or empty.
|
|
|
545
546
|
- `type`: Budget type - `cost` (USD) | `tokens` (for token-based limits)
|
|
546
547
|
- `warningThreshold`: Warning threshold percentage (default: 80)
|
|
547
548
|
|
|
548
|
-
**Indicators:** `25%` Normal
|
|
549
|
+
**Indicators:** `25%` Normal • `+75%` Moderate (50-79%) • `!85%` Warning (80%+)
|
|
549
550
|
|
|
550
551
|
> [!TIP]
|
|
551
552
|
> Claude's rate limits consider multiple factors beyond tokens (message count, length, attachments, model). See [Anthropic's usage documentation](https://support.anthropic.com/en/articles/11014257-about-claude-s-max-plan-usage) for details.
|
|
552
553
|
|
|
553
|
-
|
|
554
|
+
</details>
|
|
555
|
+
|
|
556
|
+
<details>
|
|
557
|
+
<summary><strong>Character Sets</strong></summary>
|
|
554
558
|
|
|
555
559
|
Choose between Unicode symbols (requires Nerd Font) or ASCII text mode for maximum compatibility.
|
|
556
560
|
|
|
@@ -564,27 +568,22 @@ Choose between Unicode symbols (requires Nerd Font) or ASCII text mode for maxim
|
|
|
564
568
|
|
|
565
569
|
**Options:**
|
|
566
570
|
|
|
567
|
-
- `unicode` (default) - Uses Nerd Font icons and symbols
|
|
568
|
-
- `text` - ASCII-only characters
|
|
569
|
-
|
|
570
|
-
**Combinations with styles:**
|
|
571
|
+
- `unicode` (default) - Uses Nerd Font icons and symbols
|
|
572
|
+
- `text` - ASCII-only characters for terminals without Nerd Font
|
|
571
573
|
|
|
572
574
|
The charset setting works independently from separator styles, giving you 8 possible combinations:
|
|
575
|
+
|
|
573
576
|
- `minimal` + `unicode` / `text` - No separators
|
|
574
577
|
- `powerline` + `unicode` / `text` - Arrow separators (requires Nerd Font for unicode)
|
|
575
578
|
- `capsule` + `unicode` / `text` - Rounded caps (requires Nerd Font for unicode)
|
|
576
579
|
- `tui` + `unicode` / `text` - Bordered panel with rounded or ASCII box characters
|
|
577
580
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
```bash
|
|
581
|
-
claude-powerline --charset=text --style=minimal
|
|
582
|
-
claude-powerline --charset=unicode --style=powerline
|
|
583
|
-
```
|
|
581
|
+
</details>
|
|
584
582
|
|
|
585
|
-
|
|
583
|
+
<details>
|
|
584
|
+
<summary><strong>Layout: Auto-Wrap, Multi-line, and Padding</strong></summary>
|
|
586
585
|
|
|
587
|
-
|
|
586
|
+
**Auto-Wrap** (enabled by default):
|
|
588
587
|
|
|
589
588
|
```json
|
|
590
589
|
{
|
|
@@ -594,11 +593,9 @@ Automatically wrap segments to new lines based on terminal width.
|
|
|
594
593
|
}
|
|
595
594
|
```
|
|
596
595
|
|
|
597
|
-
Segments flow naturally and wrap to new lines when they exceed the terminal width.
|
|
596
|
+
Segments flow naturally and wrap to new lines when they exceed the terminal width.
|
|
598
597
|
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
Alternatively, manually organize segments across multiple lines.
|
|
598
|
+
**Multi-line Layout** for manual control:
|
|
602
599
|
|
|
603
600
|
```json
|
|
604
601
|
{
|
|
@@ -623,12 +620,7 @@ Alternatively, manually organize segments across multiple lines.
|
|
|
623
620
|
}
|
|
624
621
|
```
|
|
625
622
|
|
|
626
|
-
|
|
627
|
-
> Claude Code system messages may truncate long status lines. Use `autoWrap` or manual multi-line layouts to prevent segment cutoff.
|
|
628
|
-
|
|
629
|
-
### Padding
|
|
630
|
-
|
|
631
|
-
Control the spacing inside each segment.
|
|
623
|
+
**Padding** - number of spaces on each side of segment text:
|
|
632
624
|
|
|
633
625
|
```json
|
|
634
626
|
{
|
|
@@ -638,9 +630,15 @@ Control the spacing inside each segment.
|
|
|
638
630
|
}
|
|
639
631
|
```
|
|
640
632
|
|
|
641
|
-
|
|
633
|
+
Set to `0` for compact, `1` (default) for standard spacing.
|
|
642
634
|
|
|
643
|
-
|
|
635
|
+
> [!NOTE]
|
|
636
|
+
> Claude Code system messages may truncate long status lines. Use `autoWrap` or manual multi-line layouts to prevent segment cutoff.
|
|
637
|
+
|
|
638
|
+
</details>
|
|
639
|
+
|
|
640
|
+
<details>
|
|
641
|
+
<summary><strong>Colors and Custom Themes</strong></summary>
|
|
644
642
|
|
|
645
643
|
Create custom themes and configure color compatibility:
|
|
646
644
|
|
|
@@ -660,7 +658,7 @@ Create custom themes and configure color compatibility:
|
|
|
660
658
|
}
|
|
661
659
|
```
|
|
662
660
|
|
|
663
|
-
**Color Options:** `bg` (hex, `transparent`, `none`)
|
|
661
|
+
**Color Options:** `bg` (hex, `transparent`, `none`) • `fg` (hex)
|
|
664
662
|
|
|
665
663
|
**Compatibility Modes:** `auto` (default), `ansi`, `ansi256`, `truecolor`
|
|
666
664
|
|
|
@@ -677,16 +675,39 @@ Create custom themes and configure color compatibility:
|
|
|
677
675
|
|
|
678
676
|
**Priority:** `FORCE_COLOR` overrides `NO_COLOR` (allowing color to be forced on even when NO_COLOR is set)
|
|
679
677
|
|
|
680
|
-
|
|
678
|
+
</details>
|
|
679
|
+
|
|
680
|
+
<details>
|
|
681
|
+
<summary><strong>TUI Panel Mode</strong></summary>
|
|
682
|
+
|
|
683
|
+
```json
|
|
684
|
+
{
|
|
685
|
+
"statusLine": {
|
|
686
|
+
"type": "command",
|
|
687
|
+
"command": "npx -y @owloops/claude-powerline@latest --style=tui"
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
The panel adapts to terminal width across three breakpoints:
|
|
693
|
+
|
|
694
|
+
- **Wide** (80+ cols): metrics on one line, workspace and footer spread across columns
|
|
695
|
+
- **Medium** (55-79 cols): metrics split across two lines, stacked footer
|
|
696
|
+
- **Narrow** (<55 cols): fully stacked layout
|
|
697
|
+
|
|
698
|
+
> [!NOTE]
|
|
699
|
+
> Claude Code's internal progress indicators (spinner, context bar) may briefly overlap the TUI panel during tool calls. This is a limitation of the hook architecture and resolves once the tool call completes.
|
|
700
|
+
|
|
701
|
+
</details>
|
|
702
|
+
|
|
703
|
+
<details>
|
|
704
|
+
<summary><strong>Performance</strong></summary>
|
|
681
705
|
|
|
682
706
|
Execution times for different configurations:
|
|
683
707
|
|
|
684
708
|
- **~80ms** default config (`directory`, `git`, `model`, `session`, `today`, `context`)
|
|
685
709
|
- **~240ms** full-featured (all segments enabled)
|
|
686
710
|
|
|
687
|
-
<details>
|
|
688
|
-
<summary><strong>Detailed Segment Timings</strong></summary>
|
|
689
|
-
|
|
690
711
|
| Segment | Timing | Notes |
|
|
691
712
|
| ----------- | ------ | ------------------------------------------ |
|
|
692
713
|
| `directory` | ~40ms | No external commands |
|
|
@@ -702,15 +723,16 @@ Execution times for different configurations:
|
|
|
702
723
|
|
|
703
724
|
**Benchmark:** `npm run benchmark:timing`
|
|
704
725
|
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
### Optimization Tips
|
|
726
|
+
**Optimization Tips:**
|
|
708
727
|
|
|
709
728
|
- **Global install:** `npm install -g` to avoid npx overhead
|
|
710
729
|
- **Disable unused segments** for faster execution
|
|
711
730
|
- **Cache cleanup:** Remove `~/.claude/powerline/` if needed
|
|
712
731
|
|
|
713
|
-
|
|
732
|
+
</details>
|
|
733
|
+
|
|
734
|
+
<details>
|
|
735
|
+
<summary><strong>Custom Segments (Shell Composition)</strong></summary>
|
|
714
736
|
|
|
715
737
|
Extend the statusline using shell composition:
|
|
716
738
|
|
|
@@ -724,9 +746,13 @@ Extend the statusline using shell composition:
|
|
|
724
746
|
}
|
|
725
747
|
```
|
|
726
748
|
|
|
727
|
-
> [!NOTE]
|
|
749
|
+
> [!NOTE]
|
|
728
750
|
> Use `tput` for colors: `setab <bg>` (background), `setaf <fg>` (foreground), `sgr0` (reset). Example: `echo "$(tput setab 4)$(tput setaf 15) text $(tput sgr0)"`. For complex logic, create a shell script with multiple commands, conditions, and variables.
|
|
729
751
|
|
|
752
|
+
</details>
|
|
753
|
+
|
|
754
|
+
</details>
|
|
755
|
+
|
|
730
756
|
## Contributing
|
|
731
757
|
|
|
732
758
|
Contributions are welcome! Please feel free to submit issues or pull requests.
|