Conversation
Debian binaries carry no BeOS resources, so Deskbar and Tracker show a generic icon and the raw file name. appstamp reads an application's .desktop entry and icon theme and writes the matching BeOS attributes (BEOS:L/M:STD_ICON, BEOS:APP_SIG, SYS:NAME) onto the executable, where Deskbar and Tracker resolve them. Toolkit-agnostic: any installed .deb application is stamped from its freedesktop metadata. Runs from a plain root session -- no BApplication, no BBitmap, no app_server. Icons come from the hicolor PNG theme, with rsvg-convert as a fallback for scalable-only themes.
A dpkg trigger on /usr/share/applications reruns `appstamp --all` whenever a package adds or removes a .desktop entry, and appstamp-icons.service sweeps once at boot. Both guard on the nexus device so chroot image builds are unaffected, and neither fails a package install.
schotek
added a commit
to schotek/Vitruvian
that referenced
this pull request
Aug 12, 2026
Batch --all, a dpkg trigger on /usr/share/applications, and a one-shot boot service; SVG-only icon themes via rsvg-convert. Same content as the standalone appstamp submission for master (VitruvianOS#225); carried on this branch for local Qt ISO builds until it lands upstream.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements #224.
Adds
appstamp, a tool that writes BeOS application attributes onto a.debbinary from its freedesktop.desktopmetadata, so Deskbar and Tracker show the real icon and name instead of a generic icon and the raw filename. Toolkit-agnostic — any installed.debGUI app is covered.What it does
.desktopentry (or takes one explicitly), readsName/Icon/Exec.BEOS:L/M:STD_ICON(B_CMAP8), withrsvg-convertas a fallback for scalable-only themes.BEOS:APP_SIG(application/x-vnd.vos-<leaf>) andSYS:NAME.--allstamps everything under/usr/share/applications; idempotent (skips already-stamped unless--force).Automation
/usr/share/applications→ restamp on package add/remove.appstamp-icons.service→ one-shot boot sweep./dev/nexus_node_monitor, so chroot image builds are unaffected and a package install never fails.Design
BApplication, noBBitmap, noapp_server— runs from a plain root session; plainBNode::WriteAttr.NoDisplay/Terminal/ConsoleOnly/non-Applicationand shell-wrapperExeclines are skipped.Testing. Built an ISO from
master+ this branch. Installing a GTK app (galculator) fires the trigger and stampsBEOS:L/M:STD_ICON+APP_SIG+SYS:NAMEfrom its hicolor icon; console/terminal entries (vim,fortune'ssh -cwrapper) are correctly skipped; the boot service sweeps once.Two commits: the tool, then the install-time automation.