Geary¶
Introduction¶
In 2011 Yorba broke ground on a new email application for the GNOME desktop. Geary brings to the open source community a new lightweight, easy-to-use, feature-rich email client. Our long-term vision for Geary is an email client built for daily use that can be used in place of or alongside Web-based email services. Features we're planning include:
- Full IMAP support, making email synchronization a breeze
- Tight integration with popular Web mail services, including Gmail, Yahoo! Mail, and other popular sites
- Full-featured WYSIWYG editor for composing emails
- Threaded / conversation views
- Lightning fast as-you-type email search
- Desktop notification of new email
- Support for multiple email accounts
- Offline mode
- Full support for popular IMAP servers, including Dovecot
For more information about planned features, see the Geary roadmap.
Documentation¶
Architecture¶
Technical and architectural highlights include:
- Written in 100% Vala
- Built atop a new fully asynchronous GObject-based IMAP client library
- Uses a sparse SQLite database for full caching of email and FTS (full text search) indexing
- Slim and economical user interface design
Building & Running¶
To fetch a copy of the source from Yorba's git repository:
$ git clone git://yorba.org/geary
To build:
$ cd geary $ ./configure $ make
Building any version of Geary requires Vala 0.17.4 or higher with a full GIR repository, intltool, and cmake. Building Geary from git also requires desktop-file-validate. The developer packages (headers) for the following libraries are also required:
- canberra
- gee-1.0
- gio-2.0
- glib-2.0
- gmime-2.6
- gtk+-3.0
- notify
- sqlite3
- unique-3.0
- webkitgtk-3.0
- messaging-menu (optional; enables support for Ubuntu 12.10 and later Unity messaging menu)
- unity (optional; enables support for Ubuntu Unity launcher)
Additionally, if you're building the latest stable release of Geary (0.3.1), you'll need:
- gnome-keyring-1
- indicate (optional; enables support for Ubuntu 12.04 Unity messaging menu)
Or, if you're building the latest from git, you'll instead need:
- libsecret-1
Most of these are standard libraries available from major distros' repositories.
Fedora¶
On Fedora 18, you can install build dependencies for the latest stable release of Geary (0.3.1) as follows:
$ sudo yum install vala gobject-introspection-devel intltool cmake libcanberra-devel \
libgee06-devel glib2-devel gmime-devel gtk3-devel libnotify-devel sqlite-devel \
unique3-devel webkitgtk3-devel libgnome-keyring-devel
Or for the latest from git, instead run:
$ sudo yum install vala gobject-introspection-devel intltool cmake desktop-file-utils \
libcanberra-devel libgee-devel glib2-devel gmime-devel gtk3-devel libnotify-devel \
sqlite-devel unique3-devel webkitgtk3-devel libsecret-devel
Ubuntu¶
On Ubuntu 12.04, you can install Vala 0.17 from the Vala PPA, which you can add to your system as follows:
$ sudo add-apt-repository ppa:vala-team/ppa $ sudo apt-get update $ sudo apt-get upgrade
On Ubuntu 12.10 or later, you don't need to add any PPAs (Vala 0.17 is available in the valac-0.18 package in the official repositories).
You can obtain the dependencies in any Ubuntu for the latest stable release of Geary (0.3.1) with this command:
$ sudo apt-get install valac-0.18 libgirepository1.0-dev intltool cmake libcanberra-dev \
libgee-dev libglib2.0-dev libgmime-2.6-dev libgtk-3-dev libnotify-dev libsqlite3-dev \
libunique-3.0-dev libwebkitgtk-3.0-dev libgnome-keyring-dev
Or if you're building from git, use:
$ sudo apt-get install valac-0.18 libgirepository1.0-dev intltool cmake desktop-file-utils \
libcanberra-dev libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev libgtk-3-dev libnotify-dev \
libsqlite3-dev libunique-3.0-dev libwebkitgtk-3.0-dev libsecret-1-dev
Note that Ubuntu 12.04 does not have all the dependencies to build Geary from git; here are some hints on getting everything installed.
To enable Unity features on 12.04 (only supported in the stable release), also run:
$ sudo apt-get install libunity-dev libindicate-dev
Or to enable Unity features on 12.10 or later (supported in both the stable release and from git), instead use:
$ sudo apt-get install libunity-dev libmessaging-menu-dev
You should check that you are using the right version of valac with the command valac --version:
Vala 0.18.1
The version number must be at least 0.17.4. If it reports an earlier version, run
$ sudo update-alternatives --config valac
and select 0.18 there.
Running¶
Once compiled, Geary can be run straight from the build directory:
$ ./geary
It will prompt for a username and a password. Geary will then fetch all the account folders and load the most recent messages from the Inbox.
Installation¶
After building, Geary can be installed with:
$ sudo make install
and removed with:
$ sudo make uninstall
Development¶
Notes from GUADEC 2012 Geary BoF
Geary status and notifications (desktop integration)
Full-text search engine performance comparison
Community¶
Geary is in an early development phase, and we'd welcome your suggestions or feedback. You can contact the Geary team directly at <geary at yorba.org>.
We also have a public mailing list. To subscribe, send a message with a subject: of `subscribe` to geary-request@lists.yorba.org or go here. An archive of past mailing list messages is available at http://lists.yorba.org/pipermail/geary.
Translation¶
The Geary page at Transifex.net shows our current translation status. We accept translations exclusively through Transifex. If you're interested in contributing to the translation effort, download the geary.pot file from Transifex. You can use whatever desktop PO editing software you prefer to edit it; POEdit and LoKalize seem to be the two most commonly used PO editing packages. Submit your new or revised PO file to us on Transifex for review and testing. Once reviewed we’ll commit it to our Git repository and your translation should appear in the next release of the Geary!