# &appname; Manual

&appname; is a text editor that allows multiple persons to edit documents collaboratively over the network.

2009
Philipp Kern
Philipp
Kern
0x539 dev group

                phil@0x539.de

&appname; Manual &manrevision;
2009-05-10
This manual explains how to use Gobby &appversion;, a collaborative editor.

## Feedback

To report a bug or make a suggestion regarding this manual, please file an issue on https://github.com/gobby/gobby/issues.

The application &appname; and this manual are both licensed under the ISC license. They are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warrenty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Please see the full license text for more details.

## Introduction

&appname; is a text editor that allows multiple persons to edit documents collaboratively over the network. Changes to the documents are instantly synced to other interested parties. It uses an algorithm which does not require locking or a central coordinator but instead merges the changes on all participating peers.

That said, &appname; is currently relying on a central server that relays the editing actions to other users. A public server can be found on `gobby.0x539.de`. If you want to host such a server yourself, please look at the infinoted daemon. As it is not needed algorithmically future versions might be able to do real peer-to-peer communication. Support for editing over the instant messaging protocol Jabber/XMPP is planed.

Depending on the setup of the server, connections can be encrypted through Transport Layer Security (TLS). There is no support for user authentication yet.

&appname; is cross-platform and supports so far Microsoft Windows, Linux, Mac OS X and other Unix-like platforms. It is developed on Linux and regularly tested on Windows. As it is developed using the Gtk+ toolkit it integrates nicely into the GNOME desktop environment.

In contrast to the older Gobby 0.4 this version also supports local undo and redo, which means that you can undo your own changes regardless if someone else changed the document in the meantime.

## Getting Started

### Starting Gobby

Choose Applications Internet Gobby Collaborative Editor (0.5) to start the application.

You may also start &appname; from the command line:

    gobby-0.5

### Main Window

The Gobby main window is split into two parts: a document and server browser on the left and an editor part on the right.

Main Window

## Setting Preferences

Choose Edit Preferences to open Gobby's Preferences window. The window has five tabs:

- User - personal settings like user name and user color (see )

- Editor - text editor settings like indentation and auto saving (see )

- View - control how the text files being edited should be presented on the screen (see )

- Appearance - font and window layout settings (see )

- Security - controls security parameters like trusted certificates and encryption enforcing (see )

### Personalization

Preferences: User tab

### Text Editing Preferences

Preferences: Editor tab

- Tab Stops - The Tab width setting controls the display of tab characters. In conjunction with Insert spaces instead of tabs it also determins the amount of white space characters inserted into the text when the tab key is pressed.

- Indentation -

- Home/End Behavior - Smart home/end controls if the Home and End keys should move to the first/last non-space character before moving to the beginning/end of the line.

- File Saving -

### Text View Preferences

TODO

### General Appearance

TODO

### Security Settings

TODO

## Shortcuts

This section documents both the set of shortcuts denoted in the menus and those which do not have a corresponding menu entry.

### Gobby's Shortcuts

Shortcut | Action
--- | ---
Ctrl-N | New document
Ctrl-O | Open document
Ctrl-S | Save current document
Ctrl-Shift-S | Save current document under a different filename
Ctrl-Shift-L | Save all open documents
Ctrl-Shift-H | Export as HTML (since 0.4.93)
Ctrl-T | Connect to Server (since 0.4.93)
Ctrl-W | Close current document
Ctrl-Q | Exit Gobby
Ctrl-M | Switch to chat (since 0.4.93)
Ctrl-Shift-M | Switch to text document (since 0.4.93)
Ctrl-Shift-C | Reset user colors in the current document (since 0.4.93)
F9 | Toggle document browser visibility
Shift-F9 | Toggle chat visibility (since 0.4.93)
Ctrl-F9 | Toggle document user list visibility
Ctrl-Shift-F9 | Toggle chat user list visibility (since 0.4.93)
Ctrl-Z | Undo
Ctrl-Shift-Z | Redo
Ctrl-F | Find
Ctrl-G | Find next
Ctrl-Shift-G | Find previous
Ctrl-H | Find and replace
Ctrl-I | Go to line

### GtkTextView's Shortcuts

Shortcut | Action
--- | ---
Ctrl-Up | Go to the beginning of the line
Ctrl-Down | Go to the end of the line
Ctrl-Home | Go to the beginning of the document
Ctrl-End | Go to the end of the document
Ctrl-A | Select all
Shift-Ctrl-A | Deselect all
Insert | Toggle overwrite mode
F7 | Toggle caret visibility

### GtkSourceView's Shortcuts

Shortcut | Action
--- | ---
Alt-Shift-Up | Move viewport one line up
Alt-Shift-Down | Move viewport one line down
Alt-Shift-PageUp | Move viewport one page up
Alt-Shift-PageDown | Move viewport one page down
Alt-Shift-Home | Move viewport to the beginning of the document
Alt-Shift-End | Move viewport to the end of document

## About Gobby

Gobby was written by Armin Burgmeier and others.

To report a bug or make a suggestion regarding this application or this manual, please file an issue on https://github.com/gobby/gobby/issues. Please include a reachable email address in your bug report as we often need to contact the reporters for further clarifications.

### Mailinglists

There are also two mailing lists which should provide a means of contact to other Gobby users and to the developers.

- `obby-announce`: A moderated list used to announce new releases of Gobby and its foundation libraries.

- `obby-users`: Discussions about Gobby's usage and installation problems. The announcements are also posted there.

More information about how to subscribe can be found on `https://github.com/gobby/gobby/wiki/Mailing%20Lists` .

### IRC channel

Questions can also be taken to the IRC channel `#infinote` on Freenode (`irc.freenode.net`). However, you might need to be patient due to you and the developers living in different time zones.