drawio-desktop

Official electron build of draw.io

23 articles 59.7k View on GitHub ↗
23 articles
Understanding the Preload Script and ContextBridge API Exposure in draw.io Desktop

Explore the draw.io desktop preload script and contextBridge API. Learn how it securely exposes a minimal API for IPC communication, employing least privilege for enhanced security.

architecture
Mar 5, 2026
How to Configure URL Parameters at Startup in Draw.io Desktop Using urlParams.json

Learn how to configure urlParams.json at startup in Draw.io Desktop. Easily set startup URL parameters for custom editor configurations. Get started now.

how-to-guide
Mar 5, 2026
How draw.io Desktop Implements Security-First Design: A Deep Dive into Electron Hardening

Discover draw.io Desktop's security-first design. Learn how contextBridge, IPC validation, CSP, and Electron fuses protect against Node.js attack vectors.

deep-dive
Mar 5, 2026
How Platform-Specific Build Configurations Work in drawio-desktop

Understand drawio-desktop platform-specific build configurations. Learn how electron-builder JSON files define packaging rules for Windows macOS Linux and more.

internals
Mar 5, 2026
How to Run draw.io Desktop in Development Mode with DevTools Enabled

Learn to run draw.io Desktop in development mode with DevTools enabled. Set DRAWIO_ENV=dev to automatically open Chrome DevTools for debugging.

how-to-guide
Mar 5, 2026
How Draw.io Desktop Implements Window Management with Multiple Displays

Discover how Draw.io Desktop manages multiple displays using Electron's screen module. Learn how it handles disconnected monitors and recenters windows for seamless multi-monitor setups.

internals
Mar 5, 2026
Draw.io Desktop electron.js Main Process File Structure and IPC Handlers Explained

Explore the electron.js main process file structure in Draw.io Desktop. Understand key IPC handlers bridging renderer process and native OS features.

internals
Mar 5, 2026
How drawio-desktop PDF Export Works Using @cantoo/pdf-lib

Discover how drawio-desktop PDF export merges rasterized buffers using webContents printToPDF and @cantoo/pdf-lib to create PDFs with embedded metadata and original diagram XML.

internals
Mar 5, 2026
How to Enable or Disable Spell Check in draw.io Desktop

Learn how to enable or disable spell check in draw.io Desktop. Control the spell check setting via the Electron store for Windows, macOS, and Linux. Easy steps to customize your diagramming experience.

how-to-guide
Mar 5, 2026
How the Google Fonts Toggle Works in Draw.io Desktop: Implementation and Persistence Guide

Discover how Draw.io Desktop implements and persists the Google Fonts toggle. Learn about electron-store, CSP headers, and IPC communication for seamless font management.

internals
Mar 5, 2026
How to Control Hardware Acceleration in draw.io Desktop: Disabling GPU Rendering

Learn how to disable hardware acceleration in draw.io Desktop using the --disable-acceleration flag. Force software rendering for improved stability and control over GPU usage for your diagrams.

how-to-guide
Mar 5, 2026
How Draw.io Desktop Implements a Custom Context Menu with Paste and Match Style

Discover how Draw.io Desktop implements a custom context menu with Paste and Match Style using electron-context-menu and webContents pasteAndMatchStyle for seamless formatting control.

internals
Mar 5, 2026

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →