aboutsummaryrefslogtreecommitdiffstats
path: root/usage.org
blob: ca544be81c8b20a0321e43565ddd76d322449ed7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
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