mirror of
https://github.com/SerenityOS/serenity
synced 2024-11-05 17:46:52 +00:00
SerenityOS Documentation
Serenity development moves quickly, so some of these might be out of date. Please let us know if something here is wrong, or submit a PR with any additions or corrections! If you have any questions that are not answered here or in the FAQ, you are welcome to ask on Discord.
A list of useful pages across the web can be found on the link list.
Building and Running
- Build Instructions
- Advanced Build Instructions
- Troubleshooting
- Running in VirtualBox
- Running in VMware
- Running Tests
- Setting Up Self-Hosted Runners
- Profiling the Build
- Spice Integration
OS-specific
Make sure to read the basic Build Instructions first.
Running on Hardware
Configuring Editors
Development
- How to Contribute
- Coding Style
- Common Patterns
- Guidelines for Text in UI
- Guidelines for writing manual pages
- EventLoop
- High DPI Support
- Smart Pointers
- String Formatting
- How to Transfer Files Out of Serenity
File and Data Formats
- Application Files (.af)
- Bitmap Fonts (.font)
- Clipboard data
- Drag-and-drop data
- GUI Markup Language (.gml)
- HackStudio Post-Create Scripts (.postcreate)
- Inter-Process Communication protocol (.ipc)
Browser/LibWeb
- Ladybird Browser Build Instructions
- General Architecture
- LibWeb: From Loading to Painting
- How to Add an IDL File
- LibWeb Code Style & Patterns
Kernel
- AHCI Locking
- ProcFS Indexing
- RAMFS
- IOWindow
- Graphics Subsystem
- Kernel Development Patterns & Guidelines
Applications
Documentation for SerenityOS applications and utilities can be found in the man pages.