Skip to content

Changes to frontend -- v1.04

Created by: miguel-guedes

Changes to frontend

  1. Do not allow multiple instances of the graphical client. This is done by opening a file in the system's temporary directory and locking it in exclusive mode.

When hamster-cli is invoked but an instance of the frontend is found to be running its main window is displayed instead of a new instance being instantiated.

  1. The persistent dbus service org.gnome.Hamster.WindowServer was removed in favour of a dbus service created only whilst the hamster frontend is running. The name of this new service is org.gnome.Hamster.Frontend.

This new service exposes the same methods as WindowServer did albeit under different names. The interface allows the windows 'overview', 'preferences', 'statistics' and 'about' to be easily displayed as well as the frontend's main window, a feature that was sorely missing.

As before, it is possible to display any of the windows using the CLI.

The new methods exposed by the dbus service are:

  void org.gnome.Hamster.Frontend.show_about_window()
  void org.gnome.Hamster.Frontend.show_overview_window()
  void org.gnome.Hamster.Frontend.show_preferences_window()
  void org.gnome.Hamster.Frontend.show_statistics_window()
  void org.gnome.Hamster.Frontend.show_main_window()
  void org.gnome.Hamster.Frontend.toggle_main_window()

Note: changes to code were kept to a minimum to preserve current design, structure, symbol naming and logic as much as possible.

Merge request reports