Skip to content

ifer47/markeron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

274 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MarkerOn icon

MarkerOn

Lightweight screen annotation tool (~1.5 MB) — press a hotkey (keyboard-first) to instantly draw, highlight, and annotate anywhere on your desktop.

CI Release Downloads License Stars

中文

MarkerOn

Download

Windows macOS ARM64 macOS x64 Linux Microsoft Store

Download Latest Release — pick the installer for your platform from the assets list.

Windows users can also install the Microsoft Store version with WinGet:

winget install --id 9N6623X973JV --source msstore

Official downloads are GitHub Releases and Microsoft Store. Third-party mirrors may be outdated or repackaged.

After launching, the app runs silently in the system tray with no window shown.

Features

  • Annotate anywhere — draw over any app, including the taskbar
  • 8 tools — pen, highlighter, arrow, rectangle, ellipse, line, eraser, text
  • Flexible toolbar — press Space to toggle, or enable always-on in Settings; compact panel with More to expand, undo, copy, and whiteboard actions in-panel; independent floating window with drawing / click-through toggles
  • Click-through mode — interact with apps below while staying in the session; toggle via toolbar buttons, Ctrl+Shift+X (global), or X while drawing; disabled in whiteboard mode
  • Full keyboard control — every action has a shortcut, no menus needed
  • Preserve drawings — enable Keep after exit under Whiteboard & content to resume on re-enter
  • Whiteboard mode — set default entry to whiteboard, or press W to toggle; content rules are in Whiteboard & content settings
  • Whiteboard copy — copy the whiteboard as an image with Ctrl/Command + C
8 annotation tools Settings panel

Lightweight & Fast

Built with Rust + Canvas, MarkerOn has an installer of just ~1.5 MB and a minimal memory footprint — no background daemons, no bloat. It responds instantly to your hotkey and renders annotations at full frame rate while consuming nearly zero system resources.

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
Toggle click-through mode Ctrl + Shift + X Command + Shift + X

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
Toolbar (toggle) Space Space
Click-through (while drawing) X X
Toolbar always-on / layout Settings → General Settings → General
Copy screen Ctrl + C Command + C
Whiteboard toggle W W
Undo / Redo Ctrl + Z / Y Command + Z / Y
Stroke width Ctrl + Scroll Command + Scroll (pen & shapes share; highlighter/eraser/text separate)
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
Element dragging In General settings: Off / Hover drag / Hold Ctrl to drag
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

Whiteboard Mode

Action Effect
W Toggle whiteboard mode
Ctrl + C / Command + C Copy the current whiteboard as an image
Settings General → Whiteboard & content: default entry, keep after exit, keep on W toggle

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

Settings

  • Toolbar display — press Space to toggle, or always-on (Space does nothing when pinned); floating toolbar window with drawing / click-through buttons; use More to expand full options
  • Click-through — pass mouse events to apps below; toggle in toolbar, with Ctrl+Shift+X or X (not in whiteboard mode)
  • Whiteboard & content — default entry (screen / whiteboard), keep after exit, keep on W toggle
  • Element dragging — off, hover to drag, or hold Ctrl/Command to drag (disabled while eraser is selected)
  • Eraser mode — stroke (local erase) or object (delete whole elements when passing over); eraser tool disables element dragging
  • Stroke widthCtrl/Command + scroll or toolbar; pen & shapes share one width, highlighter/eraser/text are separate
  • Angle snap step — snap interval for straight lines drawn with Alt
  • Auto start — launch the app automatically at system startup

Development

npm install
npm run dev
npm run build

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/
│   │   ├── overlay.rs           # Overlay session state, toolbar window, click-through
│   │   └── lib.rs               # Rust backend — tray, shortcuts, IPC
│   └── tauri.conf.json          # Tauri configuration
│
├── src/
│   ├── components/
│   │   ├── DrawingOverlay.vue   # Drawing overlay (Canvas + interactions)
│   │   ├── ToolbarWindow.vue    # Standalone toolbar window host
│   │   ├── ToolToolbar.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)
│   │   └── overlayBridge.ts     # Cross-window overlay ↔ toolbar events
│   ├── 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