diff options
| -rw-r--r-- | CMakeLists.txt | 16 | ||||
| -rw-r--r-- | README.adoc | 42 | ||||
| -rw-r--r-- | nncmpp.adoc | 87 | 
3 files changed, 104 insertions, 41 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index c52334d..1eaac55 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,19 +70,21 @@ install (TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})  install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})  install (DIRECTORY contrib DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}) -# Generate documentation from program help -find_program (HELP2MAN_EXECUTABLE help2man) -if (NOT HELP2MAN_EXECUTABLE) -	message (FATAL_ERROR "help2man not found") +# Generate documentation from text markup +find_program (ASCIIDOCTOR_EXECUTABLE asciidoctor) +if (NOT ASCIIDOCTOR_EXECUTABLE) +	message (FATAL_ERROR "asciidoctor not found")  endif ()  foreach (page ${PROJECT_NAME})  	set (page_output "${PROJECT_BINARY_DIR}/${page}.1")  	list (APPEND project_MAN_PAGES "${page_output}")  	add_custom_command (OUTPUT ${page_output} -		COMMAND ${HELP2MAN_EXECUTABLE} -N -			"${PROJECT_BINARY_DIR}/${page}" -o ${page_output} -		DEPENDS ${page} +		COMMAND ${ASCIIDOCTOR_EXECUTABLE} -b manpage +			-a release-version=${PROJECT_VERSION} +			"${PROJECT_SOURCE_DIR}/${page}.adoc" +			-o "${page_output}" +		DEPENDS ${page}.adoc  		COMMENT "Generating man page for ${page}" VERBATIM)  endforeach () diff --git a/README.adoc b/README.adoc index 9b588d0..ce6e8b3 100644 --- a/README.adoc +++ b/README.adoc @@ -22,9 +22,14 @@ Packages  Regular releases are sporadic.  git master should be stable enough.  You can get  a package with the latest development version from Archlinux's AUR. -Building and Running --------------------- -Build dependencies: CMake, pkg-config, help2man, liberty (included), +Documentation +------------- +See the link:nncmpp.adoc[man page] for information about usage. +The rest of this README will concern itself with externalities. + +Building +-------- +Build dependencies: CMake, pkg-config, asciidoctor, liberty (included),                      termo (included) +  Runtime dependencies: ncursesw, libunistring, cURL @@ -43,37 +48,6 @@ Or you can try telling CMake to make a package for you.  For Debian it is:   $ cpack -G DEB   # dpkg -i nncmpp-*.deb -Having the program installed, create a configuration file and run it. - -Configuration -------------- -Create _~/.config/nncmpp/nncmpp.conf_ with contents like the following: - -.... -settings = { -	address    = "localhost:6600" -	password   = "<your password>" -	root       = "~/Music" -} -colors = { -	normal      = "" -	highlight   = "bold" -	elapsed     = "reverse" -	remains     = "ul" -	tab_bar     = "reverse" -	tab_active  = "ul" -	even        = "" -	odd         = "" -	selection   = "reverse" -	multiselect = "-1 6" -	scrollbar   = "" -} -streams = { -	"dnbradio.com" = "http://www.dnbradio.com/hi.m3u" -	"BassDrive.com" = "http://bassdrive.com/v2/streams/BassDrive.pls" -} -.... -  Terminal caveats  ----------------  This application aspires to be as close to a GUI as possible.  It expects you diff --git a/nncmpp.adoc b/nncmpp.adoc new file mode 100644 index 0000000..fd4f888 --- /dev/null +++ b/nncmpp.adoc @@ -0,0 +1,87 @@ +nncmpp(1) +========= +:doctype: manpage +:manmanual: nncmpp Manual +:mansource: nncmpp {release-version} + +Name +---- +nncmpp - terminal-based MPD client + +Synopsis +-------- +*nncmpp* [_OPTION_]... + +Description +----------- +*nncmpp* is a terminal-based GUI-like MPD client.  On start up it will welcome +you with an overview of all key bindings and the actions they're assigned to. +Individual tabs can be switched to either using the mouse or by pressing *M-1* +through *M-9*, corresponding to the order they appear in. + +Options +------- +*-d*, *--debug*:: +	Adds a "Debug" tab showing all MPD communication and other information +	that help debug various issues. + +*-h*, *--help*:: +	Display a help message and exit. + +*-V*, *--version*:: +	Output version information and exit. + +Configuration +------------- +Unless you run MPD on a remote machine, on an unusual port, or protected by +a password, the client doesn't need a configuration file to work.  It is, +however, likely that you'll want to customize the looks or add some streams. +You can start off with the following snippet: + +.... +settings = { +	address    = "localhost:6600" +	password   = "<your password>" +	root       = "~/Music" +} +colors = { +	normal      = "" +	highlight   = "bold" +	elapsed     = "reverse" +	remains     = "ul" +	tab_bar     = "reverse" +	tab_active  = "ul" +	even        = "" +	odd         = "" +	selection   = "reverse" +	multiselect = "-1 6" +	scrollbar   = "" +} +streams = { +	"dnbradio.com" = "http://www.dnbradio.com/hi.m3u" +	"BassDrive.com" = "http://bassdrive.com/v2/streams/BassDrive.pls" +} +.... + +Terminal attributes are accepted in a format similar to that of *git-config*(1), +only named colours aren't supported.  The distribution contains example colour +schemes in the _contrib_ directory. + +// TODO: it seems like liberty should contain an includable snippet about +//   the format, which could form a part of nncmpp.conf(5). + +Files +----- +*nncmpp* follows the XDG Base Directory Specification. + +_~/.config/nncmpp/nncmpp.conf_:: +	The configuration file. + +Reporting bugs +-------------- +Use https://git.janouch.name/p/nncmpp to report bugs, request features, +or submit pull requests. + +See also +-------- +*mpd*(1) | 
