Commit 9ea208e3 authored by Tomasz Miąsko's avatar Tomasz Miąsko

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.
parent b4678cec
......@@ -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()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment