<!DOCTYPE HTML> <html> <head> <title>Chat with SWISH users</title> </head> <body> <div class="dropup"> <p> The <span style="color:darkblue">SWI</span><span style="color:maroon">SH</span> chat services allows you to chat with other <span style="color:darkblue">SWI</span><span style="color:maroon">SH</span> users. Each file acts as a chat room, while the <b>Hangout</b> room allows you to attrack attention to the file you are working on. The <b>bell</b> at the top-right shows the status of the hangout room and any message sent to the hangout room appears briefly below the bell. The associated <i>dropdown menu</i> provides access to both the hangout room and the room associated with the currently active file. <p> <span style="color:darkblue">SWI</span><span style="color:maroon">SH</span> displays an <b>avatar</b> for each user with whom you share an open file to make you aware of other users. Operations such as opening, reloading or closing a file are briefly indicated to people with whom you share an open file. The <i>avatar</i> is taken from your identity provider or <a href="https://en.gravatar.com">gravatar.com</a> if you are logged in. Otherwise it is a randomly generated avatar that is stored in your browser's local store. <p> A chat message may include one or more <b>payload</b> objects that are made visible as buttons. Most payloads are added using the <a class="btn btn-xs btn-primary">Send <b class="caret"></b></a> button menu. Defined payloads are: </p> <ul> <li>The <b>selection</b>. If you have made a selection on the page, this is sent along with the chat message. Clicking on the <a class="btn btn-xs btn-primary"><span class="glyphicon glyphicon-eye-open"></span></a> button restores this selection. Note that you can make <b>multiple selections</b> using <b>Control-click</b> in the CodeMirror editor. <li>Your current <b>query</b> can be included using the <a class="btn btn-xs btn-primary">Send <b class="caret"></b></a>. <li>System generated <b>update messages</b> include a payload that allows you to open the file in <b>before/after</b> mode as well as examine the <b>differences</b> </ul> <p> Finally, the <a class="btn btn-xs btn-primary">Send <b class="caret"></b></a> button may be used to create a link from the <b>shared chatroom</b> to this file to <b>ask for support</b>. </p> <h3 id="chat-help">The hangout room</h3> <p class="dropup"> The notebook <a href="/p/Hangout.swinb">Hangout.swinb</a> provides a place to find buddies. Messages may be cross-posted to this shared space using <b>Broadcast to hangout</b> from the <a class="btn btn-xs btn-primary">Send <b class="caret"></b></a> button. The message that appears in the hangout room contains a link to the file from which it was created. <p> <h3 id="chat-markdown">Markdown in chat messages</h3> <p> Chat messages are subject to a limited form of Markdown processing. Currently, the patterns below replaced. Note that these are simplied forms of the actual regular expressions which use stronger boundary conditions. </p> <table class="table table-condensed" style="width:80%; margin:auto"> <tr><th>Pattern<th>Example<th>Meaning <tr><td>\b\w+.pl<td>program.pl<td>Link to Prolog program <tr><td>\b\w+.swinb<td>notebook.swinb<td>Link to SWISH notebook <tr><td>\w+/\d<td>between/3<td>Link to documentation on predicate <tr><td>`[^`]+`<td>`A is 1+1`<td><code>A is 1+1</code> <tr><td>*[^*]+*<td>*never*<td><b>never</b> <tr><td>__[^_]+__<td>__always__<td><b>always</b> <tr><td>_[^_]+_<td>_italic_<td><i>italic</i> </table> <h3 id="chat-status">Status of the SWISH sharing service</h3> <p> What you are seeing are the first steps to allow users of SWISH to communicate. There are many facilities we have in mind, such as: </p> <ul> <li>Connect editors for collaborative editing <li>Make <i>teams</i> that connect people also if they are not editing the same file. <li>Allow Prolog programs to exchange messages through the chat room. </ul> </div> </body> </html>