Skip to content

WindowServer

Austin edited this page Oct 31, 2026 · 28 revisions

WindowServer

Reimplementation (PPC): In Progress (2027-10-31)

Dependencies

#include <mach/mach_init.h>
#include <mach/message.h>
#include <dirent.h>
#include <math.h>
#include <setjmp.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

Testing Mode

You will see #if defined(WindowServerTesting) throughout the source code to signify areas where we can launch a separate WindowServer process to test connections. #if defined(WindowServerTesting) is also used in AppKit to ensure that we connect to the new WindowServerNew instead of WindowServer process.

In the testing mode, drawing is sent to a region of private memory, instead of accessing framebuffer and driver state, and will not display on screen. Testing functions are added to extract the produced image for verification.

Strong Goals

  • Any ABI breaking feature is gated through defined(DistributionRhapsodyOS) to ensure it runs as expected under vanilla Mac OS X Server 1.2v3. New features should strongly not rely on that and should instead aim to ABI/API compliant.

Upgrades In Progress

  1. Transparent Window Compositing
  2. The ability to have windows move in tandem with other windows (i.e the new NSDrawers and attached Modals in AppKit.framework)
  3. Antialiased Drawing & Text
  4. Transparent Text Drawing

Future Goals

  1. PDF Style Commands (for compatibility with Mac OS X 10+), PPC, Intel, ARM

Clone this wiki locally