Skip to content

feat: Linux .deb packaging with GTK tray (Ubuntu/Debian)#992

Closed
TowsifAhamed wants to merge 2 commits into
steipete:mainfrom
TowsifAhamed:feat/ubuntu-deb-packaging
Closed

feat: Linux .deb packaging with GTK tray (Ubuntu/Debian)#992
TowsifAhamed wants to merge 2 commits into
steipete:mainfrom
TowsifAhamed:feat/ubuntu-deb-packaging

Conversation

@TowsifAhamed

Copy link
Copy Markdown

Summary

  • Adds .deb package for Ubuntu/Debian (x86_64 + arm64) built by Scripts/package_deb.sh
  • Adds bin/codexbar-tray: Python GTK3 system tray daemon showing Claude, Codex, Cursor
  • Adds bin/codexbar-linux-fetcher: sidecar for token-based providers on Linux
    • Codex auto-authenticates via ~/.codex/auth.json (written by codex login)
    • Claude auto-authenticates via claude CLI session
    • Cursor needs WorkosCursorSessionToken in ~/.codexbar/config.json (Chrome 127+ app-bound encryption blocks automatic access)
  • Adds CLIWebUI.swift with embedded HTML dashboard served at /
  • Adds GitHub Actions workflow to build and publish .deb on release
Screenshot from 2026-05-16 23-07-49 Screenshot from 2026-05-16 23-07-41

…Claude

- Add Scripts/package_deb.sh to build a .deb for x86_64/arm64
- Add bin/codexbar-tray: Python GTK3+WebKit2 system tray daemon for Linux
  - Shows only Claude, Codex, Cursor tabs
  - Serves dashboard at localhost:8081
  - Fetches Claude from Swift serve (port 8080); Codex/Cursor via sidecar
- Add bin/codexbar-linux-fetcher: Python sidecar for cookie/token-based providers
  - Codex: auto-reads access_token from ~/.codex/auth.json (codex login)
  - Cursor: reads WorkosCursorSessionToken from ~/.codexbar/config.json
  - Handles Chrome 127+ app-bound encryption limitation with clear error messages
- Add Sources/CodexBarCLI/CLIWebUI.swift: embedded HTML dashboard served at /
- Update CLIServeCommand.swift: add / and /index.html routes serving CLIWebUI
- Add .github/workflows/release-deb.yml: CI workflow to build and publish .deb
- Update README with Linux .deb install instructions

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8fe3071921

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread .github/workflows/release-deb.yml
Comment thread bin/codexbar-linux-fetcher Outdated
- Change matrix asset-arch from x86_64 to x86-64 to match ELF file
  output on Ubuntu, unblocking the linux-x64 CI job
- Replace falsy or-chain with _first_not_none helper so apiPercentUsed
  and autoPercentUsed of 0 are preserved instead of dropped
@steipete

Copy link
Copy Markdown
Owner

Thanks for the substantial Linux work. I am closing this PR because the current branch is not a safe or focused extension of CodexBar's Linux CLI surface.

It combines several independently large products and maintenance commitments:

  • a Python/GTK tray application
  • a separate provider-auth/fetch sidecar
  • an embedded web dashboard
  • Debian packaging for two architectures
  • release workflow changes

At 3,283 added lines, this would create a parallel desktop application and authentication path beside the Swift macOS app and Swift CLI. It also needs independent security review, packaging ownership, provider parity, and long-term GTK/Python support.

Useful pieces can still return as focused proposals, especially Linux CLI fixes or packaging for the existing Swift CLI. A new tray application should first establish an explicit cross-platform product direction and architecture rather than landing as one repository-wide feature branch. Thank you for exploring the space.

@steipete steipete closed this Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants