M proto/tabbde.xml => proto/tabbde.xml +6 -96
@@ 3,96 3,22 @@
<copyright>This file is in the Public Domain, and the author
waives all legal rights to it.</copyright>
- <description summary="A better way to use the computer">
- A better way to use the computer.</description>
-
- <interface name="tde_wm_base" version="1">
- <request name="register_scheme">
- <description summary="Used by all scheme handlers.">
- This is what a program wishing to handle a specific scheme
- uses to inform the WM that it will do so. Only one of these may
- exist for any scheme, in all clients. Creating a new one
- for a given scheme invalidates all others.</description>
- <arg name="id" type="new_id" interface="tde_scheme" />
- <arg name="scheme" type="string" />
- </request>
- <request name="register_renderer">
- <description summary="Used by all renderers.">
- This is what any renderer uses to advertise to the WM. Slugs
- must be globally unique, and attempting to reregister one
- should error.</description>
- <arg name="id" type="new_id" interface="tde_renderer" />
- <arg name="slug" type="string" />
- </request>
+ <description summary="TabbDE core">
+ This protocol contains features core to the way the tabbed desktop
+ environment (TabbDE) functions.</description>
+ <interface name="urish_wm_base" version="1">
<request name="register_fallback">
<description summary="Used to handle unknown schemes and MIMEs">
This shouldn't be used by any applications, it's a core part of
the finished DE. Only one application may register itself as a
fallback handler, and the WM should expect this to happen at
early boot.</description>
- <arg name="id" type="new_id" interface="tde_fallback" />
- </request>
- <request name="register_system">
- <description summary="May contain settings, debug info, etc.">
- This shouldn't be used by any applications, it's a core part of
- the finished DE. Only one application may register itself as a
- system:// handler, and the WM should expect this to happen at
- early boot.</description>
- <arg name="id" type="new_id" interface="tde_system" />
- </request>
- </interface>
-
- <interface name="tde_scheme" version="1">
- <event name="read_request">
- <arg name="response" type="new_id" interface="tde_response" />
- <arg name="url" type="string" />
- <arg name="metadata" type="string" />
- </event>
- <event name="write_request">
- <arg name="response" type="new_id" interface="tde_response" />
- <arg name="url" type="string" />
- <arg name="metadata" type="string" />
- <arg name="data" type="fd" />
- </event>
-
- <event name="superceded" type="destructor" />
- </interface>
-
- <interface name="tde_renderer" version="1">
- <event name="render">
- <arg name="response" type="new_id" interface="tde_response" />
- <arg name="url" type="string" />
- <arg name="was_write" type="uint" />
- <arg name="mime_type" type="string" />
- <arg name="metadata" type="string" />
- <arg name="data" type="fd" />
- </event>
- </interface>
-
- <interface name="tde_response" version="1">
- <request name="surface" type="destructor">
- <arg name="page" type="new_id" interface="tde_page" />
- <arg name="surface" type="object" interface="wl_surface" />
+ <arg name="id" type="new_id" interface="tabbde_fallback" />
</request>
- <request name="data" type="destructor">
- <arg name="page" type="new_id" interface="tde_page" />
- <arg name="mime_type" type="string" />
- <arg name="metadata" type="string" />
- <arg name="data" type="fd" />
- </request>
- <request name="error" type="destructor">
- <arg name="page" type="new_id" interface="tde_page" />
- <arg name="title" type="string" />
- <arg name="message" type="string" />
- </request>
- </interface>
-
- <interface name="tde_page" version="1">
-
</interface>
- <interface name="tde_fallback" version="1">
+ <interface name="urish_fallback" version="1">
<description summary="Internal method for fixing unknown types.">
The fallback interface exists so that the DE can ask the user for
what to do when encountering an unknown scheme or MIME type. Each
@@ 122,20 48,4 @@
<arg name="serial" type="uint" />
</request>
</interface>
-
- <interface name="tde_system" version="1">
-
- </interface>
-
- <interface name="tde_surface" version="1">
-
- </interface>
-
- <interface name="tde_window" version="1">
-
- </interface>
-
- <interface name="tde_tab" version="1">
-
- </interface>
</protocol>
A proto/uri_shell.xml => proto/uri_shell.xml +109 -0
@@ 0,0 1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="uri_shell">
+ <copyright>This file is in the Public Domain, and the author
+ waives all legal rights to it.</copyright>
+
+ <description summary="A better way to use the computer">
+ Most programs operate on data with a known location. This protocol
+ provides the base for a windowing system centered around URIs.
+
+ Individual windows are not provided by single apps. Instead they
+ are made up of a scheme handler, which uses a URI to retrieve some
+ data, and an ad-hoc series of renderers which produces the final
+ wl_surface to be rendered.
+
+ This protocol only defines the interface for scheme handlers and
+ renderers to connect and facilitate the rendering of windows. The
+ mechanism by which such clients are started, routed, or otherwise
+ configured is out-of-scope for this protocol.</description>
+
+ <interface name="urish_wm_base" version="1">
+ <request name="register_scheme">
+ <description summary="Used by all scheme handlers.">
+ This is what a program wishing to handle a specific scheme
+ uses to inform the WM that it will do so. Only one of these may
+ exist for any scheme, in all clients. Creating a new one
+ for a given scheme invalidates all others.</description>
+ <arg name="id" type="new_id" interface="urish_scheme" />
+ <arg name="scheme" type="string" />
+ <arg name="flags" type="uint" enum="urish_scheme.flags" />
+ </request>
+ <request name="register_renderer">
+ <description summary="Used by all renderers.">
+ This is what any renderer uses to advertise to the WM. Slugs
+ must be globally unique, and attempting to reregister one
+ should error.</description>
+ <arg name="id" type="new_id" interface="urish_renderer" />
+ <arg name="slug" type="string" />
+ <arg name="flags" type="uint" enum="urish_renderer.flags" />
+ </request>
+ </interface>
+
+ <interface name="urish_scheme" version="1">
+ <description summary="The service used to start rendering a page">
+
+ <event name="read_request">
+ <arg name="response" type="new_id" interface="urish_response" />
+ <arg name="url" type="string" />
+ <arg name="metadata" type="string" />
+ </event>
+ <event name="write_request">
+ <arg name="response" type="new_id" interface="urish_response" />
+ <arg name="url" type="string" />
+ <arg name="metadata" type="string" />
+ <arg name="data" type="fd" />
+ </event>
+
+ <event name="superceded" type="destructor" />
+
+ <enum name="flags" bitfield="true">
+ <entry name="supercedable" value="1" />
+ </enum>
+ </interface>
+
+ <interface name="urish_renderer" version="1">
+ <event name="render">
+ <arg name="response" type="new_id" interface="urish_response" />
+ <arg name="url" type="string" />
+ <arg name="was_write" type="uint" />
+ <arg name="mime_type" type="string" />
+ <arg name="metadata" type="string" />
+ <arg name="data" type="fd" />
+ </event>
+
+ <event name="superceded" type="destructor" />
+
+ <enum name="flags" bitfield="true">
+ <entry name="supercedable" value="1" />
+ </enum>
+ </interface>
+
+ <interface name="urish_response" version="1">
+ <request name="surface" type="destructor">
+ <arg name="page" type="new_id" interface="urish_page" />
+ <arg name="surface" type="new_id" interface="urish_surface" />
+ <arg name="raw_surface" type="object" interface="wl_surface" />
+ </request>
+ <request name="data" type="destructor">
+ <arg name="page" type="new_id" interface="urish_page" />
+ <arg name="mime_type" type="string" />
+ <arg name="metadata" type="string" />
+ <arg name="data" type="fd" />
+ </request>
+ <request name="error" type="destructor">
+ <arg name="page" type="new_id" interface="urish_page" />
+ <arg name="title" type="string" />
+ <arg name="message" type="string" />
+ </request>
+
+ <event name="cancel" type="destructor" />
+ </interface>
+
+ <interface name="urish_page" version="1">
+
+ </interface>
+
+ <interface name="urish_surface" version="1">
+
+ </interface>
+</protocol>