roundabout,
created on Thursday, 19 December 2024, 18:36:09 (1734633369),
received on Thursday, 19 December 2024, 18:36:12 (1734633372)
Author identity: vlad <vlad.muntoiu@gmail.com>
9179fa4d81479bcd53e1605fdd9b9982728a6c3f
com.roundabout_host.Izvor.yaml
@@ -6,6 +6,7 @@ command: izvor
finish-args:
- --share=network
- --filesystem=home
- --filesystem=host
- --socket=x11
- --socket=wayland
- --filesystem=xdg-config/fontconfig:ro
@@ -20,6 +21,8 @@ finish-args:
build-options:
build-args:
- --share=network
environment:
PYTHONPATH: "/app/lib/python3.12/site-packages:${PYTHONPATH}"
modules:
- name: izvor
buildsystem: simple
@@ -34,3 +37,11 @@ modules:
sources:
- type: dir
path: src
- name: izvor_utils
buildsystem: simple
build-commands:
#- mkdir -p /app/lib/python3.12/site-packages/izvor_utils
- cp -r . /app/lib/python3.12/site-packages/izvor_utils/
sources:
- type: dir
path: izvor_utils
izvor_utils/__init__.py
@@ -0,0 +1,33 @@
import os
import subprocess
class Provider:
def __init__(self, name, icon, description, config):
self.name = name
self.icon = icon
self.description = description
self.config = config
async def search(self, query):
return
yield
def launch_command(command, shell=False):
if os.getenv("FLATPAK_SANDBOX_DIR"):
if shell:
command = ["sh", "-c", command]
subprocess.run(["flatpak-spawn", "--host"] + command)
else:
if shell:
subprocess.run(command, shell=True)
else:
subprocess.run(command)
def xdg_open(path):
launch_command(["xdg-open", path])
def run_desktop_entry(app_info):
launch_command(["gio", "launch", app_info.get_filename()])
src/__init__.py
@@ -414,7 +414,11 @@ class Izvor(Gtk.Application):
rows += 1
def open_provider_directory(widget):
subprocess.Popen(["xdg-open", str(self.USER_PROVIDERS)])
provider_directory = str(self.USER_PROVIDERS)
if os.getenv("FLATPAK_SANDBOX_DIR"):
subprocess.Popen(["flatpak-spawn", "--host", "xdg-open", provider_directory])
else:
subprocess.Popen(["xdg-open", provider_directory])
providers_builder.connect_signals(
{
@@ -488,7 +492,10 @@ class Izvor(Gtk.Application):
response = dialog.run()
if response == 0:
# Open config
subprocess.Popen(["xdg-open", str(self.USER_PROVIDER_CONFIGS / f"{get_parent_package(filename).stem}.json")])
if os.getenv("FLATPAK_SANDBOX_DIR"):
subprocess.Popen(["flatpak-spawn", "--host", "xdg-open", str(self.USER_PROVIDER_CONFIGS / f"{get_parent_package(filename).stem}.json")])
else:
subprocess.Popen(["xdg-open", str(self.USER_PROVIDER_CONFIGS / f"{get_parent_package(filename).stem}.json")])
self.kill()
elif response == 1:
@@ -515,6 +522,7 @@ class Izvor(Gtk.Application):
if __name__ == "__main__":
izvor = Izvor()
izvor.window.show_all()
izvor.window.present()
try:
izvor.loop.run_forever()
finally: