dotstop
v0.1.0
Published
Interactive CLI wizard for generating Linux .desktop launchers
Maintainers
Readme
dotstop
dotstop is an interactive CLI wizard that creates polished Linux .desktop launchers from the directory you are currently in.
It scans your workspace, suggests likely Exec commands and icons, and lets you override everything before writing the final launcher file.
Quick start
npm install -g dotstopThen run it inside your app folder:
cd your-project
dotstopCommon usage
dotstop
dotstop ./another-project
dotstop --dry-run
dotstop --output ~/.local/share/applications/my-app.desktop
dotstop --cwd ~/Coding/some-app --max-depth 6 --max-files 12000What the wizard auto-detects
- existing
.desktopfiles in your project (used as optional defaults) - launch command candidates from:
- executable files (
bin/, scripts, AppImage, etc.) package.json(bin,scripts.start,scripts.dev,main)
- executable files (
- icon candidates from files like:
icon.png,logo.svg,favicon.*- image assets (
png,svg,xpm,ico,jpg,webp)
Linux desktop-entry features supported
Core keys:
Type=Application|LinkName,GenericName,CommentExec,TryExec,Path,URL,IconTerminal,StartupNotify,StartupWMClass
Lists:
CategoriesKeywordsMimeTypeOnlyShowInNotShowIn
Extra flags:
NoDisplayHiddenDBusActivatablePrefersNonDefaultGPUSingleMainWindow
Advanced:
- desktop quick actions (
[Desktop Action ...]blocks) - custom key/value entries for DE-specific or app-specific fields
CLI options
Run:
dotstop --helpSupported flags:
-h, --help: show help output-v, --version: print current version--dry-run: run the full wizard and preview result without writing a file--cwd <path>: set project directory to scan-o, --output <path>: preselect output file path or output directory--max-depth <number>: scan depth for icon/executable detection (default:4)--max-files <number>: max files to inspect during scan (default:6000)
Validation and debugging
After generating a launcher:
desktop-file-validate ~/.local/share/applications/your-app.desktopIf your launcher does not appear immediately in your app menu/log out/in, run:
update-desktop-database ~/.local/share/applications