diff options
Diffstat (limited to 'README.adoc')
-rw-r--r-- | README.adoc | 94 |
1 files changed, 41 insertions, 53 deletions
diff --git a/README.adoc b/README.adoc index 8a14a30..1a0f199 100644 --- a/README.adoc +++ b/README.adoc @@ -1,32 +1,51 @@ nncmpp ====== -'nncmpp' is yet another MPD client. It is in effect a simplified TUI version -of Sonata. I had already written a lot of the required code before, so I had -the perfect opportunity to get rid of the unmaintained Python application and -make the first TUI client that doesn't feel awkward to use. +'nncmpp' is yet another MPD client. Its specialty is running equally well in +the terminal, or as an X11 client--it will provide the same keyboard- and +mouse-friendly interface. + +This project began its life as a simplified TUI version of Sonata. I had +already written a lot of the required code before, so I had the perfect +opportunity to get rid of the unmaintained Python application, and to make +the first TUI client that doesn't feel awkward to use. If it's not obvious enough, the name is a pun on all those ridiculous client names, and should be pronounced as "nincompoop". Features -------- -Most things are there. Enough for me to use it exclusively. Note that since I -only use the filesystem browsing mode, that's also the only thing I care to -implement for the time being. +Most stuff is there. I've been using the program exclusively for many years. +Among other things, it can display and change PulseAudio volume directly +to cover the use case of remote control, it has a fast spectrum visualiser, +it can be extended with plugins to fetch lyrics or other song-related info, +and both its appearance and key bindings can be customized. + +Note that currently only the filesystem browsing mode is implemented, +and the search feature is known to be clumsy. image::nncmpp.png[align="center"] 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. +Regular releases are sporadic. git master should be stable enough. +You can get a package with the latest development version using Arch Linux's +https://aur.archlinux.org/packages/nncmpp-git[AUR], +or as a https://git.janouch.name/p/nixexprs[Nix derivation]. -Building and Running --------------------- -Build dependencies: CMake, pkg-config, help2man, liberty (included), - termo (included) + -Runtime dependencies: ncursesw, libunistring, cURL +Documentation +------------- +See the link:nncmpp.adoc[man page] for information about usage. +The rest of this README will concern itself with externalities. + +Building +-------- +Build-only dependencies: CMake, pkg-config, awk, liberty (included), + termo (included), asciidoctor or asciidoc (recommended but optional), + rsvg-convert (X11) + +Runtime dependencies: ncursesw, libunistring, cURL + +Optional runtime dependencies: fftw3, libpulse, x11 + xft + libpng (X11), + Perl + cURL (lyrics) $ git clone --recursive https://git.janouch.name/p/nncmpp.git $ mkdir nncmpp/build @@ -43,50 +62,19 @@ Or you can try telling CMake to make a package for you. For Debian it is: $ cpack -G DEB # dpkg -i nncmpp-*.deb -Note that for versions of CMake before 2.8.9, you need to prefix `cpack` with -`fakeroot` or file ownership will end up wrong. - -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 -to use the mouse (though it's not required). Terminals are, however, somewhat -tricky to get consistent results on, so be aware of the following: +User interface caveats +---------------------- +The ncurses interface aspires to be as close to a GUI as possible. Don't shy +away from using your mouse (though keyboard is also fine). Terminals are, +however, tricky to get consistent results on, so be aware of the following: - use a UTF-8 locale to get finer resolution progress bars and scrollbars - Xterm needs `XTerm*metaSendsEscape: true` for the default bindings to work - urxvt's 'vtwheel' plugin sabotages scrolling +The X11 graphical interface is a second-class citizen, so some limitations of +terminals carry over, such as the plain default theme. + Contributing and Support ------------------------ Use https://git.janouch.name/p/nncmpp to report any bugs, request features, |