mirror of
https://github.com/SerenityOS/serenity.git
synced 2026-11-07 04:29:30 -10:00
These were previously spread over multiple editor documentation files, so we consolidate them into one while dropping outdated (or unexplained) options. A new ClangdConfiguration file is created that will house the common config. Furthermore, since clangd 20 supports the header style options (implemented by yours truly), document that this feature is now available and what AngledHeaders globs to use for Serenity specifically.
3.5 KiB
3.5 KiB
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 and Language Servers
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
- CSS Generated Files
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.