Skip to content

Commit 413d01a

Browse files
committed
Initial release: Claude Status Bar for Windows v0.1.0
A taskbar widget that shows Claude Code's live status, driven by Claude Code hooks. Animated icon (Claude Spark, Claude Code, Crab Walking), rotating activity words, elapsed timer, awaiting-permission state, completion sound, multi-monitor support, and a one-click installer.
0 parents  commit 413d01a

33 files changed

Lines changed: 2151 additions & 0 deletions
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Bug report
2+
description: Report something that isn't working
3+
labels: ["bug"]
4+
body:
5+
- type: textarea
6+
id: what-happened
7+
attributes:
8+
label: What happened?
9+
description: What did you expect, and what happened instead?
10+
validations:
11+
required: true
12+
- type: textarea
13+
id: steps
14+
attributes:
15+
label: Steps to reproduce
16+
placeholder: |
17+
1. ...
18+
2. ...
19+
3. ...
20+
validations:
21+
required: true
22+
- type: input
23+
id: windows-version
24+
attributes:
25+
label: Windows version
26+
placeholder: "Windows 11 23H2"
27+
validations:
28+
required: true
29+
- type: dropdown
30+
id: monitors
31+
attributes:
32+
label: Monitor setup
33+
options:
34+
- Single monitor
35+
- Multiple monitors
36+
validations:
37+
required: true
38+
- type: input
39+
id: app-version
40+
attributes:
41+
label: App version
42+
description: Shown at the bottom of the widget's menu.
43+
placeholder: "0.1.0"
44+
- type: textarea
45+
id: logs
46+
attributes:
47+
label: Debug log
48+
description: >
49+
Optional. Set CLAUDE_STATUSBAR_DEBUG=1, reproduce the issue, and paste the relevant lines
50+
from ~/.claude/statusbar/hooks.log.
51+
render: text
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Feature request
2+
description: Suggest an idea or improvement
3+
labels: ["enhancement"]
4+
body:
5+
- type: textarea
6+
id: problem
7+
attributes:
8+
label: Problem
9+
description: What are you trying to do that's currently awkward or impossible?
10+
validations:
11+
required: true
12+
- type: textarea
13+
id: proposal
14+
attributes:
15+
label: Proposed solution
16+
description: What would you like to see happen?
17+
validations:
18+
required: true
19+
- type: textarea
20+
id: alternatives
21+
attributes:
22+
label: Alternatives considered

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## Summary
2+
3+
<!-- What does this change and why? -->
4+
5+
## Testing
6+
7+
<!-- How did you verify it? e.g. built Release with no warnings, ran a Claude Code session,
8+
checked single/multi-monitor. -->
9+
10+
## Checklist
11+
12+
- [ ] Builds cleanly (`dotnet build src/ClaudeStatusBar.csproj -c Release`, no warnings)
13+
- [ ] Tested with a live Claude Code session
14+
- [ ] Comments describe behavior, not history

.github/SECURITY.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Security Policy
2+
3+
## Reporting a vulnerability
4+
5+
Please report security issues privately using GitHub's
6+
[private vulnerability reporting](https://github.com/BankkRoll/claude-status-bar/security/advisories/new)
7+
rather than opening a public issue.
8+
9+
Include a description, steps to reproduce, and the affected version. You can expect an initial
10+
response within a few days.
11+
12+
## Scope
13+
14+
This is a local desktop utility. Its only privileged actions are writing the Claude Code hook
15+
entries in `~/.claude/settings.json` and launching its own bundled executable. It makes no network
16+
requests.

.github/workflows/ci.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
build:
14+
runs-on: windows-latest
15+
steps:
16+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
17+
18+
- uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0
19+
with:
20+
dotnet-version: "9.0.x"
21+
22+
- name: Build
23+
run: dotnet build src/ClaudeStatusBar.csproj -c Release --warnaserror

.github/workflows/release.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags: ["v*"]
6+
7+
permissions:
8+
contents: write
9+
10+
jobs:
11+
release:
12+
runs-on: windows-latest
13+
steps:
14+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
15+
16+
- uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0
17+
with:
18+
dotnet-version: "9.0.x"
19+
20+
- name: Build self-contained release zip
21+
run: .\build.ps1 -SelfContained -Zip
22+
23+
- name: Publish release
24+
uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1
25+
with:
26+
files: dist/ClaudeStatusBar-win-x64.zip
27+
generate_release_notes: true

.gitignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# .NET build output
2+
bin/
3+
obj/
4+
dist/
5+
publish/
6+
*.user
7+
8+
# IDE / editor
9+
.vs/
10+
.vscode/
11+
*.suo
12+
13+
# OS
14+
Thumbs.db
15+
desktop.ini
16+
.DS_Store
17+
18+
# Logs
19+
*.log

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented here. The format is based on
4+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
5+
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
7+
## [0.1.0] - 2026-06-25
8+
9+
Initial release. A Windows port of the macOS
10+
[claude-status-bar](https://github.com/m1ckc3s/claude-status-bar).
11+
12+
### Added
13+
14+
- Taskbar overlay that shows Claude Code's live status, docked before the notification tray.
15+
- Status states driven by Claude Code hooks: thinking, running a tool, awaiting permission,
16+
done, and idle.
17+
- Animated Claude icon with three styles: Claude Spark, Claude Code, and Crab Walking.
18+
- Rotating activity words while thinking, with a live elapsed-time readout.
19+
- Tool labels for common tools (Reading, Editing, Running command, Searching, and more).
20+
- Right-click menu: toggle the timer, toggle a completion sound, choose the animation style,
21+
and select which monitors display the widget.
22+
- Multi-monitor support, with one overlay per selected display (primary by default).
23+
- Completion chime played when a turn finishes.
24+
- One-click `setup.bat` / `uninstall.bat`, plus `build.ps1` for building and packaging.
25+
- Self-contained release build that bundles the .NET runtime.
26+
27+
[0.1.0]: https://github.com/BankkRoll/claude-status-bar/releases/tag/v0.1.0

CODE_OF_CONDUCT.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Code of Conduct
2+
3+
## Our pledge
4+
5+
We pledge to make participation in this project a harassment-free experience for everyone,
6+
regardless of background or identity.
7+
8+
## Standards
9+
10+
Examples of behavior that contributes to a positive environment:
11+
12+
- Being respectful of differing viewpoints and experiences
13+
- Giving and gracefully accepting constructive feedback
14+
- Focusing on what is best for the project and community
15+
16+
Unacceptable behavior includes harassment, personal attacks, and other conduct that would
17+
reasonably be considered inappropriate.
18+
19+
## Enforcement
20+
21+
Instances of abusive or otherwise unacceptable behavior may be reported to the maintainers via a
22+
private GitHub message or security advisory. Maintainers will review and respond as appropriate,
23+
and may remove contributions or contributors that violate this code.
24+
25+
## Attribution
26+
27+
Adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.

CONTRIBUTING.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Contributing
2+
3+
Thanks for your interest in improving Claude Status Bar for Windows.
4+
5+
## Project layout
6+
7+
```
8+
src/ WPF application (C#, .NET 9)
9+
hooks/ Claude Code hook scripts (Node.js) and the installer
10+
assets/ Bundled resources (completion sound)
11+
build.ps1 Build and packaging script
12+
```
13+
14+
## Development setup
15+
16+
Requirements:
17+
18+
- [.NET 9 SDK](https://dotnet.microsoft.com/download/dotnet/9.0)
19+
- [Node.js](https://nodejs.org)
20+
- Windows 10 or 11
21+
22+
Build and run:
23+
24+
```powershell
25+
.\build.ps1 -Install # build and register the hooks against the local build
26+
```
27+
28+
Then start a Claude Code session to exercise the widget. To debug the hooks, set
29+
`CLAUDE_STATUSBAR_DEBUG=1` and inspect `~/.claude/statusbar/hooks.log`.
30+
31+
## How it fits together
32+
33+
The hooks write `~/.claude/statusbar/state.json`; the app polls that file and renders the
34+
overlay. The two sides share the `state.json` contract documented in the README — keep them in
35+
sync when changing it.
36+
37+
## Pull requests
38+
39+
- Keep changes focused; one concern per PR.
40+
- Match the existing code style. Comments describe behavior, not history.
41+
- Verify a clean build (`dotnet build src/ClaudeStatusBar.csproj -c Release`) with no warnings.
42+
- Describe what you changed and how you tested it.
43+
44+
## Reporting bugs
45+
46+
Open an issue using the bug template and include your Windows version, whether you run a single
47+
or multi-monitor setup, and the relevant lines from `hooks.log` when debugging is enabled.

0 commit comments

Comments
 (0)