GEM 0.10.0 - Forest Life

The new version of GEM was released the 28th July, after one year and a half of questions, doubts and progress.

This version was called Forest Life as tribute to the first code name of Animal Crossing.

To install this new version, refer to the Installation page.

gem-0.10.0.tar.xz (sha256)

GEM is now available on pypi website. You can install it with use the pip command:

pip install geode-gem==0.10.0

What news ?

Main interface

Headerbar depreciation

I've start to slowly depreciate the current Headerbar view (visible in default theme). The goal is, in the next release, to switch to default GTK+ behavior which generate automaticly Headerbar in GNOME environment.

Game related buttons have been relocated into games toolbar and main buttons (preferences, ...), have been moved to left side.

Interface customization from menu

Previously, all the interface changes aspect were available in the preferences window.

Now, users can acces to some options from menus, to customize his interface:

  • Sidebar visibility and position
  • Columns visibility
  • Statusbar visibility
  • Games view mode (list or grid)

The sidebar was revamp to improve informations accessibility.

New labels are available as:

  • Installed date (File creation date on file system)
  • Launch time
  • Time played
  • Score

The sidebar position is now stored between session and the sidebar screenshot (when available) can be drag and drop to another application.


Selector widget

The consoles ComboBox widget has been depreciate in favor of a ListBox sidebar on the left side of main interface.

Consoles sidebar

A menu is available by right-clicking on console. This menu give access to console configuration dialogs, which were only available from preferences previously.


To improve consoles filtering, a new field Favorite has been added to Console object.

When a console is marked as favorite, an icon is visible next to console name in sidebar list.


To avoid some non-free emulators, I've decided to remove some of them in the default configuration file. My reasons are explicited in issue #65.

These emulators were: Snes9x, MAME, VisualBoyAdvance, ZSNES.



To improve games informations, two new fields have been added to Game object: Tags and Score.

Tags can be specified from game properties dialog and allow to improve games views filtering.

Score allow to rating a game from 0 star to 5 stars. This value is used if the Score column is sorted.

Maintenance and deletion

In addition of some new actions in game deletion dialog, a new game maintenance dialog has been added.

This dialog allow to clean game metadata and files, like deletion dialog, but without the deletion part.


Games list view has been revamp to improve user experience:

  • Games list can now be filtering and sorting by column, simultaneous.
  • Game cover icon is showed next to game name.
  • List columns can be reordered and the new order can be restored between GEM session

A new grid view is also available, to show games as icons. It's possible to switch between views from toolbar and menu.

Games grid view

Drag & Drop

Drag and drop process dialog has been revamp to show more informations and to allow a better console selection system.

Wrong files on Drag & Drop process


Notes use game identifier as filename instead of name.

This changes won't convert your old notes, but an import (and export) action has been added to note menu, allowing to retrieve the previous note content and import it to the new note.

What next ?

The next version will be the 0.10.1. There are some bugs I've spotted during 0.10.0 launch process, but I havn't the time to resolve them, and I doesn't want to delay this version again.

In the same time, I going to work on Geode-API, which going to replace the old GEM legacy API. The goal is to provide a generic API which can be used by any projects which need files collection management.

API switch process wil be followed with an interface revamp to use GTK+ more efficiently.

No functionnality will be added to 0.11.0 version, to allow a quick release (and avoid to wait for another year!).