User:Plfiorini/WaylandProtocols/panel.xml

From KDE Community Wiki
Revision as of 17:54, 14 August 2014 by Plfiorini (talk | contribs) (panel.xml)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
<protocol name="panel">
  <copyright>
    copyright (c) 2014 pier luigi fiorini

    this program is free software: you can redistribute it and/or modify
    it under the terms of the gnu lesser general public license as published by
    the free software foundation, either version 2.1 of the license, or
    (at your option) any later version.

    this program is distributed in the hope that it will be useful,
    but without any warranty; without even the implied warranty of
    merchantability or fitness for a particular purpose.  see the
    gnu lesser general public license for more details.

    you should have received a copy of the gnu lesser general public license
    along with this program.  if not, see <http://www.gnu.org/licenses/>.
  </copyright>

  <interface name="kf5_panel_manager" version="1">
    <description summary="create and manage panels">
      This interface is used to manage panels.

      It is used by KF5 powered Wayland shells to communicate with
      the compositor and can only be bound one time.
    </description>

    <request name="set_panel">
      <description summary="set panel role">
        The surface set by this request will receive the panel role.
        Panels display launchers, buttons and other kind of elements.
      </description>
      <arg name="id" type="new_id" interface="kf5_panel"/>
      <arg name="surface" type="object" interface="wl_surface"/>
    </request>
  </interface>

  <interface name="kf5_panel" version="1">
    <description summary="create and manage panels">
      This interface is used to manage panels.
    </description>

    <enum name="edge">
      <entry name="left" value="0"/>
      <entry name="top" value="1"/>
      <entry name="right" value="2"/>
      <entry name="bottom" value="3"/>
    </enum>

    <enum name="alignment">
      <entry name="left" value="0"/>
      <entry name="center" value="1"/>
      <entry name="right" value="2"/>
    </enum>

    <request name="set_alignment">
      <description summary="set panel alignment">
        Set panel alignment.
      </description>
      <arg name="alignment" type="uint"/>
    </request>

    <request name="set_offset">
      <description summary="set panel offset">
        Set panel offset.
      </description>
      <arg name="offset" type="uint"/>
    </request>

    <request name="set_thickness">
      <description summary="set panel thickness">
        Set panel size.
      </description>
      <arg name="thickness" type="uint"/>
    </request>

    <request name="set_length">
      <description summary="set panel length">
        Set panel length.
      </description>
      <arg name="length" type="uint"/>
    </request>

    <request name="set_min_length">
      <description summary="set minimum length">
        Set minimum length of this panel.
      </description>
      <arg name="min_length" type="uint"/>
    </request>

    <request name="set_max_length">
      <description summary="set maximum length">
        Set maximum length of this panel.
      </description>
      <arg name="max_length" type="uint"/>
    </request>

    <request name="dock">
      <description summary="dock the panel">
        Set panel position on the specified output according to edge,
        alignment and offset.
      </description>
      <arg name="edge" type="uint"/>
      <arg name="output" type="object" interface="wl_output"/>
    </request>

    <event name="docked">
      <description summary="panel is docked">
        Emitted when the panel is docked.
      </description>
    </event>
  </interface>
</protocol>