From 162d1958694822658dfa27e3dd1c702dee4c285c Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 31 Jan 2019 20:24:45 +0100 Subject: [PATCH] Add notify-send manpage Taken from Debian, converted to Docbook and fixed some issues. Closes: https://gitlab.gnome.org/GNOME/libnotify/issues/4 --- .gitlab-ci.yml | 2 + docs/meson.build | 13 ++++++ docs/notify-send.xml | 102 +++++++++++++++++++++++++++++++++++++++++++ meson.build | 22 ++++++++++ meson_options.txt | 4 ++ 5 files changed, 143 insertions(+) create mode 100644 docs/notify-send.xml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 33804f4..8915c7d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,6 +36,8 @@ build:ubuntu:meson: ninja-build python3-pip python3-setuptools + xsltproc + docbook-xsl-ns - pip3 install meson script: - meson _build -Dgtk_doc=true -Ddocbook_docs=enabled -Dtests=true diff --git a/docs/meson.build b/docs/meson.build index 6429576..4c5ba64 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -25,3 +25,16 @@ endif if get_option('gtk_doc') subdir('reference') endif + +if get_option('man') + manpages = ['notify-send'] + + foreach page : manpages + custom_target(page + '-man', + input: page + '.xml', + output: page + '.1', + command: xsltproc_command, + install: true, + install_dir: man1dir) + endforeach +endif diff --git a/docs/notify-send.xml b/docs/notify-send.xml new file mode 100644 index 0000000..614b48b --- /dev/null +++ b/docs/notify-send.xml @@ -0,0 +1,102 @@ + + + November 2005 + libnotify + + + Andre Filipe de Assuncao e Brito + decko@noisemakers.org + Original author + + + Paul van Tilburg + paulvt@debian.org + Original author + + + Riccardo Setti + giskard@debian.org + Original author + + + + + notify-send + 1 + User Commands + + + notify-send + a program to send desktop notifications + + + + notify-send + + OPTIONS + + + summary + + + body + + + + + Description + + With notify-send you can send desktop notifications to the user via a notification daemon from the command line. These notifications can be used to inform the user about an event or display some form of information without getting in the user’s way. + + + Options + + + + , + + Show help and exit. + + + + , =LEVEL + + Specifies the urgency level (low, normal, critical). + + + + , =TIME + + + The duration, in milliseconds, for the notification to appear on screen. + (Ubuntu's Notify OSD and GNOME Shell both ignore this parameter.) + + + + , =ICON[,ICON…] + + + Specifies an icon filename or stock icon to display. + + + + , =TYPE[,TYPE…] + + + Specifies the notification category. + + + + , =TYPE:NAME:VALUE + + Specifies basic extra data to pass. Valid types are INT, DOUBLE, STRING and BYTE. + + + + + + See also + + The Desktop Notification Spec on http://www.galago-project.org/specs/notification/. + + diff --git a/meson.build b/meson.build index 82f3bb5..5063fe5 100644 --- a/meson.build +++ b/meson.build @@ -31,6 +31,7 @@ default_includes = include_directories('.') prefix = get_option('prefix') includedir = join_paths(prefix, get_option('includedir')) docdir = join_paths(prefix, get_option('datadir'), 'doc', meson.project_name()) +man1dir = join_paths(prefix, get_option('mandir'), 'man1') libnotify_deps = [] extra_deps = [] @@ -51,6 +52,27 @@ configure_file(input: 'config.h.meson', output : 'config.h', configuration : conf) +if get_option('man') + xsltproc = find_program('xsltproc', required: true) + stylesheet = 'http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl' + xsltproc_command = [ + xsltproc, + '--nonet', + '--stringparam', 'man.output.quietly', '1', + '--stringparam', 'funcsynopsis.style', 'ansi', + '--stringparam', 'man.th.extra1.suppress', '1', + '-o', '@OUTPUT@', + stylesheet, + '@INPUT@', + ] + + testrun = run_command(xsltproc, '--nonet', stylesheet) + + if testrun.returncode() != 0 + error('DocBook stylesheet for generating man pages not found, you need to install docbook-xsl-ns or similar package.') + endif +endif + subdir('libnotify') subdir('tools') subdir('docs') diff --git a/meson_options.txt b/meson_options.txt index c37f643..c57b364 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -6,6 +6,10 @@ option('introspection', type: 'feature', value: 'enabled', description: 'Enable GObject introspection') +option('man', + type: 'boolean', + value: true, + description: 'Enable generating the manual page (depends on xsltproc)') option('gtk_doc', type: 'boolean', value: true,