Skip to content

Add native Brave Origin and embed distro SVG logos - #10

Merged
TheLinuxITGuy merged 4 commits into
mainfrom
cursor/brave-origin-embedded-logos-84d9
Sep 2, 2026
Merged

Add native Brave Origin and embed distro SVG logos#10
TheLinuxITGuy merged 4 commits into
mainfrom
cursor/brave-origin-embedded-logos-84d9

Conversation

@TheLinuxITGuy

@TheLinuxITGuy TheLinuxITGuy commented Sep 2, 2026

Copy link
Copy Markdown
Owner

What changed

  • Added a Browsers catalog row for Brave Origin as a native app (brave-origin package, brave-origin exec, empty Flatpak ID).
  • Kept the existing Brave Browser Flatpak row (com.brave.Browser).
  • App tiles and distro chips are compiled into the binary. The running app does not need assets/ on disk.

Branding, MIT license, eframe 0.34.1, identifier validation, and argv-style helper commands are unchanged.

How Brave Origin is installed and verified

Install is not Flatpak and not curl | sh.

  1. Toolbox GUI still collects the sudo password and caches it with sudo -S -v.
  2. main.sh downloads only:
    • https://dl.brave.com/install.sh
    • https://dl.brave.com/install.sh.asc
  3. The signature is checked in an isolated GNUPGHOME against the vendored key assets/keys/brave-install.sh.asc.
  4. Verification fails closed unless GnuPG reports VALIDSIG for fingerprint D16166072CACDF2C9429CBF11BF41E37D039F691.
  5. The downloaded file is then executed with FLAVOR=origin (no eval, no pipe-to-shell).
  6. Nested sudo from Brave’s installer is wrapped as sudo -n so it uses the cached ticket and cannot hang on a nested interactive prompt.

Remove uses the existing native-remove path. On Arch the AUR package name is brave-origin-bin; Debian/Fedora use brave-origin.

Official docs: https://brave.com/origin/linux/

How logos are embedded

src/logos.rs compiles:

  • Brave Origin: Chris’s assets/logos/brave-origin.svg via include_str! (white outlined lion on a dark tile). This is not the orange Brave Browser mark and not the generated Nala lion.
  • Other app tiles: Chris’s original PNGs in assets/logos/*.png via include_bytes!. Brave Browser uses brave.png (orange).
  • Distros: assets/distros/{arch,debian,fedora}.svg via include_str!.

htop, LibreOffice, and mpv have no tile file and use the letter fallback. Fonts and assets/keys/brave-install.sh.asc stay.

Unused cleanup

Removed from the tree:

  • assets/icons/ — tiles now live under assets/logos/
  • VMware Player Fix/ — standalone/unwired helper, not in the UI allowlist
  • Extra Screenshot/ images — README preview still uses Screenshot/Screenshot7.png

How to smoke-test

cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets

Manual UI checks:

  1. cargo build --release and run ./target/release/linux-it-guy-toolbox.
  2. On Install, confirm Brave Browser uses the orange lion PNG and Brave Origin uses Chris’s white-on-black SVG. They must not share the same icon.
  3. Confirm other app tiles show the original PNG logos.
  4. Copy the binary to a temp dir without assets/ and run it from there; tiles and distro chips should still render.
  5. Select only Brave Origin, run with a sudo password, and confirm the log downloads the two pinned URLs, reports a good GPG verification, then runs the installer with FLAVOR=origin.
  6. On Remove, Brave Origin should uninstall via the native package path (brave-origin or brave-origin-bin on Arch).
Open in Web Open in Cursor 

Install Brave Origin via the official installer after downloading only
the pinned dl.brave.com script and signature, GPG-verifying fingerprint
D16166072CACDF2C9429CBF11BF41E37D039F691, and running the temp file with
FLAVOR=origin. Nested sudo uses -n against the GUI sudo -S -v cache.

Keep the existing Brave Browser Flatpak row. Rasterize distro logos from
include_str! markup so assets/*.svg are not read at runtime.

Co-authored-by: The Linux IT Guy <TheLinuxITGuy@users.noreply.github.com>
@TheLinuxITGuy
TheLinuxITGuy marked this pull request as ready for review September 2, 2026 01:10
cursoragent and others added 3 commits September 2, 2026 01:27
Rasterize remaining app logos from compile-time include_str markup
and delete assets/icons. Brave Origin uses the official Nala outlined
lion in black; Brave Browser keeps the orange mark.

Drop unused Screenshot extras, the unwired VMware Player Fix helper,
and the direct image crate dependency. Distro SVGs, fonts, and the
Brave installer GPG key stay as compile-time sources.

Co-authored-by: The Linux IT Guy <TheLinuxITGuy@users.noreply.github.com>
Keep brave-origin.svg for the Origin row. App tiles use the original
PNGs. Do not regenerate Simple Icons.
Point logos.rs at assets/logos/brave-origin.svg via include_str and the
restored PNG tiles via include_bytes. Brave Browser stays on brave.png;
htop, LibreOffice, and mpv fall back to letter tiles.

Co-authored-by: The Linux IT Guy <TheLinuxITGuy@users.noreply.github.com>
@TheLinuxITGuy
TheLinuxITGuy merged commit 6968adc into main Sep 2, 2026
1 check passed
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