Skip to content

MilanG-Ne/DrawTop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DrawTop - Draw.io Desktop Application (Unofficial)

Update

If you are looking for a way to use Draw.io as a desktop application, you can now download official Draw.io desktop versions.

Or, if you're using Google Chrome, simply visit Draw.io website, click the Chrome menu button (top right corner), go to "More tools", "Add to desktop". Enter shortcut name, and leave "Open as window" checked.

End Update

DrawTop is online-based, cross platform desktop application for Draw.io diagraming software (unofficial). It is built using web technologies (HTML, CSS and JavaScript) and electron framework.

Important note:

All product names, logos, and brands are property of their respective owners.
All company, product and service names used in this project are for identification purposes only.
Use of these names, logos, and brands does not imply endorsement.

Quick Preview

Loader animation:

DrawTop loader

Templates:

DrawTop templates

Workspace:

DrawTop workspace


How does it work?

  • When first starting DrawTop application, frameless loader window is created;
  • DrawTop then checks in the background for available internet connections;
  • If there is no internet access:
  1. loader window is closed;
  2. frameless help window is created, notifying user about nonexistent internet access;
  3. global keyboard shortcut is registered for Escape key, allowing user to close help window and exit application.
  • If there is internet access:
  1. loader window is closed;
  2. main window is created, loading Draw.io website into secure chromium sandbox environment, with node integration disabled;
  3. global keyboard shortcut is registered for F11 key, allowing user to toggle full screen view.

NOTE: When loading Draw.io website, following URL parameters are used:

  1. https=1 - enables encrypted https connection to Draw.io website;
  2. offline=0 - loads Draw.io in an online environment, which enables faster loading time, use of templates, search functionality and multiple language support;
  3. mode=device - sets default application mode to "device";
  4. storage=device - adds device storage option for touch devices;
  5. splash=1 - shows splash screen by default;
  6. db=0 - disables Dropbox APIs;
  7. gapi=0 - disables Google APIs;
  8. od=0 - disables OneDrive APIs;
  9. gh=0 - disables GitHub APIs;
  10. browser=0 - disables local (browser) storage as a storage location;
  11. picker=0 - disables Google picker in Dialogs;
  12. analytics=0 - disables Google Analytics.

For more information about available URL parameters, please visit Draw.io support page.


For developers

To Use:

To clone and run this repository you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:

# Clone repository
git clone https://github.com/MilanG-Ne/DrawTop

# Navigate to folder
cd DrawTop

# Install dependencies
npm install

# Start application
npm start

Note: If you're using Linux Bash for Windows, see this guide or use node from the command prompt.

Packaging:

From your command line:

# Windows (also known as win32, for both 32/64 bit)
npm run pack-win

# OS X (also known as darwin) / Mac App Store (also known as mas)*
npm run pack-mac

# Linux (for x86, x86_64, and armv7l architectures)
npm run pack-linux

Note: for OS X / MAS target bundles: the .app bundle can only be signed when building on a host OS X platform.

More information about using electron-packager.


Resources for Draw.io


Resources for Electron


License:

Apache-2.0