<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <interface name="org.kde.KWin.NightLight">
    <!--
        Creates an inhibition lock for Night Light.

        You can use this method to temporarily disable Night Light feature.
        After calling this method, the screen color temperature will be set
        back to the neutral temperature (6500K).

        This method returns a cookie that uniquely identifies the inhibition
        request. You must pass the cookie to uninhibit() when you're done.

        Note that the inhibition lock will be released automatically when
        the service, which requested it, is unregistered.

        A client is allowed to hold more than just one inhibition lock.
    -->
    <method name="inhibit">
        <arg name="cookie" type="u" direction="out"/>
    </method>

    <!--
        Releases an inhibition lock identified by the given cookie.

        Note that the inhibition lock will be released automatically when
        the service, which requested it, is unregistered.
    -->
    <method name="uninhibit">
        <arg name="cookie" type="u" direction="in"/>
    </method>

    <!--
        Previews a given temperature for a short time (15s).

        If there is an existing preview running, replaces it.
        Preview can be ended before 15s too, by calling stopPreview.
    -->
    <method name="preview">
        <arg name="temperature" type="u" direction="in"/>
    </method>

    <!--
        Stops an ongoing preview.

        Has no effect if there is currently no preview.
    -->
    <method name="stopPreview">
    </method>

    <!--
        This property holds a value to indicate whether Night Light is inhibited.
    -->
    <property name="inhibited" type="b" access="read"/>

    <!--
        This property holds a value to indicate whether Night Light is enabled.
    -->
    <property name="enabled" type="b" access="read"/>

    <!--
        This property holds a value to indicate whether Night Light is running.
    -->
    <property name="running" type="b" access="read"/>

    <!--
        This property holds a value to indicate whether Night Light is available.
    -->
    <property name="available" type="b" access="read"/>

    <!--
        This property holds a value to indicate the current screen color temperature.
    -->
    <property name="currentTemperature" type="u" access="read"/>

    <!--
        This property holds a value to indicate the target screen color temperature.
    -->
    <property name="targetTemperature" type="u" access="read"/>

    <!--
        This property holds a value to indicate the operating mode.

        Valid modes: 0 - automatic, 1 - location, 2 - timings, 3 - constant.
    -->
    <property name="mode" type="u" access="read"/>

    <!--
        This property holds a value to indicate whether Night Light is currently on day or night time.

        True = day time, false = night time
    -->
    <property name="daylight" type="b" access="read"/>

    <!--
        This property holds a Unix timestamp that specifies when the previous color
        temperature transition had started. Note that when Night Light operates in
        the constant mode, this property holds a value of 0.
    -->
    <property name="previousTransitionDateTime" type="t" access="read"/>

    <!--
        This property holds a value that specifies the duration of the previous color
        temperature transition, in milliseconds. Note that when Night Light operates
        in the constant mode, this property holds a value of 0.
    -->
    <property name="previousTransitionDuration" type="u" access="read"/>

    <!--
        This property holds a Unix timestamp that specifies when the next scheduled
        color temperature transition will start. Note that when Night Light operates
        in the constant mode, this property holds a value of 0.
    -->
    <property name="scheduledTransitionDateTime" type="t" access="read"/>

    <!--
        This property holds a value that specifies the duration of next scheduled
        color transition, in milliseconds. Note that when Night Light operates in
        the constant mode, this property holds a value of 0.
    -->
    <property name="scheduledTransitionDuration" type="u" access="read"/>
  </interface>
</node>
