<refname>sd_session_get_service</refname>
<refname>sd_session_get_type</refname>
<refname>sd_session_get_class</refname>
+ <refname>sd_session_get_desktop</refname>
<refname>sd_session_get_display</refname>
<refname>sd_session_get_tty</refname>
<refname>sd_session_get_vt</refname>
<funcprototype>
<funcdef>int <function>sd_session_is_active</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_is_remote</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_state</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>char** <parameter>state</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>state</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_uid</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>uid_t* <parameter>uid</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>uid_t *<parameter>uid</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_seat</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>char** <parameter>seat</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>seat</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_service</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>char** <parameter>service</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>service</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_type</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>char** <parameter>type</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>type</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_class</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>char** <parameter>class</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>class</parameter></paramdef>
+ </funcprototype>
+
+ <funcprototype>
+ <funcdef>int <function>sd_session_get_desktop</function></funcdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>desktop</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_display</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>char** <parameter>display</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>display</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_remote_host</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>char** <parameter>remote_host</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>remote_host</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_remote_user</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>char** <parameter>remote_user</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>remote_user</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_tty</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>char** <parameter>tty</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>char **<parameter>tty</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>sd_session_get_vt</function></funcdef>
- <paramdef>const char* <parameter>session</parameter></paramdef>
- <paramdef>unsigned int* <parameter>vt</parameter></paramdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ <paramdef>unsigned int *<parameter>vt</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
returned. This function is a more generic version of
<function>sd_session_is_active()</function>. The returned
string needs to be freed with the libc
- <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<para><function>sd_session_get_uid()</function> may be
identifier belongs to. Note that not all sessions are
attached to a seat, this call will fail for them. The
returned string needs to be freed with the libc
- <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<para><function>sd_session_get_service()</function>
session identified by the specified session
identifier. The returned string needs to be freed with
the libc
- <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<para><function>sd_session_get_type()</function> may
be used to determine the type of the session
identified by the specified session identifier. The
returned string is one of <literal>x11</literal>,
- <literal>tty</literal> or
- <literal>unspecified</literal> and needs to be freed
- with the libc
- <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <literal>wayland</literal>, <literal>tty</literal>,
+ <literal>mir</literal> or <literal>unspecified</literal> and
+ needs to be freed with the libc
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<para><function>sd_session_get_class()</function> may
<literal>lock-screen</literal>, or
<literal>background</literal> and needs to be freed
with the libc
- <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ call after use.</para>
+
+ <para><function>sd_session_get_desktop()</function> may
+ be used to determine the brand of the desktop running on
+ the session identified by the specified session identifier.
+ This field can be set freely by desktop environments and
+ does not follow any special formatting. However, desktops
+ are strongly recommended to use the same identifiers and
+ capitalization as for
+ <varname>$XDG_CURRENT_DESKTOP</varname>, as defined by
+ the <ulink
+ url="http://standards.freedesktop.org/desktop-entry-spec/latest/">Desktop
+ Entry
+ Specification</ulink>. The returned string needs to be
+ freed with the libc
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<para><function>sd_session_get_display()</function>
session identified by the specified session
identifier. The returned string needs to be
freed with the libc
- <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<para><function>sd_session_get_remote_host()</function>
session identified by the specified session
identifier. The returned string needs to be
freed with the libc
- <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<para><function>sd_session_get_remote_user()</function>
session identified by the specified session
identifier. The returned string needs to be
freed with the libc
- <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use. Note that this value is rarely known
to the system, and even then should not be relied on.</para>
session identified by the specified session
identifier. The returned string needs to be
freed with the libc
- <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para>
<para><function>sd_session_get_vt()</function>
<para>If the test succeeds,
<function>sd_session_is_active()</function> and
<function>sd_session_is_remote()</function> return a
- positive integer, if it fails 0. On success
+ positive integer; if it fails, 0. On success,
<function>sd_session_get_state()</function>,
<function>sd_session_get_uid()</function>,
<function>sd_session_get_seat()</function>,
<function>sd_session_get_remote_host()</function>,
<function>sd_session_get_remote_user()</function> and
<function>sd_session_get_tty()</function>
- interfaces are available as shared library, which can
+ interfaces are available as a shared library, which can
be compiled and linked to with the
- <constant>libsystemd-login</constant> <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
file.</para>
</refsect1>