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.
This commit is contained in:
parent
b4678cec5b
commit
9ea208e36a
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue