aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenny Levinsen <kl@kl.wtf>2020-08-08 14:54:25 +0200
committerKenny Levinsen <kl@kl.wtf>2020-08-08 14:54:25 +0200
commitb312fbfb5ec60524ae74332d5f17cb74fa43fa39 (patch)
tree41e9dc05aa7897e12e400626edba50ccec5055c7
parent48e712ffd9f5982ee03eb3e16c8951a377565c51 (diff)
man: Add simple seatd(1) page
-rw-r--r--man/seatd.1.scd58
-rw-r--r--meson.build26
-rw-r--r--meson_options.txt2
3 files changed, 86 insertions, 0 deletions
diff --git a/man/seatd.1.scd b/man/seatd.1.scd
new file mode 100644
index 0000000..15b7b68
--- /dev/null
+++ b/man/seatd.1.scd
@@ -0,0 +1,58 @@
+seatd(1)
+
+# NAME
+
+seatd - A seat management daemon
+
+# SYNOPSIS
+
+*seatd* [options]
+
+# OPTIONS
+
+*-h*
+ Show help message and quit.
+
+*-u <user>*
+ User to own the seatd socket.
+
+*-g <group>*
+ Group to own the seatd socket.
+
+*-s <path>*
+ Where to create the seatd socket. Defaults to `/run/seatd.sock`.
+
+*-v*
+ Show the version number and quit.
+
+# DESCRIPTION
+
+seatd provides central seat management, mediating access to shared resources
+such as displays and input devices in a multi-session, multi-seat environment.
+
+seatd operates over a UNIX domain socket, with *libseat* providing the
+client-side of the protocol.
+
+# ENVIRONMENT
+
+[[ *VARIABLE*
+:[ *VALUES*
+:< *DESCRIPTION*
+| SEATD_SOCK
+: File path
+: Informs libseat of the socket location, needed if it differs from `/run/seatd.sock`
+| LIBSEAT_LOGLEVEL
+: silent, error, info, debug
+: Sets the libseat log level. Defaults to "silent"
+| SEATD_LOGLEVEL
+: silent, error, info, debug
+: Sets the seatd log level. Defaults to "error"
+
+# SEE ALSO
+
+The libseat library, *<libseat.h>*
+
+# AUTHORS
+
+Maintained by Kenny Levinsen <contact@kl.wtf>. For more information about seatd
+development, see https://sr.ht/~kennylevinsen/seatd.
diff --git a/meson.build b/meson.build
index e4785d9..48bb88d 100644
--- a/meson.build
+++ b/meson.build
@@ -180,6 +180,32 @@ test(
)
)
+scdoc = dependency('scdoc', required: get_option('man-pages'), version: '>= 1.9.7')
+
+if scdoc.found()
+ sh = find_program('sh')
+
+ man_pages = ['seatd.1.scd']
+
+ mandir = get_option('mandir')
+
+ foreach src : man_pages
+ topic = src.split('.')[0]
+ section = src.split('.')[1]
+ output = '@0@.@1@'.format(topic, section)
+
+ custom_target(
+ output,
+ input: 'man/' + src,
+ output: output,
+ command: [
+ sh, '-c', '@0@ < @INPUT@ > @1@'.format(scdoc.get_pkgconfig_variable('scdoc'), output)
+ ],
+ install: true,
+ install_dir: '@0@/man@1@'.format(mandir, section)
+ )
+ endforeach
+endif
summary({
'seatd': get_option('seatd').enabled() ? 1 : 0,
diff --git a/meson_options.txt b/meson_options.txt
index fc05dc2..6e498c4 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -3,3 +3,5 @@ option('seatd', type: 'feature', value: 'enabled', description: 'seatd support')
option('builtin', type: 'feature', value: 'disabled', description: 'builtin seatd server')
option('server', type: 'feature', value: 'enabled', description: 'seatd server')
option('examples', type: 'feature', value: 'enabled', description: 'libseat example programs')
+option('man-pages', type: 'feature', value: 'auto', description: 'Generate and install man pages')
+