Search:   Help

Developers' side bar

Selected categories

Edit

Shared groups

Links

LyXChat

Categories: Interactive
<< | Page list | >>

Turn LyX into a powerful, rich-text, interactive chatting tool.

Table of contents (hide)

  1.   1.  Description
  2.   2.  Status
  3.   3.  Quick start guide
    1.   3.1  Compile:
    2.   3.2  Use:
    3.   3.3  Notes:
    4.   3.4  Videos of the LyX chat in action:
  4.   4.  Technical details
  5.   5.  Categories

1.  Description

LyX Chat is useful to chat with another on-line user by using the powerful rich-text editing features of LyX. We're all used to text-based chat clients, where one normally drops wiki-style mark-up for *bold-face* or /italics/, or LaTeX segments for maths (the motivating use-case was really one of this kind, for talking with a remote colleague about equations to be amended in a research paper). With this extension, it is possible to directly chat from within LyX itself, using all the graphical editing features available in the program.

2.  Status

A fully working QXMPP-based implementation, also interoperating with any XMPP text-only client (e.g., Pidgin), is available, was just rebased on Oct 2016, and is being further discussed at:

http://www.lyx.org/trac/ticket/7964

3.  Quick start guide

3.1  Compile:

  1. recompile qxmpp from sources available at (or install straight the .deb available there):
http://retis.sssup.it/~tommaso/qxmpp
  1. compile LyX with the chat patch configuring with
--enable-qt5 --with-extra-inc=/usr/include/x86_64-linux-gnu/qt5/QtNetwork:/usr/include/x86_64-linux-gnu/qt5/QtGui

3.2  Use:

  1. start LyX, choose Tools->LyX Chat
  2. in the "Buddies" pane, put your Id (username@domain) of an existing XMPP account (e.g., create one for free on http://www.jabber.org/(approve sites))
  3. click "Connect", enter your access password (these will be cached in your $HOME/.lyx/ as \user_chat_id etc...
  4. add/connect to a new buddy by using the "Add" button (enter the username@domain of the buddy)
  5. double-click one of your buddies, and you get your buddy-dedicated historic chat file opened (and auto-created if non-existing yet) ~/.lyx/chats/<buddy-id>.lyx, plus a chat bar (a LyX WorkArea) on the bottom where u type
  6. everything u type in the chat bar, as well as received from remote, is appended to the buddy-specific chat file and auto-saved

3.3  Notes:

  1. no networking is ever started by LyX, unless you start the "LyX Chat"
  2. if you close the chat dialogs, the XMPP client keeps running and will show the chat back if anyone writes you
  3. to shut down any chat / network, select you can use the disconnect button on the buddies pane
  4. a statusbar indication that the chat is connected should be added
  5. your XMPP password is stored cleartext in your .lyx/ directory (an option could be useful to never store the password if wanted)
  6. your buddy can connect either with LyX or a regular text client, e.g., Pidgin, in such case they would see LaTeX text segments rather than enjoying the beautifully rendered LyX

3.4  Videos of the LyX chat in action:

  1. http://www.youtube.com/watch?v=lQnVxbX8A3w
  2. http://www.youtube.com/watch?v=n0Xfi8Ohx7Y (+Irish intro)

4.  Technical details

The current patch is based on the XMPP protocol, widely used for text-based chat clients, such as Pidgin, and widely available for users to create free accounts, such as the service on jabber.org; XMPP allows clients to connect from behind firewalls/NATs, provided that an outgoing connection to the XMPP port 5222 is not blocked.

The used XMPP implementation is QXMPP, a Qt-based implementation that makes the patch portable across multiple platforms, like LyX.

Chat files are regular lyx files, you can also edit them while chatting or while off-line, or delete them etc.; they're supposed to keep history (I know, problems should they grow unbounded, but for now...); you can copy/paste back and forth across your local files and the chat files/buffers.

Text is sent to the other end as exported LaTeX segment corresponding to the paragraph you type, then imported back using Buffer::importString(). You can send maths, tables, formats, headings, but if you try to send external material such as a picture, the file is NOT sent. Also, it should all be ok with default doc settings. If you change them (notably, the doc class), then you can create inconsistencies between the local and remote views (perhaps styles that make sense here but not there etc...). For now, text is auto-sent when you type Enter, but this can be changed if deemed useful.

5.  Categories

Category: Interactive

Edit - History - Print - Recent Changes - All Recent Changes - Search
Page last modified on 2016-10-09 22:16 UTC