1 | yrc, the Unix IRC client |
2 | |
3 | INSTALLATION |
4 | |
5 | The dependencies of yrc are Python 2.7 (on a POSIX system) and VT100-style terminal. (Earlier Pythons may work as well but are presently untested.) |
6 | |
7 | It can be run directly from the source tree: |
8 | |
9 | chmod +x yrc |
10 | ./yrc |
11 | |
12 | To install the Python modules and script to the system paths, run as root: |
13 | |
14 | python2 setup.py install |
15 | |
16 | QUICKSTART |
17 | |
18 | At this point you are expected to read manual.txt, but here's a quick exercise: |
19 | |
20 | 1. Configure a network and a default nick: |
21 | |
22 | mkdir -p ~/.yrc/nets/freenode |
23 | echo chat.freenode.net > ~/.yrc/nets/freenode/addrs |
24 | whoami > ~/.yrc/nick |
25 | |
26 | 2. Start yrc: |
27 | |
28 | yrc |
29 | |
30 | 3. Connect to the configured network: |
31 | |
32 | /connect freenode |
33 | |
34 | 4. Switch to the network's server messages window by typing Ctrl-x n. |
35 | |
36 | 5. If your chosen nick is unavailable, you can change it temporarily: |
37 | |
38 | /nick your_nick_ |
39 | |
40 | 6. Once your connection is registered (shows an = sign in the window list), you can join a channel: |
41 | |
42 | /join #some-test-chan |
43 | |
44 | 7. Try another way to switch windows: Ctrl-x w. This selects the window list; use j/k or Ctrl-n/Ctrl-p to navigate and Return to apply. |
45 | |
46 | 8. Shut down with a parting message: |
47 | |
48 | /quit bye for now |
49 | |
50 | 9. yrc does not advertise e.g. through your IRC name or part messages, so go tell a friend or three if you like it! |
51 | |
52 | BUGS |
53 | |
54 | 1. When nick in use, connection gets stuck at unregistered even after /nick. (Workaround: /disconnect and change nick in /connect arguments or config.) |
55 | |
56 | 2. part/kick/disconnect doesn't clear topic from window title, causing subsequent rejoin to retain the old topic if it was meanwhile removed. |
57 | |
58 | A frequent source of bugs during development was screen updates -- ensuring UI elements are redrawn when their underlying data sources change. This situation resulted from a conversion from a previous approach of "when in doubt, redraw everything and let ncurses compute the differences", and could doubtless be handled better. For now, these are easily fixed once identified (e.g. something updates only after pressing Ctrl-L). |
59 | |
60 | yrc does not go out of its way to accomodate non-standard server behavior (for example, alternate casemappings). This is not a bug, but simple compatibility workarounds can be considered if the problem server is widely used. |
61 | |
62 | See the roadmap section in the manual for planned features. |
63 | |
64 | HACKING |
65 | |
66 | The codemap.txt file serves as a kind of index of function signatures and data structures (as there are many), and should be kept reasonably up to date. It also contains some sketchier notes-to-self. |