MCPcopy Index your code
hub / github.com/DmytroVasin/DrawPen

github.com/DmytroVasin/DrawPen @v0.0.53

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.53 ↗ · + Follow
270 symbols 667 edges 29 files 0 documented · 0% updated 10d agov0.0.53 · 2026-06-28★ 91431 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README


Draw Pen

An open-source screen annotation tool

Get it on Windows Get it on macOS Get it on Linux


DrawPen

DrawPen - Usage

DrawPen - Pointer Mode

Installation

You can download DrawPen for free from releases

Or install via package managers:

# macOS (Homebrew)
brew install --cask drawpen

# Windows (Scoop)
scoop bucket add extras
scoop install extras/drawpen

Known issues

On some Linux setups running Wayland (e.g. Fedora KDE Plasma, Zorin), DrawPen may start with a segmentation fault. Explanation In Details

Workaround:

  • Run DrawPen with X11 backend: drawpen --ozone-platform=x11
  • Use DrawPen drawpen-x11 package available in releases

Keybindings

Command Keybindings Comment
Enable Draw/Pointer Mode CMD/CTRL + SHIFT + A Global shortcut
Activate Pen P or 1
Activate/Switch Shapes (Arrow/Square/etc.) A, R, O or 2
Activate Text T or 3
Activate Highlighter H or 4
Activate Laser L or 5
Activate Eraser E or 6
Switch Color 7
Switch Thickness (Width) 8
Show/Hide ToolBar CMD/CTRL + T In-app shortcut
Show/Hide Whiteboard CMD/CTRL + E In-app shortcut
Clear Desk CMD/CTRL + K In-app shortcut
Settings Page CMD/CTRL + ,
Reset to original Resets all app settings

(keys, colors, toolbar position, etc.) |

Contributing

Please read our Contributing Guidelines for more information.

License

DrawPen is licensed under the MIT Open Source license. For more information, see LICENSE.

Core symbols most depended-on inside this repo

rawLog
called by 42
src/main/index.js
handleChangeTool
called by 25
src/renderer/app_page/components/Application.js
normalizeAcceleratorForUI
called by 14
src/main/index.js
findActiveFigure
called by 12
src/renderer/app_page/components/Application.js
pickTool
called by 9
src/renderer/app_page/components/components/ToolBar.js
isSegmentIntersectCurve
called by 9
src/renderer/app_page/components/utils/figureDetection.js
drawDot
called by 8
src/renderer/app_page/components/components/drawer/figures.js
distanceBetweenPoints
called by 8
src/renderer/app_page/components/utils/general.js

Shape

Function 270

Languages

TypeScript100%

Modules by API surface

src/main/index.js59 symbols
src/renderer/app_page/components/Application.js52 symbols
src/renderer/app_page/components/utils/figureDetection.js33 symbols
src/renderer/app_page/components/components/drawer/figures.js33 symbols
src/renderer/settings_page/components/Settings.js20 symbols
src/renderer/app_page/components/utils/general.js18 symbols
src/renderer/app_page/components/components/ToolBar.js16 symbols
src/renderer/app_page/components/components/Whiteboard.js11 symbols
src/renderer/settings_page/components/ShortcutRecorder.js10 symbols
src/renderer/app_page/components/components/DrawDesk.js7 symbols
src/renderer/app_page/components/components/TextEditor.js5 symbols
src/renderer/app_page/components/components/WhiteboardSidebar.js2 symbols

For agents

$ claude mcp add DrawPen \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page