Features Install Controls Dev Notes
v0.3.0 — stable

kebabOS

A high-performance, window-based operating system environment built entirely in Pygame. Custom kernel, window management, and graphical web rendering.

Get Started Explore

Everything you need,
nothing you don't.

A focused set of capabilities designed to deliver a complete desktop experience within Pygame.

Window Manager

Drag, resize, and stack multiple application windows with fluid, responsive interactions.

Smart Taskbar

Pin and unpin apps via context menus with real-time running indicators using a teal accent bar.

kebabBrowser

Graphical web rendering via html2image with scroll support and clipboard integration.

Clipboard Support

Full Ctrl+V pasting functionality in text fields across all applications.

Persistence

Saves pinned apps and settings to storage/data.json between sessions.

Up and running
in two steps.

Install the dependencies, ensure a Chromium-based browser is available, and you're set.

01

Install Python dependencies

pip install pygame requests html2image
02

Linux clipboard

sudo apt-get install xclip
03

Browser engine

# Requires one of: Google Chrome Microsoft Edge Chromium

Keyboard & mouse.

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

Under the hood.

Architecture notes for contributors and app developers.

Event Routing

The kernel automatically sends KEYDOWN and MOUSEWHEEL events to the top-most active window.

Clipping

Content is rendered using surface.set_clip() to prevent UI overlap during resizing or scrolling.

Custom Apps

Learn how to create your own applications by reading the Custom Apps documentation.

License

kebabOS is released under the MIT License — free for personal and commercial use.