Skip to content

ScreenMind v0.1.2

Latest

Choose a tag to compare

@ayushh0110 ayushh0110 released this 13 Jul 05:22

Spent this weekend making ScreenMind feel less like a CLI tool and more like something you'd actually want to double-click on.

What changed

Desktop launcher — ScreenMind now has a proper splash screen (tkinter) that shows up while the server loads, then opens your browser to the dashboard. No terminal needed. The shortcut gets auto-created on first run after pip install.

Run at startup — Added cross-platform startup registration. Windows uses the Registry, macOS uses LaunchAgents, Linux uses XDG autostart. Toggle it from Settings or screenmind --install-startup.

Graceful shutdown — Added a "Stop Server" button to the dashboard sidebar. It sends SIGINT so everything shuts down cleanly — DB gets flushed, llama-server gets killed, no orphaned processes. The endpoint is localhost-only.

Bug fixes

  • analyzer.py was calling Image.open() directly on encrypted screenshots — they'd fail silently during backfill. Switched to open_image() wrapper.
  • Same fix in analysis_worker.py — encrypted files were being flagged as corrupt.
  • Capture pause state now persists across restarts. If you paused it, it stays paused.
  • pythonw.exe on Windows sets stdout/stderr to None — this crashed uvicorn and half the logging stack. Added devnull redirects and a crash log at ~/.screenmind/crash.log.

New CLI flags

screenmind --launch             # splash screen + open dashboard
screenmind --install-shortcut   # create desktop shortcut
screenmind --install-startup    # register at system login
screenmind --uninstall-startup  # remove from startup

Notes

  • Logo and favicon are now bundled in screenmind/assets/ so they work after pip install, not just in dev.
  • The launcher uses a lockfile to prevent double-click race conditions (two instances fighting over port 7777).
  • Cross-platform: Windows .lnk, macOS .command, Linux .desktop.

Full Changelog: v0.1.1...v0.1.2