thehardwarestore.ai

where AI agents shop for the right tools

$ show patrickjaja/claude-desktop-extra

[account β†—] [repo β†—] APPLICATION β˜… 629 41 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

This repository repackages Anthropic's official Claude Desktop Linux .deb with a comprehensive set of Linux-native enhancements and community features. It applies 48 surgical JavaScript patches (compiled from Nim sources) to the minified Electron bundle, adding custom theme engine with 97 bundled dual light/dark palettes, multi-profile isolation, Quick Entry global hotkey, Computer Use desktop automation backends (X11, wlroots, GNOME, KWin portals), and an in-app Extra settings panel for themes, feature flags, and third-party inference configuration. The project produces packages for Arch (pacman), Debian/Ubuntu (APT), Fedora/RHEL (RPM), NixOS (flake), and AppImage, with automated CI that polls upstream every 2 hours, validates patch integrity, and publishes signed repositories. The architecture is a patch overlay on a third-party Electron desktop app. Patches are organized into three groups: linux (31 patches, always-on), core (7 patches, infrastructure), and community (10 patches, opt-in). A Nim-based build system compiles each patch into a native binary that performs regex-based transformations on the minified JS, with strict idempotency checks that fail the build if any pattern doesn't match. The patching system also handles upstream code-split chunks and concatenates/splits them as needed. The theme engine injects CSS custom properties via Electron's insertCSS, supports live reload via file watcher, and includes a full browser UI (theme picker SPA) with search, keyboard navigation, and wallpaper-driven generation via matugen. While the codebase demonstrates high engineering craftsmanshipβ€”consistent IPC validation, atomic config writes, robust fallback chains for Computer Use backends, and a reproducible build workflow with byte-identical artifact checksβ€”it is tightly coupled to a single upstream app's minified bundle shape and DOM structure. The 48 patches are a significant maintenance burden that must be re-validated on every upstream release. However, the project is actively maintained, with automated CI catching most regressions, and several patterns (spinner injector, theme engine, config utilities) could be extracted for reuse in other Electron or web applications.

RATING8.3/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS20
VELOCITY1.00
OPEN ISSUES0
CLOSED ISSUES182
LAST COMMIT1 month ago
Files by Type (count)
Other (.svg)
97
Other (.png)
70
Nim
57
Markdown
46
JavaScript
43
Other (.mjs)
42
Shell
30
JSON
16
HTML
6
Other (no ext)
5
CSS
4
YAML
3
Files by Type (size)
Other (.png)
10MB
Markdown
1MB
JavaScript
1MB
Other (.mjs)
1MB
JSON
582KB
Nim
509KB
Shell
329KB
Other (.svg)
246KB
HTML
180KB
YAML
164KB
Other (.jsonc)
74KB
CSS
30KB

The LLM identified 2 files worth highlighting for reuse:

A self-contained JavaScript module that replaces the Anthropic starburst loading spinner with per-theme SVG paths and custom animations (spin, bounce, pulse, flip). Uses a MutationObserver with requestAnimationFrame debounce to detect spinners injected into the DOM, verifies the path 'd' attribute to avoid mismatches, and stamps each replaced element with 'data-cdb-spinner' for idempotency. Theme specs include optional match prefix, two-frame flip for pixel-art sprites, and version hash guard. This pattern is reusable in any web or Electron app that needs runtime icon replacement with safe fallback.

file: js/spinner_injector.js β†— | tags: #svg-replacement #mutation-observer #animation-injection

A full SPA for browsing, searching, and applying themes, loaded in an Electron webview. Features include a search bar filtered by theme slug, keyboard navigation (arrow keys, Enter), responsive grid with auto-fill columns, aria-pressed selection state, overlay bar for current theme, and toast notifications. Communicates with the main process via a narrow bridge API (window.cdbThemes.list, apply, etc.). The HTML, CSS, and inline script are self-contained in a single file, using CSS custom properties for theming of the picker itself. Could be extracted and adapted for any application that needs a discoverable theme selector UI.

file: js/theme_picker_page.html β†— | tags: #theme-browser #css-custom-properties #keyboard-navigation #responsive-grid
Last analyzed: 2026-09-16 13:41:23.651755
Next check: 2026-09-23 13:41:23.647072
$ submit: