Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Understand (Electron)

Setup

npm install
npm start

What changed from the web version

  • Screen capture now uses Electron's native desktopCapturer (via a picker dialog if you have multiple screens/windows) instead of the browser's getDisplayMedia prompt.
  • Shift+Enter and Ctrl/Cmd+Shift+Enter are registered as global OS-level shortcuts in main.js (globalShortcut), so they fire from any application, not just when Understand is focused.
    • Shift+Enter — checks the screen immediately.
    • Ctrl/Cmd+Shift+Enter — opens a small "what happened?" prompt first, then checks the screen with that in mind.
  • Every trigger fires a native OS notification immediately ("Checking your screen…") so you know it registered.
  • When the check finishes, a small always-on-top popup window appears in the corner of your screen with the answer, and your default browser opens a search for the fix.
  • The app stays running in the background (tray icon) when you close the window, so the shortcuts keep working. Quit fully from the tray menu ("Quit Understand") or Cmd/Ctrl+Q.
  • Voice input, chat, context, sessions, and links all work the same as before, backed by the same Groq API.

Packaging a real installer

npm run dist

Uses electron-builder (already in devDependencies) to produce a .dmg/.exe/.AppImage in dist/.

Permissions

  • macOS: On first screen share, macOS will prompt for Screen Recording permission — grant it to "Understand" (or "Electron" while running unpackaged) in System Settings → Privacy & Security → Screen Recording, then relaunch the app. Microphone permission is prompted similarly for voice input.
  • Windows/Linux: no extra permission step; the picker dialog just lets you choose a screen or window.

About the global shortcuts

Shift+Enter is a common "insert newline" shortcut inside other apps (chat clients, editors, etc.) — registering it globally means Understand intercepts it everywhere, which can surprise you elsewhere. If that's a problem, change the accelerator strings in main.js (registerShortcuts()) to something less common, e.g. Alt+Shift+Enter.

Security note

This file ships with a Groq API key hardcoded in renderer/index.html (carried over from the original app). That's fine for local personal use, but don't distribute a built app with your real key inside it — anyone with the binary can extract it. For distribution, move the key to a settings field stored outside the bundle (e.g. electron-store) instead.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages