Skip to content

Latest commit

 

History

History
109 lines (68 loc) · 2.22 KB

README.md

File metadata and controls

109 lines (68 loc) · 2.22 KB

appi - Your favorite DIY desktop app creator!

image image

In a nutshell this creates the source code for a python app that can be installed on any linux flavor

Supported platforms:

[x] Linux [ ] Mac OS X

Requirements

  1. python3.9
  2. make
  3. PDM

Features

  • PDM managed
  • Uses PySide6 for rendering
  • Persistent cookiejar
  • Support for app icon
  • Installable .desktop file

Only linux is supported as of now, can be expanded to support macOS

Quickstart

Dependencies

1. Install make

sudo apt-get install make

2. Install Python dependencies

  • pdm
  • cookiecutter

Install dependencies via make

make install-deps

3. download the app icon

curl -o /tmp/app.png https://example.com/image.png

4. Create the app

cookiecutter gh:atumm-ra/appi

You'll be asked to fill in the parameters, most defaults would do, but you need to fill in the following (&examples):

I'm using formaviva as an example, this app is an independent creation that has nothing to do with formaviva

webapp_url: https://formaviva.com
app_name: Formaviva Desktop

Optional but recommended

icon_path: /tmp/app.png

Now after following the interactive console, you'll end up with a project that uses PySide6 to embed the web application you want

5. Install the app

cd formaviva-desktop
make system

What happens here is that it initializes a virtual environment, installs the dependencies (PySide and pyinstaller) compile a binary of the application, and assembles the .desktop file and copies it to the ~/.local/bin and ~ /.local/share/applications/app.desktop

6. Rebuild GTK Icon Cache (optional)

  • Resolves when the app icon is shown as unknown/question mark
sudo gtk-update-icon-cache /usr/share/icons/hicolor

To Do

Feel free to open a PR with any of the following, if there isn't one already.

  • Support flatpak
  • host a flatpak repository for all apps created with appi
  • Support Mac OS X

Cheers!