<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" >
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="org.freedesktop.locale1" conditional='ENABLE_LOCALED'
    xmlns:xi="http://www.w3.org/2001/XInclude">
  <refentryinfo>
    <title>org.freedesktop.locale1</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>org.freedesktop.locale1</refentrytitle>
    <manvolnum>5</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>org.freedesktop.locale1</refname>
    <refpurpose>The D-Bus interface of systemd-localed</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Introduction</title>

    <para>
    <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
    is a system service that can be used to control the system locale and keyboard mapping from user
    programs. This page describes the D-Bus interface.</para>
  </refsect1>

  <refsect1>
    <title>The D-Bus API</title>

    <para>The service exposes the following interfaces on the bus:</para>

    <programlisting executable="systemd-localed" node="/org/freedesktop/locale1" interface="org.freedesktop.locale1">
node /org/freedesktop/locale1 {
  interface org.freedesktop.locale1 {
    methods:
      SetLocale(in  as locale,
                in  b interactive);
      SetVConsoleKeyboard(in  s keymap,
                          in  s keymap_toggle,
                          in  b convert,
                          in  b interactive);
      SetX11Keyboard(in  s layout,
                     in  s model,
                     in  s variant,
                     in  s options,
                     in  b convert,
                     in  b interactive);
    properties:
      readonly as Locale = ['...', ...];
      readonly s X11Layout = '...';
      readonly s X11Model = '...';
      readonly s X11Variant = '...';
      readonly s X11Options = '...';
      readonly s VConsoleKeymap = '...';
      readonly s VConsoleKeymapToggle = '...';
  };
  interface org.freedesktop.DBus.Peer { ... };
  interface org.freedesktop.DBus.Introspectable { ... };
  interface org.freedesktop.DBus.Properties { ... };
};
    </programlisting>

    <!--Autogenerated cross-references for systemd.directives, do not edit-->

    <variablelist class="dbus-interface" generated="True" extra-ref="org.freedesktop.locale1"/>

    <variablelist class="dbus-interface" generated="True" extra-ref="org.freedesktop.locale1"/>

    <variablelist class="dbus-method" generated="True" extra-ref="SetLocale()"/>

    <variablelist class="dbus-method" generated="True" extra-ref="SetVConsoleKeyboard()"/>

    <variablelist class="dbus-method" generated="True" extra-ref="SetX11Keyboard()"/>

    <variablelist class="dbus-property" generated="True" extra-ref="Locale"/>

    <variablelist class="dbus-property" generated="True" extra-ref="X11Layout"/>

    <variablelist class="dbus-property" generated="True" extra-ref="X11Model"/>

    <variablelist class="dbus-property" generated="True" extra-ref="X11Variant"/>

    <variablelist class="dbus-property" generated="True" extra-ref="X11Options"/>

    <variablelist class="dbus-property" generated="True" extra-ref="VConsoleKeymap"/>

    <variablelist class="dbus-property" generated="True" extra-ref="VConsoleKeymapToggle"/>

    <!--End of Autogenerated section-->

    <refsect2>
      <title>Methods</title>

      <para>If you set a new system locale all old system locale settings will be dropped and the new
      settings will be saved to disk. The locale will also be passed to the system manager, and subsequently started
      daemons will inherit the new system locale. Note that already running daemons will not learn about the
      new value.</para>

      <para>The <function>SetVConsoleKeyboard()</function> method may be used to set the key mapping for the
      virtual console. Similarly, <function>SetX11Keyboard()</function> may be used to set the default key
      mapping of any X11 servers.</para>

      <para>Note that <function>SetVConsoleKeyboard()</function> instantly applies the new key mapping to the
      console, while <function>SetX11Keyboard()</function> simply sets a default that may be used by later
      sessions.</para>

      <para>The boolean argument <varname>convert</varname> may be set to optionally convert the console
      keyboard configuration to X11 keyboard mappings and vice versa. If true and
      <function>SetVConsoleKeyboard()</function> is used, the nearest X11 keyboard setting for the chosen
      console setting is set. If true and <function>SetX11Keyboard()</function> is used, the nearest console
      keyboard setting for the chosen X11 setting is set. Hence, it is usually sufficient to call only one of the
      two functions.</para>

      <para>For graphical UIs that need to set the system keyboard mapping simply invoke
      <function>SetX11Keyboard()</function>, set <varname>convert=true</varname> and ignore
      <function>SetVConsoleKeyboard()</function>.</para>

      <para>Use the empty string for the keymap parameters you wish not to set.</para>

      <para>The <varname>interactive</varname> boolean parameters can be used to control whether
      <ulink url="https://www.freedesktop.org/software/polkit/docs/latest/">polkit</ulink>
      should interactively ask the user for authentication credentials if required.</para>
    </refsect2>

    <refsect2>
      <title>Signals</title>

      <para>Whenever the system locale or keymap is changed via the daemon,
      <function>PropertyChanged</function> signals are sent out to which clients can subscribe.</para>
    </refsect2>

    <refsect2>
      <title>Properties</title>

      <para>The system locale is shown in the <varname>Locale</varname> property. It is an array containing
      environment-variable-assignment-like strings. The following strings are known:
      <varname>LANG=</varname>, <varname>LC_CTYPE=</varname>, <varname>LC_NUMERIC=</varname>,
      <varname>LC_TIME=</varname>, <varname>LC_COLLATE=</varname>, <varname>LC_MONETARY=</varname>,
      <varname>LC_MESSAGES=</varname>, <varname>LC_PAPER=</varname>, <varname>LC_NAME=</varname>,
      <varname>LC_ADDRESS=</varname>, <varname>LC_TELEPHONE=</varname>, <varname>LC_MEASUREMENT=</varname>,
      <varname>LC_IDENTIFICATION=</varname>.</para>

      <para>The <varname>X11Layout</varname>, <varname>X11Model</varname>, <varname>X11Variant</varname>, and
      <varname>X11Options</varname> properties show values configurable with
      <function>SetX11Keyboard()</function> described above (or <function>SetVConsoleKeyboard()</function>
      with <varname>convert=true</varname>). The <varname>VConsoleKeymap</varname> and
      <varname>VConsoleKeymapToggle</varname> properties show values configurable with
      <function>SetVConsoleKeyboard()</function> (or <function>SetX11Keyboard()</function> with
      <varname>convert=true</varname>).</para>
    </refsect2>

    <refsect2>
      <title>Security</title>

      <para>Changing the system locale or keymap using this interface is authenticated via polkit. The
      polkit action for <function>SetLocale()</function> is
      <constant>org.freedesktop.locale1.set-locale</constant>. The polkit action for
      <function>SetX11Keyboard()</function> and <function>SetVConsoleKeyboard()</function> is
      <constant>org.freedesktop.locale1.set-keyboard</constant>.</para>
    </refsect2>
  </refsect1>

  <refsect1>
    <title>Examples</title>

    <example>
      <title>Introspect <interfacename>org.freedesktop.locale1</interfacename> on the bus</title>

      <programlisting>
$ gdbus introspect --system \
  --dest org.freedesktop.locale1 \
  --object-path /org/freedesktop/locale1
      </programlisting>
    </example>
  </refsect1>

  <refsect1 id="versioning">
    <title>Versioning</title>

    <para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
    the usual interface versioning guidelines</ulink>.</para>
  </refsect1>
</refentry>
