Main Page: Difference between revisions
Sirajrazick (talk | contribs) |
Sirajrazick (talk | contribs) |
||
| Line 8: | Line 8: | ||
|- | |- | ||
! Focus | ! Focus | ||
| GPU | | GPU accelerated compositor and desktop shell for Desktop and Embedded Linux | ||
|- | |- | ||
! Runtime | ! Runtime | ||
Revision as of 19:53, 21 March 2026
PlexyDesk
PlexyDesk is a display server and desktop shell for Linux built around a modern, GPU-driven user interface. It is responsible for drawing the desktop itself, placing application windows on screen, rendering the dock and the menubar, handling animation and visual effects, and presenting a consistent UI toolkit for PlexyDesk applications.
| Focus | GPU accelerated compositor and desktop shell for Desktop and Embedded Linux |
|---|---|
| Runtime | plexyshell
|
| Client stack | libplexy, libplexycanvas, libplexyui
|
| License | AGPL-3.0-only |
About Plexydesk
PlexyDesk combines three responsibilities into one system:
- it acts as the display server that decides what appears on screen
- it acts as the desktop shell that draws the dock, menubar, background, and window chrome
- it provides application-facing libraries so apps can create native PlexyDesk windows and controls
In practical terms, PlexyDesk is the part of the desktop that gives applications a place to live, gives windows their shape and motion, and gives the overall environment its visual identity.
Architecture in plain language
PlexyDesk is organised around three main layers:
| Layer | What it is responsible for |
|---|---|
| Applications | Programs create windows, text, buttons, panels, lists, drawers, and other interface elements |
| PlexyDesk client libraries | The libraries help apps describe their UI, render it locally, and send finished frames to the display server |
| PlexyDesk compositor and shell | The compositor places windows on screen, draws the desktop shell, applies visual effects, handles input routing, and presents the final image |
Instead of asking the shell to draw every application widget for them, PlexyDesk applications can render their own interface locally and then hand the finished frame to the compositor. The compositor then combines those application surfaces with system elements such as the dock, menubar, background, window chrome, and transitions. This keeps the shell visually consistent while still allowing applications to manage their own content.
Supported desktop features
Window presentation and motion
PlexyDesk provides its own window chrome and visual framing. Windows are not treated as plain rectangles with static borders; they are part of the shell experience. The compositor supports:
- animated window movement
- resize handling
- window shadows and depth styling
- rounded corners and smooth surface edges
- minimise and transition effects
- focus-aware rendering and presentation
Dock and menubar
PlexyDesk includes built-in desktop shell components instead of leaving those responsibilities to separate tools. Supported shell features include:
- a dock with launch feedback and running indicators
- icon magnification behaviour as the pointer moves across the dock
- a menubar that can show application menus, titles, and status information
- a desktop-level clock and shell-facing window metadata
Visual materials and effects
The rendering system supports a polished visual layer throughout the shell and the UI toolkit. This includes:
- glass-style surfaces
- blur-based materials
- shader-driven lighting and depth cues
- smooth rounded geometry
- scalable vector-style shape rendering for interface elements
- consistent text and surface styling across windows and widgets
These effects are part of the compositor and UI stack itself, so they can be used across the desktop rather than being isolated to one application.
Application UI toolkit
PlexyDesk includes a UI layer for building applications that look and behave like part of the environment. Supported interface building blocks include:
- labels and buttons
- text input and text areas
- sliders, switches, checkboxes, and progress controls
- separators, panels, rows, and columns
- list views and icon views
- sidebars, toolbars, breadcrumbs, status bars, and drawers
- menu integration for desktop menubars
The toolkit also supports layout controls such as padding, spacing, alignment, flexible sizing, and batched updates for responsive interfaces.
Multi-display and layout awareness
PlexyDesk is built with display layout awareness in mind. The configuration and compositor layout model support:
- more than one monitor
- explicit placement of outputs in desktop space
- per-layout presets
- desktop-space positioning that keeps pointer movement and window placement coherent across screens
Backgrounds and appearance
The shell supports desktop appearance controls such as:
- theme selection
- UI scale factor control
- wallpaper backgrounds
- animated background modes
- compositor tuning for chrome, blur, and window presentation
- dock and terminal appearance settings through configuration
Stability through application isolation
PlexyDesk applications can render their own content locally and then submit frames to the compositor. In simple terms, that means the shell manages the desktop while applications manage their own drawing. This separation helps keep the shell in control of composition and reduces the amount of direct rendering work the shell has to do for every application surface.
Internal building blocks
| Area | Purpose |
|---|---|
src/
|
Compositor, backend, renderer, input, protocol, and shell code |
lib/
|
Client-side support libraries and event loop code |
include/plexy/
|
Public API headers such as plexy_ui.h
|
examples/
|
Small client and UI examples |
apps/
|
Application experiments such as terminal, browser, clock, calculator, and file manager |
tasks/
|
Engineering notes, implementation summaries, and optimization work |
Explore the project
- Architecture - a deeper technical explanation of how the compositor and client stack fit together
- Developer Guide - where the important source files and subsystems live
- Examples - small programs that show what PlexyDesk applications can look like
- Development Status - implementation notes and the current shape of the project
Current state
PlexyDesk already includes a functioning compositor shell, a built-in dock and menubar, a GPU-driven rendering path, and a native application UI toolkit. Work is ongoing across performance, compatibility, and broader desktop behaviour, but the front-page story of the project is already clear: PlexyDesk is a complete graphical shell with its own rendering model, desktop components, and application framework.
This page has not yet been filed in a published category.