From 6b57511a2299d617effbcb62be97b5b7d55b8296 Mon Sep 17 00:00:00 2001 From: Cristiano Guadagnino Date: Wed, 17 Apr 2024 23:15:24 +0200 Subject: [PATCH] Proposed fix for bug #294 --- usr/lib/webapp-manager/common.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/usr/lib/webapp-manager/common.py b/usr/lib/webapp-manager/common.py index 54efa77..9e76458 100755 --- a/usr/lib/webapp-manager/common.py +++ b/usr/lib/webapp-manager/common.py @@ -235,6 +235,10 @@ def delete_webbapp(self, webapp): if os.path.exists(epiphany_orig_prof_dir): os.remove(epiphany_orig_prof_dir) shutil.rmtree(os.path.join(EPIPHANY_PROFILES_DIR, "org.gnome.Epiphany.WebApp-%s" % webapp.codename), ignore_errors=True) + falkon_orig_prof_dir = os.path.join(os.path.expanduser("~/.config/falkon/profiles"), webapp.codename) + if os.path.exists(falkon_orig_prof_dir): + os.remove(falkon_orig_prof_dir) + shutil.rmtree(os.path.join(FALKON_PROFILES_DIR, webapp.codename), ignore_errors=True) def create_webapp(self, name, url, icon, category, browser, custom_parameters, isolate_profile=True, navbar=False, privatewindow=False): # Generate a 4 digit random code (to prevent name collisions, so we can define multiple launchers with the same name) @@ -246,7 +250,7 @@ def create_webapp(self, name, url, icon, category, browser, custom_parameters, i desktop_file.write("[Desktop Entry]\n") desktop_file.write("Version=1.0\n") desktop_file.write("Name=%s\n" % name) - desktop_file.write("Comment=%s\n" % _("Web App")) + desktop_file.write("Comment=%s\n" % gettext.gettext("Web App")) exec_string = self.get_exec_string(browser, codename, custom_parameters, icon, isolate_profile, navbar, privatewindow, url) @@ -282,6 +286,15 @@ def create_webapp(self, name, url, icon, category, browser, custom_parameters, i with open(app_mode_file, 'w') as fp: pass + if browser.browser_type == BROWSER_TYPE_FALKON: + if isolate_profile: + falkon_profile_path = os.path.join(FALKON_PROFILES_DIR, codename) + os.makedirs(falkon_profile_path) + # Create symlink of profile dir at ~/.config/falkon/profiles + falkon_orig_prof_dir = os.path.join(os.path.expanduser("~/.config/falkon/profiles"), codename) + os.symlink(falkon_profile_path, falkon_orig_prof_dir) + + def get_exec_string(self, browser, codename, custom_parameters, icon, isolate_profile, navbar, privatewindow, url): if browser.browser_type in [BROWSER_TYPE_FIREFOX, BROWSER_TYPE_FIREFOX_FLATPAK]: # Firefox based @@ -332,6 +345,16 @@ def get_exec_string(self, browser, codename, custom_parameters, icon, isolate_pr exec_string += " \"" + url + "\"" if custom_parameters: exec_string += " {}".format(custom_parameters) + elif browser.browser_type == BROWSER_TYPE_FALKON: + # KDE Falkon + exec_string = browser.exec_path + exec_string += " --wmclass=WebApp-" + codename + exec_string += " --profile=" + codename + if privatewindow: + exec_string += " --private-browsing" + if custom_parameters: + exec_string += " {}".format(custom_parameters) + exec_string += " --no-remote " + url else: # Chromium based if isolate_profile: