A modern desktop wrapper for Google Colab built with Electron, providing a native app experience with enhanced features and keyboard shortcuts.
- Zoom In:
Ctrl/Cmd + +orCtrl/Cmd + = - Zoom Out:
Ctrl/Cmd + - - Reset Zoom:
Ctrl/Cmd + 0 - Zoom range: 50% to 300%
- Toggle Dark Mode:
Ctrl/Cmd + Shift + D - System Theme: Automatically follows your OS theme
- Native integration with system preferences
| Shortcut | Action |
|---|---|
Ctrl/Cmd + + |
Zoom In |
Ctrl/Cmd + - |
Zoom Out |
Ctrl/Cmd + 0 |
Reset Zoom |
Ctrl/Cmd + Shift + D |
Toggle Dark Mode |
Ctrl/Cmd + R |
Reload Page |
Ctrl/Cmd + W |
Close App |
F12 |
Toggle Developer Tools |
- External Links: Automatically opens in your default browser
- Menu Integration: Full menu bar with all features
- Preload Security: Secure context isolation enabled
- Custom Icon: Beautiful Colab-themed app icon
For end users who just want to use the app:
- Download the latest release
- Go to Releases
- Download
colab-desktop-win32-x64.zip(Windows) - Extract the ZIP file
- Run
colab-desktop.exe
For developers who want to modify the code:
- Node.js (v14 or higher)
- npm (comes with Node.js)
-
Clone the repository
git clone https://github.com/justvicthor/colab_desktop.git cd colab_desktop -
Install dependencies
npm install
-
Run the application
npm start
colab-desktop/
├── main.js # Main Electron process
├── preload.js # Preload script for security
├── package.json # Project configuration
├── package-lock.json # Dependency lock file
├── icon/ # App icons
│ ├── colab.png
│ ├── colab_go.png # Current app icon
│ ├── colab_b.png
│ ├── colab_rb.png
│ └── colab_w.png
└── README.md # This file
To package the application for distribution:
# Install electron-builder (if not already installed)
npm install --save-dev electron-builder
# Build for current platform
npm run build
# Build for all platforms
npm run build:allThe main application logic is in main.js. Key areas:
- Window Configuration: Lines 8-16
- Menu Setup: Lines 29-90
- Keyboard Shortcuts: Lines 95-140
- Theme Management: Uses Electron's
nativeThemeAPI
Replace the icon files in the /icon directory and update the path in main.js:
icon: path.join(__dirname, 'icon', 'your-icon.png')Modify the zoom limits in main.js:
// Current: 50% to 300%
win.webContents.setZoomFactor(Math.min(currentZoom + 0.1, 3.0)); // Max zoom
win.webContents.setZoomFactor(Math.max(currentZoom - 0.1, 0.5)); // Min zoomContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Colab for the amazing platform
- Electron for making desktop apps with web technologies possible
- Icons from Google Colab's official resources
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- Provide detailed information about your system and the issue
Made with ❤️ for the data science community
Enjoy coding in Google Colab with a native desktop experience!