Feature #81

Improved support for GNOME3

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

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

100%

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

Description

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 https://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 4 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)

History

#1 Updated by Alguno almost 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)

#2 Updated by Alguno over 4 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 80 to 100

Applied in changeset r1907.

Snapshots can be found at the following URLs:
Win32: https://snapshots.nntpgrab.nl/win32/unstable-trunk/nntpgrab_trunk_snapshot_svn_r1907_setup.exe
Win64: https://snapshots.nntpgrab.nl/win64/unstable-trunk/nntpgrab_trunk_snapshot_svn_r1907_setup_x64.exe
Mac OS X: https://snapshots.nntpgrab.nl/osx/unstable-trunk/NNTPGrab_unstable_r1907.zip

Also available in: Atom PDF