keyhook 0.1.0

⌨️ Global Hotkeys → Webhooks — one desktop app to trigger any HTTP request.
docs.rs failed to build keyhook-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

🇺🇸 English · 🇨🇳 中文       |      Table of Contents ↗️

Crates.io Repo Size CI Say Thanks


✨ Features

Capability Details
🔑 Global shortcuts System-wide hotkeys registered via tauri-plugin-global-shortcut.
🌐 Webhook actions Fire GET, POST, PUT, DELETE, or PATCH requests  (optional JSON body, 8 s timeout).
🎛 Live GUI Yew + Trunk single-page app for adding, editing, deleting rules.
💾 Persistent config Rules saved to a pretty-printed keyhook.json in the user-specific app-config directory.
🪟 Tray mode Runs in the system tray, auto-hides the main window, quit & show options.
📜 Structured logs tracing output to console with UTC timestamps and log-level filtering (KEYHOOK_LOG).
📦 Portable build One binary per OS (tauri bundle), no runtime dependencies apart from system webview.

🕸 Architecture

graph LR
  subgraph "KeyHook (Desktop App)"
    GSL[Global Shortcut\nListener]
    RE[Rule Engine]
    HTTP[[HTTP Client]]
  end
  U[User] -->|Hotkey| GSL --> RE --> HTTP
  HTTP --> REST[(REST API)]
  HTTP --> N8n[(n8n Workflow)]
  HTTP --> Zapier[(Zapier)]
  HTTP --> Script[(Custom Script)]