Compare commits
2 Commits
09609d6473
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
39beb2cec4
|
|||
|
36e0309bc9
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -122,3 +122,4 @@ mako/*
|
|||||||
claude/*
|
claude/*
|
||||||
!claude/CLAUDE.md
|
!claude/CLAUDE.md
|
||||||
!claude/settings.json
|
!claude/settings.json
|
||||||
|
!claude/statusline-command.sh
|
||||||
|
|||||||
@@ -7,8 +7,12 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"hooks": {},
|
"hooks": {},
|
||||||
"voiceEnabled": true,
|
"statusLine": {
|
||||||
|
"type": "command",
|
||||||
|
"command": "sh \"${CLAUDE_CONFIG_DIR:-$HOME/.claude}/statusline-command.sh\""
|
||||||
|
},
|
||||||
|
"effortLevel": "xhigh",
|
||||||
"skipDangerousModePermissionPrompt": true,
|
"skipDangerousModePermissionPrompt": true,
|
||||||
"effortLevel": "high",
|
"voiceEnabled": true,
|
||||||
"mcpServers": {}
|
"mcpServers": {}
|
||||||
}
|
}
|
||||||
|
|||||||
52
claude/statusline-command.sh
Normal file
52
claude/statusline-command.sh
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
input=$(cat)
|
||||||
|
|
||||||
|
model=$(echo "$input" | jq -r '.model.display_name // empty')
|
||||||
|
total_in=$(echo "$input" | jq -r '.context_window.total_input_tokens // 0')
|
||||||
|
total_out=$(echo "$input" | jq -r '.context_window.total_output_tokens // 0')
|
||||||
|
ctx=$(echo "$input" | jq -r '.context_window.used_percentage // empty')
|
||||||
|
five_hr=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
|
||||||
|
five_hr_reset=$(echo "$input" | jq -r '.rate_limits.five_hour.resets_at // empty')
|
||||||
|
seven_day=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')
|
||||||
|
seven_day_reset=$(echo "$input" | jq -r '.rate_limits.seven_day.resets_at // empty')
|
||||||
|
|
||||||
|
# format seconds until reset as human-readable
|
||||||
|
fmt_remaining() {
|
||||||
|
now=$(date +%s)
|
||||||
|
diff=$(( $1 - now ))
|
||||||
|
[ "$diff" -le 0 ] && return
|
||||||
|
h=$(( diff / 3600 ))
|
||||||
|
m=$(( (diff % 3600) / 60 ))
|
||||||
|
if [ "$h" -gt 0 ]; then
|
||||||
|
printf '%dh%dm' "$h" "$m"
|
||||||
|
else
|
||||||
|
printf '%dm' "$m"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
parts=""
|
||||||
|
|
||||||
|
[ -n "$model" ] && parts="$model"
|
||||||
|
|
||||||
|
if [ -n "$total_in" ] && [ "$total_in" != "0" ]; then
|
||||||
|
total=$((total_in + total_out))
|
||||||
|
parts="${parts:+$parts | }tokens:${total}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$ctx" ]; then
|
||||||
|
parts="${parts:+$parts | }ctx:$(printf '%.0f' "$ctx")%"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$five_hr" ]; then
|
||||||
|
five_hr_ttl=""
|
||||||
|
[ -n "$five_hr_reset" ] && five_hr_ttl=$(fmt_remaining "$five_hr_reset")
|
||||||
|
parts="${parts:+$parts | }5h:$(printf '%.0f' "$five_hr")%${five_hr_ttl:+($five_hr_ttl)}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$seven_day" ]; then
|
||||||
|
seven_day_ttl=""
|
||||||
|
[ -n "$seven_day_reset" ] && seven_day_ttl=$(fmt_remaining "$seven_day_reset")
|
||||||
|
parts="${parts:+$parts | }7d:$(printf '%.0f' "$seven_day")%${seven_day_ttl:+($seven_day_ttl)}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -n "$parts" ] && printf '%s' "$parts"
|
||||||
@@ -10,7 +10,7 @@ assign [app_id="thunderbird"] workspace 3
|
|||||||
assign [app_id="Cider"] workspace 4
|
assign [app_id="Cider"] workspace 4
|
||||||
assign [app_id=".*BoltLauncher.*"] workspace 5
|
assign [app_id=".*BoltLauncher.*"] workspace 5
|
||||||
assign [class="net-runelite.*"] workspace 5
|
assign [class="net-runelite.*"] workspace 5
|
||||||
assign [app_id="vesktop"] workspace 8
|
assign [app_id="discord"] workspace 8
|
||||||
assign [app_id="Slack"] workspace 8
|
assign [app_id="Slack"] workspace 8
|
||||||
assign [app_id="org.telegram.desktop"] workspace 8
|
assign [app_id="org.telegram.desktop"] workspace 8
|
||||||
assign [app_id="Rocket.Chat"] workspace 8
|
assign [app_id="Rocket.Chat"] workspace 8
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ exec $browser
|
|||||||
exec thunderbird
|
exec thunderbird
|
||||||
exec cider-2
|
exec cider-2
|
||||||
exec bolt-launcher
|
exec bolt-launcher
|
||||||
exec vesktop
|
exec discord
|
||||||
exec slack
|
exec slack
|
||||||
exec Telegram
|
exec Telegram
|
||||||
exec rocketchat-desktop
|
exec rocketchat-desktop
|
||||||
|
|||||||
Reference in New Issue
Block a user