aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-10-21 19:46:09 +0200
committerGustav Sörnäs <gustav@sornas.net>2020-10-21 19:46:09 +0200
commit64eca3bf729ccc20b82ca37d3ea72e6be872ec0c (patch)
tree50246a7ed0a32e71dab6e775869006e199663bd1
parent161f58f3e6a0088fa2612d9af54c7b2939be37e7 (diff)
parentcd1722b61abb052318f6c323229ac4b0f75cd7b6 (diff)
downloadmum-64eca3bf729ccc20b82ca37d3ea72e6be872ec0c.tar.gz
Merge branch 'readme' into 'main'
Add Readme Closes #24 See merge request gustav/mum!15
-rw-r--r--README.org67
1 files changed, 65 insertions, 2 deletions
diff --git a/README.org b/README.org
index 32d053c..e82d470 100644
--- a/README.org
+++ b/README.org
@@ -1,3 +1,66 @@
-#+TITLE: mum
+* mum
+Mumble daemon with controller (think mpd(1)/mpc(1)) written in Rust.
-Mumble client/daemon pair (think mpc(1)) written in Rust.
+** Building
+`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
+These are for Arch Linux. You might need other packages on other distributions,
+or they might be named something different.
+
+- rust (stable)
+- `alsa-lib`
+- `openssl`
+- `opus`
+
+Windows is not currently supported but could be in the future. macOS is supposed
+to work but doesn't at the moment. Other operating systems haven't been
+tested. The limiting factor for Windows is IPC communication which is
+(currently) done via the crate `ipc-channel`.
+
+*** Installation
+1. Build the binaries
+2. (wait)
+3. Copy/symlink to somewhere nice (or don't).
+
+#+BEGIN_SRC sh
+$ cargo build --release
+$ ln -s $PWD/target/release/mumctl $HOME/.local/bin/
+$ ln -s $PWD/target/release/mumd $HOME/.local/bin/
+#+END_SRC
+
+** Usage
+This describes how to connect to a server and join different channels.
+See usage.org or `$ mumctl --help` 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`.
+
+*** mumctl
+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 channel list
+ServerRoot
+ -user1
+ -user2
+ -user2
+ Channel2
+ Channel3
+$ mumctl channel connect Channel2
+#+END_SRC
+
+** Why?
+Mostly because it's a fun way of learning a new language. Also:
+
+- Most mumble clients use a GUI. While GUIs aren't necessarily bad, there
+ should at least exist alternatives where possible.
+- Memory and disk footprint. We haven't found a reliable way of testing memory
+ yet (suggestions welcome).
+
+** Other projects
+- [[https://github.com/bmmcginty/barnard.git][Barnard (go)]] - TUI mumble client