[PATCHv4] Add name event to xdg-output

Submitted by Drew DeVault on April 18, 2018, 12:21 p.m.

Details

Message ID 20180418122129.GB4857@homura.localdomain
State Superseded
Headers show
Series "Add name event to xdg-output" ( rev: 6 ) in Wayland

Not browsing as part of any series.

Commit Message

Drew DeVault April 18, 2018, 12:21 p.m.
Replying to everyone.

On 2018-04-18  5:32 AM, Simon Ser wrote:
> I agree with Jonas here. Maybe we could add two fields:
> 
> - "codename", restricted to alphanumeric + hyphens characters (to reflect the
>   current informal practice to name outputs like "VGA-1"), specified to be
>   unique and persistent. These could be used in configuration files.
> - "description", specified to be human-readable and not necessarily unique.
>   These could be used in user interfaces.

I still haven't been convinced but I think everyone's said their piece
and I'm running out of patience. I would consider the following:


--
Drew DeVault

Patch hide | download patch | download mbox

diff --git a/unstable/xdg-output/xdg-output-unstable-v1.xml b/unstable/xdg-output/xdg-output-unstable-v1.xml
index b49a40e..67b4630 100644
--- a/unstable/xdg-output/xdg-output-unstable-v1.xml
+++ b/unstable/xdg-output/xdg-output-unstable-v1.xml
@@ -163,18 +163,40 @@ 
     allow them to be configured by name, etc. The client may wish to know this
     name as well to offer the user similar behaviors.
 
-    The naming convention is compositor defined. Each name is unique among all
-    wl_output globals, but if a wl_output global is destroyed the same name may
-    be reused later. The names will also remain consistent across sessions with
-    the same hardware and software configuration.
+    The naming convention is compositor defined, but limited to alphanumeric
+    characters and dashes (-). Each name is unique among all wl_output
+    globals, but if a wl_output global is destroyed the same name may be reused
+    later. The names will also remain consistent across sessions with the same
+    hardware and software configuration.
+
+    Examples of names include 'HDMI-A-1', 'WL-1', 'X11-1', etc. However, do not
+    assume that the name is a reflection of an underlying DRM connector, X11
+    connection, etc.
 
     The name event is sent after creating an xdg_output (see
     xdg_output_manager.get_xdg_output). This event is only sent once per
     xdg_output, and the name does not change over the lifetime of the
-    wl_output.
+    wl_output global.
       </description>
       <arg name="name" type="string" summary="output name"/>
     </event>
 
+    <event name="description" since="2">
+      <description summary="human-readable description of this output">
+    Many compositors can produce human-readable descriptions of their outputs.
+    The client may wish to know this description as well, to communicate the
+    user for various purposes.
+
+    The description is a UTF-8 string with no convention defined for its
+    contents. Examples might include 'Foocorp 11" Display' or 'Virtual X11
+    output via :1'.
+
+    The description event is sent after creating an xdg_output (see
+    xdg_output_manager.get_xdg_output). This event is only sent once per
+    xdg_output, and the description does not change over the lifetime of the
+    wl_output global. The description is optional, and may not be sent at all.
+      </description>
+    </event>
+
   </interface>
 </protocol>

Comments

On Wed, 18 Apr 2018 08:21:29 -0400
Drew DeVault <sir@cmpwn.com> wrote:

> Replying to everyone.
> 
> On 2018-04-18  5:32 AM, Simon Ser wrote:
> > I agree with Jonas here. Maybe we could add two fields:
> > 
> > - "codename", restricted to alphanumeric + hyphens characters (to reflect the
> >   current informal practice to name outputs like "VGA-1"), specified to be
> >   unique and persistent. These could be used in configuration files.
> > - "description", specified to be human-readable and not necessarily unique.
> >   These could be used in user interfaces.  
> 
> I still haven't been convinced but I think everyone's said their piece
> and I'm running out of patience. I would consider the following:
> 
> diff --git a/unstable/xdg-output/xdg-output-unstable-v1.xml b/unstable/xdg-output/xdg-output-unstable-v1.xml
> index b49a40e..67b4630 100644
> --- a/unstable/xdg-output/xdg-output-unstable-v1.xml
> +++ b/unstable/xdg-output/xdg-output-unstable-v1.xml
> @@ -163,18 +163,40 @@
>      allow them to be configured by name, etc. The client may wish to know this
>      name as well to offer the user similar behaviors.
>  
> -    The naming convention is compositor defined. Each name is unique among all
> -    wl_output globals, but if a wl_output global is destroyed the same name may
> -    be reused later. The names will also remain consistent across sessions with
> -    the same hardware and software configuration.
> +    The naming convention is compositor defined, but limited to alphanumeric
> +    characters and dashes (-). Each name is unique among all wl_output
> +    globals, but if a wl_output global is destroyed the same name may be reused
> +    later. The names will also remain consistent across sessions with the same
> +    hardware and software configuration.
> +
> +    Examples of names include 'HDMI-A-1', 'WL-1', 'X11-1', etc. However, do not
> +    assume that the name is a reflection of an underlying DRM connector, X11
> +    connection, etc.
>  
>      The name event is sent after creating an xdg_output (see
>      xdg_output_manager.get_xdg_output). This event is only sent once per
>      xdg_output, and the name does not change over the lifetime of the
> -    wl_output.
> +    wl_output global.
>        </description>
>        <arg name="name" type="string" summary="output name"/>
>      </event>
>  
> +    <event name="description" since="2">
> +      <description summary="human-readable description of this output">
> +    Many compositors can produce human-readable descriptions of their outputs.
> +    The client may wish to know this description as well, to communicate the
> +    user for various purposes.
> +
> +    The description is a UTF-8 string with no convention defined for its
> +    contents. Examples might include 'Foocorp 11" Display' or 'Virtual X11
> +    output via :1'.
> +
> +    The description event is sent after creating an xdg_output (see
> +    xdg_output_manager.get_xdg_output). This event is only sent once per
> +    xdg_output, and the description does not change over the lifetime of the
> +    wl_output global. The description is optional, and may not be sent at all.
> +      </description>

Missing the string argument, but looks good to me on a quick read.


Thanks,
pq

> +    </event>
> +
>    </interface>
>  </protocol>
> 
> --
> Drew DeVault
On Wed, Apr 18, 2018 at 03:53:31PM +0300, Pekka Paalanen wrote:
> On Wed, 18 Apr 2018 08:21:29 -0400
> Drew DeVault <sir@cmpwn.com> wrote:
> 
> > Replying to everyone.
> > 
> > On 2018-04-18  5:32 AM, Simon Ser wrote:
> > > I agree with Jonas here. Maybe we could add two fields:
> > > 
> > > - "codename", restricted to alphanumeric + hyphens characters (to reflect the
> > >   current informal practice to name outputs like "VGA-1"), specified to be
> > >   unique and persistent. These could be used in configuration files.
> > > - "description", specified to be human-readable and not necessarily unique.
> > >   These could be used in user interfaces.  
> > 
> > I still haven't been convinced but I think everyone's said their piece
> > and I'm running out of patience. I would consider the following:
> > 
> > diff --git a/unstable/xdg-output/xdg-output-unstable-v1.xml b/unstable/xdg-output/xdg-output-unstable-v1.xml
> > index b49a40e..67b4630 100644
> > --- a/unstable/xdg-output/xdg-output-unstable-v1.xml
> > +++ b/unstable/xdg-output/xdg-output-unstable-v1.xml
> > @@ -163,18 +163,40 @@
> >      allow them to be configured by name, etc. The client may wish to know this
> >      name as well to offer the user similar behaviors.
> >  
> > -    The naming convention is compositor defined. Each name is unique among all
> > -    wl_output globals, but if a wl_output global is destroyed the same name may
> > -    be reused later. The names will also remain consistent across sessions with
> > -    the same hardware and software configuration.
> > +    The naming convention is compositor defined, but limited to alphanumeric
> > +    characters and dashes (-). Each name is unique among all wl_output
> > +    globals, but if a wl_output global is destroyed the same name may be reused
> > +    later. The names will also remain consistent across sessions with the same
> > +    hardware and software configuration.
> > +
> > +    Examples of names include 'HDMI-A-1', 'WL-1', 'X11-1', etc. However, do not
> > +    assume that the name is a reflection of an underlying DRM connector, X11
> > +    connection, etc.
> >  
> >      The name event is sent after creating an xdg_output (see
> >      xdg_output_manager.get_xdg_output). This event is only sent once per
> >      xdg_output, and the name does not change over the lifetime of the
> > -    wl_output.
> > +    wl_output global.
> >        </description>
> >        <arg name="name" type="string" summary="output name"/>
> >      </event>
> >  
> > +    <event name="description" since="2">
> > +      <description summary="human-readable description of this output">
> > +    Many compositors can produce human-readable descriptions of their outputs.
> > +    The client may wish to know this description as well, to communicate the
> > +    user for various purposes.
> > +
> > +    The description is a UTF-8 string with no convention defined for its
> > +    contents. Examples might include 'Foocorp 11" Display' or 'Virtual X11
> > +    output via :1'.
> > +
> > +    The description event is sent after creating an xdg_output (see
> > +    xdg_output_manager.get_xdg_output). This event is only sent once per
> > +    xdg_output, and the description does not change over the lifetime of the
> > +    wl_output global. The description is optional, and may not be sent at all.
> > +      </description>
> 
> Missing the string argument, but looks good to me on a quick read.

This approach seems better to me too. Thanks for writing that up.


Jonas

> 
> 
> Thanks,
> pq
> 
> > +    </event>
> > +
> >    </interface>
> >  </protocol>
> > 
> > --
> > Drew DeVault
>