Feature #81

Improved support for GNOME3

Added by Alguno over 5 years ago. Updated over 5 years ago.

Status:Closed Start:08/07/2011
Priority:Normal Due date:
Assigned to:Alguno % Done:


Category:GTK GUI (regular GUI)
Target version:0.8.0
Votes: 0


Recently GNOME3 was released. One of the new features of GNOME3 (better said: GTK3) is GtkApplication. This is a class which arranges things like unique instances and handling 'open with' actions. See http://developer.gnome.org/gtk3/stable/GtkApplication.html for more details.

Once this is implemented, the dbus-glib pieces and most of the Linux IPC code can be marked as obsolete

Associated revisions

Revision 1907
Added by Alguno over 5 years ago

- Rewritten the ipc_linux.c file to use GDbus instead of dbus-glib
- When the connection with DBus is lost, automatically try to reconnect
- Don't depend on a code generator anymore for the processing of the DBus XML file
- Now that nothing in NNTPGrab uses dbus-glib anymore, drop it's dependency. Closes #81
- Dropped the --disable-dbus configure flag as GDbus it part of a regular GLib installation
so it doesn't make sense anymore to have it as an optional feature
- Moved all IPC code to the nntpgrab_utils library so it can be used by all frontends
- Five new API functions got added to the nntpgrab_utils library because of this move:
nntpgrab_utils_test_is_frontend_already_running, nntpgrab_utils_register_frontend, nntpgrab_utils_unregister_frontend,
nntpgrab_utils_send_open_nzb_file_request and nntpgrab_utils_send_bring_to_front_request
- Improved detection of already running NNTPGrab instances on Linux in both the Gtk and Qt frontends
This solves the issues mentioned at feature #89. Closes #89
- Added various testcases for the IPC code
- Dropped the old test_dbus testcase as it was using dbus-glib
- Added support for the 'BringToFront' IPC method which can be used to have a running NNTPGrab process present itself
- Parse the command line arguments earlier in startup of the program when using the GTK3 frontend (GtkApplication)


Updated by Alguno over 5 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 80

Support for GtkApplication has been added in r1873
The dbus-glib pieces for the automatic shutdown feature have been replaced by GDbus code in r1874 (GDBus is part of GLib >= 2.24.0)
The PolicyKit dependency has also been eliminated by this change.

Before the dbus-glib dependency can be fully dropped, the code in client/gui/ipc_linux.c needs to be ported to GDbus (this code is still needed for environments without GTK3)

Also available in: Atom PDF