Philipp Hörist pushed to branch master at gajim / gajim
Commits: 9ea208e3 by Tomasz Miąsko at 2017-01-18T20:38:28+01:00 Use separate application id for each profile.
Application id is customized in do_handle_local_options just before it is registered and can't be changed any further.
This makes it possible to run multiple instances of Gajim, at most one for each profile.
- - - - - ca3b5eee by Philipp Hörist at 2017-01-22T17:12:25+01:00 Merge branch 'multiple-instances' into 'master'
Use separate application id for each profile.
See merge request !32 - - - - -
1 changed file:
- src/application.py
Changes:
===================================== src/application.py ===================================== --- a/src/application.py +++ b/src/application.py @@ -217,6 +217,15 @@ class GajimApplication(Gtk.Application): if hasattr(self.interface, 'roster') and self.interface.roster: self.interface.roster.prepare_quit()
+ def do_handle_local_options(self, options: GLib.VariantDict) -> int: + if options.contains('profile'): + # Incorporate profile name into application id + # to have a single app instance for each profile. + profile = options.lookup_value('profile').get_string() + app_id = '%s.%s' % (self.get_application_id(), profile) + self.set_application_id(app_id) + return -1 + def do_command_line(self, command_line: Gio.ApplicationCommandLine) -> int: Gtk.Application.do_command_line(self, command_line) options = command_line.get_options_dict()
View it on GitLab: https://dev.gajim.org/gajim/gajim/compare/b4678cec5bc7245543867ffd6a0668e777...