Add live config reload, session locking and managed daemons

Refine focus gradients, shell workspace controls and popup motion. Correct floating stacking and preserve client-chosen dialog sizes. Add lock protocol probes and session integration.
This commit is contained in:
Samuel Onoja committed 2026-09-26 19:03:37 +01:00
1 parent b422448d88
commit 672b4e2b60
41 files changed
+2694 -298

No files matched your search

+9 -2
View File
@@ -22,7 +22,7 @@
DEALINGS IN THE SOFTWARE.
</copyright>
<interface name="ferese_effects_manager_v1" version="2">
<interface name="ferese_effects_manager_v1" version="3">
<description summary="assign semantic material roles to surfaces">
This private global is visible only to clients granted the Ferese effects
capability. Roles describe compositor-owned appearance policy and do not
@@ -48,7 +48,7 @@
</enum>
</interface>
<interface name="ferese_surface_effects_v1" version="2">
<interface name="ferese_surface_effects_v1" version="3">
<description summary="semantic material role for one surface">
The role affects only compositor rendering. It does not change surface
geometry, input, focus, stacking, or the surface's Wayland role.
@@ -88,5 +88,12 @@
</description>
<arg name="regions" type="array"/>
</request>
<request name="set_opacity" since="3">
<description summary="fade the complete surface presentation">
Opacity from 0 to 1000, including surface content, material and shadow.
Values above 1000 are clamped. Input and geometry remain unchanged.
</description>
<arg name="opacity" type="uint"/>
</request>
</interface>
</protocol>
+13 -2
View File
@@ -22,7 +22,7 @@
DEALINGS IN THE SOFTWARE.
</copyright>
<interface name="ferese_shell_manager_v1" version="1">
<interface name="ferese_shell_manager_v1" version="2">
<description summary="create a capability-scoped Ferese shell controller">
This private global is visible only to clients granted the shell-control
capability. It does not assign a Wayland surface role.
@@ -35,7 +35,7 @@
<request name="destroy" type="destructor"/>
</interface>
<interface name="ferese_shell_v1" version="1">
<interface name="ferese_shell_v1" version="2">
<description summary="managed-window metadata and shell control">
Window, workspace, and output identifiers are unsigned 64-bit values
encoded as high and low 32-bit words. Each snapshot atomically replaces
@@ -132,5 +132,16 @@
<description summary="marks completion of initial protocol setup"/>
<arg name="version" type="uint"/>
</event>
<event name="config_begin" since="2">
<description summary="complete validated configuration for live reload">
Sent only after the compositor has accepted the complete configuration.
Followed by bounded UTF-8 chunks and config_end. Clients apply only the
completed source, preserving their current appearance if parsing fails.
</description>
</event>
<event name="config_chunk" since="2">
<arg name="source" type="string"/>
</event>
<event name="config_end" since="2"/>
</interface>
</protocol>