Guile Scheme bindings for libtoxcore.
There are 2 ways to use guile-toxcore. The
(tox) module exports a
high-level API that performs error checking and abstracts away the handling of
foreign data types and pointers. This is almost certainly the API that you
want to use. However, if you desire to build up your own abstractions on top
of the low-level C bindings or the high level bindings do not do what you
want, use the
(tox bindings) module.
To use the high-level API:
(use-modules (tox)) (define tox (make-tox)) (set-tox-name tox "Tox User") (set-tox-status-message tox "Happily hacking") ;; TODO: Call your friend to ask if they've read their SICP today. (while #t (tox-do tox) (usleep (* (tox-do-interval tox) 1000)))
To use the low-level API:
(use-modules (tox bindings)) (define tox (tox-new 1)) (tox-kill tox)
An example client is included in the guile-toxcore distribution. Unlike guile-toxcore, the example client requires Guile version 2.0.11 or greater.
To run the client:
cd examples cp guile-tox.sample ~/.guile-tox # Copy sample config guile -L .. client.scm
The client does not accept input directly. In order to give commands, you must connect to the REPL server via telnet or use the geiser package in Emacs.
telnet localhost 37146
- GNU Guile >= 2.0.5
./autogen.sh && ./configure && make && sudo make install
Copyright © 2014 David Thompson firstname.lastname@example.org
guile-toxcore is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
guile-toxcore is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.