Just Another Desktop Environment Application Kit ( JAK )
Build web wrappers or hybrid web/desktop applications on Linux, using Python/JavaScript/HTML5/CSS3 powered by QTWebengine. Using web technologies we can create beautiful User Interfaces using a diverse amount of available library's and frameworks.
- Prerequisites
- Python >= 3.8
- PySide2 >= 5.14 or PyQt5 >= 5.13
- desktop-file-utils, for application.desktop creation: optional
git clone https://github.com/codesardine/Jade-Application-Kit.git
cd Jade-Application-Kit
Install using pip
pip3 install -r requirements.txt
or
pip3 install Jade-Application-Kit
Install manually
~/.virtualenv/python3 setup.py install
or
sudo python3 setup.py install
Install in Manjaro
sudo pacman -S python-jade-application-kit
JAK defaults to using PySide2 to use PyQt5 set this environment variable, this is read before the config file.
export JAK_PREFERRED_BINDING=PyQt5
Setting bindings via config file, system wide is fetched last.
- User file location = /username/.config/jak.conf
- System wide location = /etc/jak.conf
Config file contents.
[bindings]
JAK_PREFERRED_BINDING = PyQt5
Please read CONTRIBUTING.md for details on code of conduct, and the process for submitting pull requests.
With the command line utility you can create a self-contained web wrapper's in a question of seconds.
jak-cli --url https://my-web-app-url --title Mytitle
Creating Desktop files in the user directory ( ~/.local/share/applications ).
jak-cli --url https://slack.com --title Slack --cde --desc "Collaboration software for connected teams."
More options.
jak-cli --help
#!/usr/bin/env python
from JAK.Application import JWebApp
url = "https://my-web-app-url"
webapp = JWebApp(title="Mytitle", online=True, web_contents=url)
webapp.run()
- We can match domains by starting letters or using Python regex.
- Block Rules: blocks any domain in the list.
- WebBrowserWindow Rules: deny any domain in the list.
- WebBrowserTab Rules: only allow domains in the list, if empty all are allowed, if they start with https:// they open in a new window.
Looking for wrapper's examples? Check Branches starting with wrapper/
.
SemVer is used for versioning. For the versions available, see the tags on this repository.
- Vitor Lopes - Twitter Codesardine
See also the list of contributors who participated in this project.
Applications
Wrappers
Missing yours?, let me know.
- Does not like NVIDIA cards and as such falls back to software rendering, so if you use one of them you have to do without GPU acceleration. Only PCI devices.
Jade Application Kit is covered by the GPL license.
Copyright (c) 2015-2019, Vitor Lopes. All rights reserved.