A high-performance, window-based operating system environment built entirely in Pygame. Custom kernel, window management, and graphical web rendering.
01 / Features
A focused set of capabilities designed to deliver a complete desktop experience within Pygame.
Drag, resize, and stack multiple application windows with fluid, responsive interactions.
Pin and unpin apps via context menus with real-time running indicators using a teal accent bar.
Graphical web rendering via html2image with scroll support and clipboard integration.
Full Ctrl+V pasting functionality in text fields across all applications.
Saves pinned apps and settings to storage/data.json between sessions.
02 / Installation
Install the dependencies, ensure a Chromium-based browser is available, and you're set.
pip install pygame requests html2image
sudo apt-get install xclip
# Requires one of:
Google Chrome
Microsoft Edge
Chromium
03 / Controls
Intuitive controls built around familiar desktop paradigms.
| Action | Control |
|---|---|
| Open Start Menu | Click the kebab icon bottom-left |
| Pin to Taskbar | Right-click app → Pin to Taskbar |
| Unpin App | Right-click icon → Unpin |
| Resize Window | Drag the bottom-right corner handle |
| Paste URL | Ctrl + V in Browser |
| Clear URL Bar | Click × in address bar |
| Scroll Webpage | Mouse Wheel inside Browser |
04 / Developer
Architecture notes for contributors and app developers.
The kernel automatically sends KEYDOWN and MOUSEWHEEL events to the top-most active window.
Content is rendered using surface.set_clip() to prevent UI overlap during resizing or scrolling.
Learn how to create your own applications by reading the Custom Apps documentation.
kebabOS is released under the MIT License — free for personal and commercial use.