Compare commits

...

2 Commits

Author SHA1 Message Date
39beb2cec4 feat(sway): update from vesktop to discord 2026-04-21 23:42:51 +02:00
36e0309bc9 feat(claude): add statusline 2026-04-17 09:46:17 +02:00
5 changed files with 61 additions and 4 deletions

1
.gitignore vendored
View File

@@ -122,3 +122,4 @@ mako/*
claude/* claude/*
!claude/CLAUDE.md !claude/CLAUDE.md
!claude/settings.json !claude/settings.json
!claude/statusline-command.sh

View File

@@ -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": {}
} }

View 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"

View File

@@ -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

View File

@@ -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