Main Page: Difference between revisions

Refresh main page for PlexyPress editorial layout
No edit summary
 
(14 intermediate revisions by 2 users not shown)
Line 5: Line 5:


<div class="pp-frontpage__lead">
<div class="pp-frontpage__lead">
<div class="pp-frontpage__label">Lead article</div>
<div class="pp-frontpage__label">System overview</div>


== The PlexyDesk desktop as one coherent system ==
== What is PlexyDesk ==


<p class="pp-frontpage__deck">PlexyDesk is a Linux display server, compositor, desktop shell, and application toolkit built to present the desktop as one connected system. It is concerned with how windows move, how the dock and menubar behave, how widgets are drawn, and how applications participate in the same visual language.</p>
<div class="pp-frontpage__hero">
[[File:Screenshot_2026-03-21_20-33-27.png|alt=shows plexydesk in use|900px|none]]
<div class="pp-frontpage__hero-caption"></div>
</div>


PlexyDesk does not stop at arranging windows on screen. It draws the shell itself, manages presentation and effects, and offers native client libraries so applications can feel like part of the environment rather than separate guests inside it.
<p class="pp-frontpage__deck">PlexyDesk is a Linux display server, compositor, desktop shell, and application toolkit for GNU/Linux and BSD. The project provides you with a full rendering infrastructure to create your own desktop environment, and client-side UI libraries to create native applications required for your DE. We are excited to see what you will create, so just ping us on Discord or  update this wiki to share your project</p>
 
PlexyDesk is available to anyone, anywhere in the world, without restrictions. We do not block access based on location, and we do not track the people who use it. Our goal is simple: make PlexyDesk openly available to every earthling, no matter where they are.


* [[Architecture|Read the architecture briefing]]
* [[Documentation|Open the documentation desk]]
* [[Components|Browse the component index]]
</div>
</div>


<div class="pp-frontpage__story">
<div class="pp-frontpage__label">Architecture spotlight</div>


== Compositor, shell, and toolkit ==


The system is organised around a compositor that combines application surfaces with desktop-owned elements such as the dock, the menubar, wallpaper, window frames, and transitions. Client libraries help applications render their own interface and submit finished surfaces to the shell, keeping responsibilities clear while preserving a consistent desktop identity.
<div class="pp-frontpage__story pp-frontpage__story--wide">
<div class="pp-frontpage__label">Section index</div>


See [[Architecture]] for the full technical model, or jump to [[PlexyUI API]] for the current toolkit surface.
== Main sections ==
</div>


<div class="pp-frontpage__story">
<div class="pp-frontpage__section-grid">
<div class="pp-frontpage__label">Project features</div>


== What the desktop already supports ==
<div>
=== Primary sections ===
<ul class="pp-frontpage__brief-list">
<li>'''[[Documentation]]''' - top-level map of architecture notes, references, examples, and project pages.</li>
<li>'''[[Architecture]]''' - compositor, shell, client, and rendering model.</li>
<li>'''[[Development]]''' - engineering focus areas and implementation-oriented documentation hubs.</li>
<li>'''[[Components]]''' - subsystem survey and source tree structure.</li>
<li>'''[[News]]''' - project chronicle and milestone summaries.</li>
<li>'''[[Gallery]]''' - screenshots and short demo captures of PlexyDesk sessions.</li>
<li>'''[[Community]]''' - contribution and wiki participation guidance.</li>
</ul>
</div>


<div>
=== Reference pages ===
<ul class="pp-frontpage__brief-list">
<ul class="pp-frontpage__brief-list">
<li>GPU-driven window composition and desktop rendering.</li>
<li>'''[[Developer Guide]]''' - source orientation and implementation landmarks.</li>
<li>Integrated dock and menubar owned by the shell.</li>
<li>'''[[PlexyUI API]]''' - generated reference for the current UI toolkit headers.</li>
<li>Window movement, resize handling, depth styling, and smooth surface presentation.</li>
<li>'''[[Examples]]''' - sample programs and UI usage patterns.</li>
<li>Native UI controls through PlexyUI, including text, panels, lists, sliders, and drawers.</li>
<li>'''[[Development Status]]''' - current implementation notes and subsystem coverage.</li>
<li>Wallpaper, theme, scale, and appearance configuration.</li>
<li>'''[[Getting Started]]''' - local runtime and setup notes.</li>
<li>Multi-display layout awareness and desktop-space positioning.</li>
<li>'''[[Desktop Submissions]]''' - public procedure for uploading screenshots and listing desktops.</li>
</ul>
</ul>
</div>
</div>
</div>
</div>


<div class="pp-frontpage__story">
<div class="pp-frontpage__story">
<div class="pp-frontpage__label">Reference desk</div>
<div class="pp-frontpage__label">What PlexyDesk is</div>
 
== System model ==


== Essential reading ==
PlexyDesk combines several layers that are often documented separately: a compositor responsible for final output composition, a desktop shell responsible for system UI such as the dock and menubar, and client libraries that let applications render native interface surfaces.


* [[Documentation]] for the main documentation map
Applications can render their own content and submit finished surfaces to the compositor. The shell composes those surfaces with desktop-owned elements, manages input routing, and applies the presentation rules that define the environment.
* [[Developer Guide]] for source tree orientation
* [[Examples]] for small application and UI samples
* [[Development Status]] for engineering notes and implementation coverage
* [[Getting Started]] for the current environment and setup notes
</div>
</div>


<div class="pp-frontpage__story">
<div class="pp-frontpage__story">
<div class="pp-frontpage__label">Shell components</div>
<div class="pp-frontpage__label">Feature areas</div>


== Major building blocks ==
== Implemented feature areas ==
 
<ul class="pp-frontpage__brief-list">
<li>GPU-accelerated composition of windows and desktop surfaces.</li>
<li>Shell-owned dock, menubar, wallpaper, and window framing.</li>
<li>Window movement, resizing, focus handling, transitions, and presentation effects.</li>
<li>Client-side UI toolkit components exposed through PlexyUI and related libraries.</li>
<li>Theme, scale, wallpaper, and appearance configuration.</li>
<li>Multi-display layout and desktop-space positioning support.</li>
</ul>
</div>


PlexyDesk is made up of several layers that cooperate closely: compositor and backend code in <code>src/</code>, client-facing libraries in <code>lib/</code>, public headers in <code>include/plexy/</code>, example programs in <code>examples/</code>, and application experiments in <code>apps/</code>. Each layer exists to explain one part of the system rather than hide it.
<div class="pp-frontpage__story">
<div class="pp-frontpage__label">Technical entry points</div>


The [[Components]] page gives a structured survey of the main areas and why they matter.
== Key references ==
 
<ul class="pp-frontpage__brief-list">
<li>Start with [[Architecture]] for the runtime model.</li>
<li>Use [[Components]] and [[Developer Guide]] for source orientation.</li>
<li>Use [[PlexyUI API]] for the current public UI interface surface.</li>
<li>Use [[Examples]] to inspect small application patterns.</li>
</ul>
</div>
</div>


<div class="pp-frontpage__story">
<div class="pp-frontpage__story">
<div class="pp-frontpage__label">Development notes</div>
<div class="pp-frontpage__label">Wiki interaction</div>


== What the project is refining ==
== Using this wiki ==


Current work is centred on stabilising compositor behaviour, expanding the UI toolkit, clarifying subsystem boundaries, and documenting APIs in a way that stays close to the source tree. The generated [[PlexyUI API]] reference and the living [[Development]] hub are intended to keep the publication aligned with the code.
<ul class="pp-frontpage__brief-list">
<li>[[Special:AllPages]] provides the complete page index.</li>
<li>[[Special:RecentChanges]] shows the latest documentation edits.</li>
<li>[[Special:Upload]] accepts images and video for diagrams, screenshots, and demonstrations.</li>
<li>[[Gallery]] collects submitted screenshots and short demo captures.</li>
<li>[[Desktop Submissions]] explains how public users can contribute desktops.</li>
<li>Talk pages remain available for technical discussion and page review.</li>
</ul>
</div>
</div>


<div class="pp-frontpage__story">
<div class="pp-frontpage__story">
<div class="pp-frontpage__label">Community and record</div>
<div class="pp-frontpage__label">Current scope</div>


== A working journal for the project ==
== Current documentation scope ==


This wiki is meant to read like a publication, but it also acts as the project record: pages can be edited collaboratively, images and videos can be uploaded to illustrate work, and talk pages remain available for discussion. Visit [[Community]] for editorial and collaboration pointers, or [[News]] for the project chronicle.
The current wiki covers architecture, source structure, generated API reference, example programs, implementation status, and project record pages. It will continue to expand as more subsystem documentation is extracted directly from the codebase.
</div>
</div>


</div>
</div>

Latest revision as of 20:18, 24 March 2026


System overview

What is PlexyDesk

shows plexydesk in use

PlexyDesk is a Linux display server, compositor, desktop shell, and application toolkit for GNU/Linux and BSD. The project provides you with a full rendering infrastructure to create your own desktop environment, and client-side UI libraries to create native applications required for your DE. We are excited to see what you will create, so just ping us on Discord or update this wiki to share your project

PlexyDesk is available to anyone, anywhere in the world, without restrictions. We do not block access based on location, and we do not track the people who use it. Our goal is simple: make PlexyDesk openly available to every earthling, no matter where they are.


Section index

Main sections

Primary sections

  • Documentation - top-level map of architecture notes, references, examples, and project pages.
  • Architecture - compositor, shell, client, and rendering model.
  • Development - engineering focus areas and implementation-oriented documentation hubs.
  • Components - subsystem survey and source tree structure.
  • News - project chronicle and milestone summaries.
  • Gallery - screenshots and short demo captures of PlexyDesk sessions.
  • Community - contribution and wiki participation guidance.

Reference pages

What PlexyDesk is

System model

PlexyDesk combines several layers that are often documented separately: a compositor responsible for final output composition, a desktop shell responsible for system UI such as the dock and menubar, and client libraries that let applications render native interface surfaces.

Applications can render their own content and submit finished surfaces to the compositor. The shell composes those surfaces with desktop-owned elements, manages input routing, and applies the presentation rules that define the environment.

Feature areas

Implemented feature areas

  • GPU-accelerated composition of windows and desktop surfaces.
  • Shell-owned dock, menubar, wallpaper, and window framing.
  • Window movement, resizing, focus handling, transitions, and presentation effects.
  • Client-side UI toolkit components exposed through PlexyUI and related libraries.
  • Theme, scale, wallpaper, and appearance configuration.
  • Multi-display layout and desktop-space positioning support.
Technical entry points

Key references

Wiki interaction

Using this wiki

  • Special:AllPages provides the complete page index.
  • Special:RecentChanges shows the latest documentation edits.
  • Special:Upload accepts images and video for diagrams, screenshots, and demonstrations.
  • Gallery collects submitted screenshots and short demo captures.
  • Desktop Submissions explains how public users can contribute desktops.
  • Talk pages remain available for technical discussion and page review.
Current scope

Current documentation scope

The current wiki covers architecture, source structure, generated API reference, example programs, implementation status, and project record pages. It will continue to expand as more subsystem documentation is extracted directly from the codebase.