diff options
| -rw-r--r-- | README.org | 49 | ||||
| -rw-r--r-- | usage.org | 173 |
2 files changed, 25 insertions, 197 deletions
@@ -2,7 +2,7 @@ Mumble daemon with controller (think mpd(1)/mpc(1)) written in Rust. ** Building -`mum` is [[https://aur.archlinux.org/packages/mum-git/][available on the AUR]]. +mum is [[https://aur.archlinux.org/packages/mum-git/][available on the AUR]]. We aim to publish tagged versions to cargo, as well as binaries on Github. *** Requirements @@ -10,14 +10,14 @@ These are for Arch Linux. You might need other packages on other distributions and operating systems, or they might be named something different. - rust (stable) -- `alsa-lib` -- `openssl` -- `opus` -- `libnotify` (optional) +- alsa-lib +- openssl +- opus +- libnotify (optional) Windows is not currently supported but could be in the future. macOS should work. Other operating systems haven't been tested. The limiting factor on Windows -is IPC communication which is (currently) done via the crate `ipc-channel`. +is IPC communication which is (currently) done via the crate ipc-channel. *** Installation 1. Build the binaries @@ -31,21 +31,18 @@ $ ln -s $PWD/target/release/mumd $HOME/.local/bin/ #+END_SRC *** Optional features -`mum` contains optional features that are enabled by default. To compile without -them, build with `--no-default-features`. Features can then be enabled with -`--features "FEATURES"`. +mum contains optional features that are enabled by default. To compile without +them, build with --no-default-features. Features can then be enabled with +--features "FEATURES". The following features can be specified: -| Name | Needed for | Additional crates | -|--------------------+---------------+-------------------| -| mumd/notifications | Notifications | 20 | +| Name | Needed for | +|--------------------+---------------+ +| mumd/notifications | Notifications | -Note that the "additional crates" isn't continually updated and might change. -Features might also have overlapping dependencies. - -Awaiting `-Z package-features`, changing which features are compiled requires -you to compile `mumd/` separately by entering its directory and specifying +Awaiting -Z package-features, changing which features are compiled requires +you to compile mumd/ separately by entering its directory and specifying its features. To summarize with an example, the following compiles with only the @@ -60,19 +57,23 @@ $ cargo build --release ** Usage This describes how to connect to a server and join different channels. -See usage.org or `$ mumctl --help` for more information. +See mumctl --help or documentation/*.txt for more information. *** mumd -Start the daemon with `$ mumd`. Currently it attaches to the terminal, so if you -want to run it in the background you can detach it with e.g. (zsh): `$ mumd -&>/dev/null &|`. Somewhere down the line we're going to support `$ mumd ---daemonize`. +Start the daemon with mumd. Currently it attaches to the terminal, so if you +want to run it in the background you can detach it with e.g. (zsh): + +#+BEGIN_SRC sh +$ mumd &>/dev/null &| +#+END_SRC + +Somewhere down the line we're aiming to have a --daemonize. *** mumctl -Interfacing with the daemon is done through `mumctl`. Some examples: +Interfacing with the daemon is done through mumctl. Some examples: #+BEGIN_SRC sh -$ mumctl server connect 127.0.0.1 spock # connect to 127.0.0.1 with username 'spock' +$ mumctl connect 127.0.0.1 spock # connect to 127.0.0.1 with username 'spock' $ mumctl channel list ServerRoot -user1 diff --git a/usage.org b/usage.org deleted file mode 100644 index 952cc41..0000000 --- a/usage.org +++ /dev/null @@ -1,173 +0,0 @@ -This file contains the current targeted usage. It works as both a design document -and a feature tracker. New commands and flags go here. - -* Usage overview - -Start the daemon with either one of: - -- `$ mumd`. Writes to stdout, ignores stdin. Can easily be disowned/started in - a screen/tmux. - -We want to support / explain how to do the following at some point: - -- `$ mumd --daemon` -- systemd-service - -The daemon doesn't do anything by itself. Interfacing with it is done through -`mumctl`. - -* 0.1 -The basic commands are the smallest subset of commands that allow the user to -actually use mum for something. In this case it means connecting to a server, -listing channels and connecting to channels. -** DONE server -*** DONE connect -#+BEGIN_SRC bash -$ mumctl server connect localhost your_name -connecting to localhost... -connected as your_name -root -│ another person -│ some person -| your_name -#+END_SRC -** DONE channel -*** DONE list -#+BEGIN_SRC bash -$ mumctl channel list -root [3](4) -│ another person -│ some person -| your_name -├─ some channel [1] -│ someone alone -├─ other channel [0] -├─ third channel [0](2) -│ └─ subsubchannel [2] -│ a user -│ and another user -└─ AFK [1] - someone eating food -#+END_SRC - -**** DONE --short -#+BEGIN_SRC bash -$ mumctl channel list --short -root [3](4) -├─ some channel [1] -├─ other channel [0] -├─ third channel [0](2) -│ └─ subsubchannel [2] -└─ AFK [1] -#+END_SRC -*** DONE connect -#+BEGIN_SRC bash -$ mumctl channel connect some channel -connecting to some channel... -connected -#+END_SRC -** DONE status -#+BEGIN_SRC bash -$ mumctl status -connected to localhost:65837 as your_name -currently in root with 2 other clients: - root - │ another person - │ some person - | your_name -#+END_SRC - -#+BEGIN_SRC bash -$ mumctl status --short -your_name@localhost:65387/root (3) - another person - some person - your_name -#+END_SRC - -* 0.2 -** server -*** TODO add -**** DONE With name -#+BEGIN_SRC bash -$ mumctl server add loopback 127.0.0.1 -username: *** -password: *** -#+END_SRC - -**** TODO Without name -#+BEGIN_SRC bash -$ mumctl server add 127.0.0.1 -username: *** -password: *** -#+END_SRC - -Password can be skipped by entering blank. -*** list -#+BEGIN_SRC bash -$ mumctl server list -loopback [4 / 100] -127.0.0.1 [4 / 100] -127.0.0.3 [OFFLINE] -#+END_SRC -*** TODO config -**** DONE username -#+BEGIN_SRC bash -$ mumctl server config loopback username xX_gamerboy_Xx -#+END_SRC -**** TODO password -#+BEGIN_SRC bash -$ mumctl server config loopback password *** -#+END_SRC - -Optionally ask stdin -#+BEGIN_SRC bash -$ mumctl server config loopback password -enter password: *** -#+END_SRC -*** TODO connect: handle invalid keys -#+BEGIN_SRC bash -server offered invalid key. what do you want to do? -[I]nspect, [A]ccept, [D]eny, [C]ompare, [T]emporarily trust (default D): -#+END_SRC -- Inspect: Print the key digest and ask again. -- Accept: Accept the key, connect to the server and trust the key. -- Deny: Abort the connection. Do not trust the key. -- Compare: Compare the key to a file to confirm legitimacy and ask again. -- Temporarily trust: Accept the key and connect, but do not trust the key. -*** DONE rename -#+BEGIN_SRC bash -$ mumctl server rename loopback my_server -#+END_SRC -** TODO config -#+BEGIN_SRC bash -$ mumctl config audio.input_volume 1.1 -$ mumctl config audio.input_volume -$ mumctl config audio.input_volume --help -#+END_SRC -** TODO volume -#+BEGIN_SRC bash -$ mumctl volume set User1 1.1 -$ mumctl volume User1 -110% -#+END_SRC - -* 0.3 -** mute -#+BEGIN_SRC bash -$ mumctl mute true -$ mumctl mute false -$ mumctl mute toggle -#+END_SRC -** deafen -#+BEGIN_SRC bash -$ mumctl deafen true -$ mumctl deafen false -$ mumctl deafen toggle -#+END_SRC -** user -#+BEGIN_SRC bash -$ mumctl user Username mute true -$ mumctl user Username mute false -$ mumctl user Username mute toggle -#+END_SRC |
