https://github.com/ifer47/markeron
Lightweight screen annotation tool — press a hotkey to draw, highlight, and annotate anywhere on your desktop.
https://github.com/ifer47/markeron
canvas screen-annotation tailwindcss tauri tauri-app vite vue3-typescript
Last synced: 2 months ago
JSON representation
Lightweight screen annotation tool — press a hotkey to draw, highlight, and annotate anywhere on your desktop.
- Host: GitHub
- URL: https://github.com/ifer47/markeron
- Owner: ifer47
- License: mit
- Created: 2026-03-17T04:46:42.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2026-04-12T16:28:32.000Z (2 months ago)
- Last Synced: 2026-04-12T16:36:42.719Z (2 months ago)
- Topics: canvas, screen-annotation, tailwindcss, tauri, tauri-app, vite, vue3-typescript
- Language: HTML
- Homepage: https://github.com/ifer47/makon/releases
- Size: 24 MB
- Stars: 34
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
MarkerOn
Lightweight screen annotation tool — press a hotkey to instantly draw, highlight, and annotate anywhere on your desktop.
## Download
**[Download Latest Release](https://github.com/ifer47/markeron/releases/latest)** — pick the installer for your platform from the assets list.
## Features
- **Annotate anywhere** — draw over any app, including the taskbar
- **8 tools** — pen, highlighter, arrow, rectangle, ellipse, line, eraser, text
- **Intuitive panel** — press Space to toggle tools, colors, and stroke widths
- **Full keyboard control** — every action has a shortcut, no menus needed


## Keyboard Shortcuts
On **macOS**, use Command (⌘) in place of Ctrl, and Option (⌥) in place of Alt.
### Global Shortcuts
| Action | Windows | macOS |
| :--- | :--- | :--- |
| Toggle annotation mode | Ctrl + Shift + D | Command + Shift + D |
| Clear all annotations | Ctrl + Shift + C | Command + Shift + C |
### Tool Switching
| Key | Tool | Key | Tool |
| :---: | :--- | :---: | :--- |
| 1 | Pen | 5 | Ellipse |
| 2 | Highlighter | 6 | Line |
| 3 | Arrow | 7 | Eraser |
| 4 | Rectangle | T | Text |
### Common Actions
| Action | Windows | macOS |
| :--- | :--- | :--- |
| Settings panel | Space | Space |
| Copy screen | Ctrl + C | Command + C |
| Undo / Redo | Ctrl + Z / Y | Command + Z / Y |
| Stroke width | Ctrl + Scroll | Command + Scroll |
| Clear all | Delete | Delete |
| Exit | Esc | Esc |
All shortcuts
#### Drawing with Modifier Keys
| Draws | Windows | macOS |
| :--- | :--- | :--- |
| Current tool (default: pen) | Drag | Drag |
| Line | Alt + Drag | Option + Drag |
| Rectangle | Ctrl + Drag | Command + Drag |
| Square | Ctrl + Alt + Drag | Command + Option + Drag |
| Ellipse | Shift + Drag | Shift + Drag |
| Circle | Shift + Alt + Drag | Shift + Option + Drag |
| Arrow | Ctrl + Shift + Drag | Command + Shift + Drag |
#### Edit & Move
| Action | Effect |
| :--- | :--- |
| Hover over an element and drag | **Move** the element (enable "Allow dragging existing elements" in settings) |
| Double-click existing text | Re-enter **edit mode** for that text |
| Double-click empty area in T mode | Create a new text input at cursor position |
#### Color Switching
| Action | Effect |
| :--- | :--- |
| Q / E | Previous / Next color |
| Right-click | Open quick color picker at cursor |
#### Other
| Action | Windows | macOS |
| :--- | :--- | :--- |
| Stroke width | Ctrl + Scroll | Command + Scroll |
| Redo (alt) | Ctrl + Shift + Z | Command + Shift + Z |
| Switch window & exit | Alt + Tab | Command + Tab |
## Quick Start
```bash
npm install
npm run dev
npm run build
```
After launching, the app runs silently in the **system tray** with no window shown.
## Tech Stack
| Technology | Role |
| :--- | :--- |
| **Tauri v2** | Desktop framework — Rust backend, system tray, global shortcuts, transparent always-on-top window |
| **Vue 3** | Frontend UI framework |
| **Vite** | Fast bundling and HMR |
| **TypeScript** | Full type safety |
| **Canvas API** | High-performance drawing engine |
Project structure
```
markeron/
├── src-tauri/
│ ├── src/
│ │ └── lib.rs # Rust backend — window management, shortcuts, tray
│ └── tauri.conf.json # Tauri configuration
│
├── src/
│ ├── components/
│ │ ├── DrawingOverlay.vue # Drawing overlay (Canvas + interactions)
│ │ ├── SettingsPanel.vue # Annotation toolbar (tool / color / stroke)
│ │ ├── SettingsView.vue # Settings window (shortcut config / sidebar layout)
│ │ └── TextBox.vue # Inline text input
│ ├── composables/
│ │ └── useDrawing.ts # Drawing engine (pen, shapes, text, undo/redo)
│ ├── types/
│ │ └── app.d.ts # TypeScript type declarations
│ ├── App.vue # Root component
│ ├── main.ts # Renderer entry point
│ └── style.css # Global styles
│
├── index.html # HTML entry
├── vite.config.ts # Vite configuration
└── package.json
```
## License
[MIT](./LICENSE)