Skip to content

Commit 8b245f3

Browse files
authored
Add Floorp support (#316)
1 parent 74878f7 commit 8b245f3

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Python Byte-compiled / optimized files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class

usr/lib/webapp-manager/common.py

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,11 @@ def wrapper(*args):
5858
FIREFOX_SNAP_PROFILES_DIR = os.path.expanduser("~/snap/firefox/common/.mozilla/firefox")
5959
LIBREWOLF_FLATPAK_PROFILES_DIR = os.path.expanduser("~/.var/app/io.gitlab.librewolf-community/data/ice/librewolf")
6060
WATERFOX_FLATPAK_PROFILES_DIR = os.path.expanduser("~/.var/app/net.waterfox.waterfox/data")
61+
FLOORP_FLATPAK_PROFILES_DIR = os.path.expanduser("~/.var/app/one.ablaze.floorp/data")
6162
EPIPHANY_PROFILES_DIR = os.path.join(ICE_DIR, "epiphany")
6263
FALKON_PROFILES_DIR = os.path.join(ICE_DIR, "falkon")
6364
ICONS_DIR = os.path.join(ICE_DIR, "icons")
64-
BROWSER_TYPE_FIREFOX, BROWSER_TYPE_FIREFOX_FLATPAK, BROWSER_TYPE_FIREFOX_SNAP, BROWSER_TYPE_LIBREWOLF_FLATPAK, BROWSER_TYPE_WATERFOX_FLATPAK, BROWSER_TYPE_CHROMIUM, BROWSER_TYPE_EPIPHANY, BROWSER_TYPE_FALKON = range(8)
65+
BROWSER_TYPE_FIREFOX, BROWSER_TYPE_FIREFOX_FLATPAK, BROWSER_TYPE_FIREFOX_SNAP, BROWSER_TYPE_LIBREWOLF_FLATPAK, BROWSER_TYPE_WATERFOX_FLATPAK, BROWSER_TYPE_FLOORP_FLATPAK, BROWSER_TYPE_CHROMIUM, BROWSER_TYPE_EPIPHANY, BROWSER_TYPE_FALKON = range(9)
6566

6667
class Browser:
6768

@@ -227,7 +228,10 @@ def get_supported_browsers():
227228
Browser(BROWSER_TYPE_CHROMIUM, "Naver Whale", "naver-whale-stable", "/usr/bin/naver-whale-stable"),
228229
Browser(BROWSER_TYPE_CHROMIUM, "Yandex (Flatpak)", "/var/lib/flatpak/exports/bin/ru.yandex.Browser", "/var/lib/flatpak/exports/bin/ru.yandex.Browser"),
229230
Browser(BROWSER_TYPE_CHROMIUM, "Yandex (Flatpak)", ".local/share/flatpak/exports/bin/ru.yandex.Browser", ".local/share/flatpak/exports/bin/ru.yandex.Browser"),
230-
Browser(BROWSER_TYPE_CHROMIUM, "Thorium", "thorium-browser", "/usr/bin/thorium-browser")
231+
Browser(BROWSER_TYPE_CHROMIUM, "Thorium", "thorium-browser", "/usr/bin/thorium-browser"),
232+
Browser(BROWSER_TYPE_FIREFOX, "Floorp", "floorp", "/usr/bin/floorp"),
233+
Browser(BROWSER_TYPE_FLOORP_FLATPAK, "Floorp (Flatpak)", "/var/lib/flatpak/exports/bin/one.ablaze.floorp", "/var/lib/flatpak/exports/bin/one.ablaze.floorp"),
234+
Browser(BROWSER_TYPE_FLOORP_FLATPAK, "Floorp (Flatpak)", ".local/share/flatpak/exports/bin/one.ablaze.floorp", ".local/share/flatpak/exports/bin/one.ablaze.floorp")
231235
]
232236

233237
def delete_webbapp(self, webapp):
@@ -337,6 +341,27 @@ def get_exec_string(self, browser, codename, custom_parameters, icon, isolate_pr
337341
" --no-remote")
338342
if privatewindow:
339343
exec_string += " --private-window"
344+
if custom_parameters:
345+
exec_string += " {}".format(custom_parameters)
346+
exec_string += " \"" + url + "\"" + "'"
347+
# Create a Firefox profile
348+
shutil.copytree('/usr/share/webapp-manager/firefox/profile', firefox_profile_path, dirs_exist_ok = True)
349+
if navbar:
350+
shutil.copy('/usr/share/webapp-manager/firefox/userChrome-with-navbar.css',
351+
os.path.join(firefox_profile_path, "chrome", "userChrome.css"))
352+
elif browser.browser_type == BROWSER_TYPE_FLOORP_FLATPAK:
353+
# Floorp flatpak
354+
firefox_profiles_dir = FLOORP_FLATPAK_PROFILES_DIR
355+
firefox_profile_path = os.path.join(firefox_profiles_dir, codename)
356+
exec_string = ("sh -c 'XAPP_FORCE_GTKWINDOW_ICON=\"" + icon + "\" " + browser.exec_path +
357+
" --class WebApp-" + codename +
358+
" --name WebApp-" + codename +
359+
" --profile " + firefox_profile_path +
360+
" --no-remote")
361+
if privatewindow:
362+
exec_string += " --private-window"
363+
if custom_parameters:
364+
exec_string += " {}".format(custom_parameters)
340365
exec_string += " \"" + url + "\"" + "'"
341366
# Create a Firefox profile
342367
shutil.copytree('/usr/share/webapp-manager/firefox/profile', firefox_profile_path, dirs_exist_ok = True)

0 commit comments

Comments
 (0)