Page cover

GUI-Desktop Enviroment

NØNOS includes a graphical desktop environment.


Architecture

┌─────────────────────────────────────────────────────────────────┐
│                    DESKTOP ENVIRONMENT                          │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────┐  │
│  │   Taskbar   │  │ System Tray │  │     Clock Widget        │  │
│  └─────────────┘  └─────────────┘  └─────────────────────────┘  │
│                                                                 │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │                                                           │  │
│  │                    WINDOW COMPOSITOR                      │  │
│  │                                                           │  │
│  │   ┌─────────────────┐     ┌─────────────────┐             │  │
│  │   │    Terminal     │     │   Application   │             │  │
│  │   │                 │     │                 │             │  │
│  │   └─────────────────┘     └─────────────────┘             │  │
│  │                                                           │  │
│  └───────────────────────────────────────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│                      FRAMEBUFFER DRIVER                         │
│                   (UEFI GOP / Direct FB)                        │
└─────────────────────────────────────────────────────────────────┘

Components

Window Manager

Manages window lifecycle:

Window Compositor

Composites windows to screen:

  • Dirty region tracking

  • Z-order management

  • Window occlusion

  • Double buffering

Taskbar

Shows running applications:

  • Application icons

  • Window titles

  • Quick launch

  • System buttons

System Tray

System indicators:

  • Network status

  • Battery (if applicable)

  • Notifications

  • Quick settings

Clock Widget

Time display:

  • 24-hour or 12-hour format

  • Optional seconds display

  • Date display


Framebuffer

Specifications

Parameter
Value

Max Resolution

1920 × 1080

Pixel Format

RGBA (32-bit)

Color Depth

8 bits per channel

Max Pixels

~4 million

Min Buffer

4 KB


Memory Layout


Input Handling

Keyboard

  • PS/2 keyboard support

  • USB keyboard (XHCI)

  • Scancode to keycode translation

  • Modifier key tracking (Shift, Ctrl, Alt)

Mouse

  • PS/2 mouse support

  • USB mouse (XHCI)

  • Absolute and relative positioning

  • Button state tracking


Event System

Event Types

Event Flow


Terminal

Built-in terminal emulator:

Features

  • VT100/ANSI escape codes

  • Scrollback buffer

  • Copy/paste

  • Configurable colors

  • Multiple fonts

Shell Commands


Graphics API

Drawing Primitives

Color Format


Resolution Support

Resolution
Status

640 × 480

Supported

800 × 600

Supported

1024 × 768

Supported

1280 × 720

Supported

1920 × 1080

Supported

Higher

Limited by VRAM


Performance

Operation
Time

Window create

~1 ms

Window destroy

~0.5 ms

Full redraw

~16 ms (60 FPS)

Partial redraw

~2 ms

Input event

~0.1 ms


Themes

Default Theme

Element
Color

Background

Dark gray (#2D2D2D)

Window title

Blue (#3498DB)

Active border

Light blue (#5DADE2)

Inactive border

Gray (#7F8C8D)

Text

White (#FFFFFF)


Configuration

Display settings in boot config:


Limitations

Current limitations (active development):

  • Single monitor only

  • No hardware acceleration (software rendering)

  • Basic window decorations

  • Limited font support


Future Plans

  • Multi-monitor support

  • GPU acceleration (Vulkan/OpenGL)

  • Wayland-compatible protocol

  • Theme customization

  • Widget toolkit

Last updated

Was this helpful?