mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-06 21:44:16 +02:00
Docs
This commit is contained in:
13
CHANGELOG.md
Normal file
13
CHANGELOG.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
## [0.1.0] - 2019-06-14
|
||||
### Features
|
||||
- System tray icon.
|
||||
- Applications management window.
|
||||
- Support for the following locales: PT, EN, ES.
|
||||
- System notification for new updates.
|
||||
- Update applications.
|
||||
22
CONTRIBUTING.md
Normal file
22
CONTRIBUTING.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# How can I contribute?
|
||||
Well, you can...
|
||||
* Report bugs
|
||||
* Add improvements
|
||||
* Fix bugs
|
||||
* Add new translations or fix the current ones
|
||||
|
||||
# Reporting bugs
|
||||
The best means of reporting bugs is by following these basic guidelines:
|
||||
|
||||
* First describe in the title of the issue tracker what's gone wrong.
|
||||
* In the body, explain a basic synopsis of what exactly happens, explain how you got the bug one step at a time. If you're including script output, make sure you run the script with the verbose flag `-v`.
|
||||
* Explain what you had expected to occur, and what really occurred.
|
||||
* Optionally, if you want, if you're a programmer, you can try to issue a pull request yourself that fixes the issue.
|
||||
|
||||
# Adding improvements
|
||||
The way to go here is to ask yourself if the improvement would be useful for more than just a singular person, if it's for a certain use case then sure!
|
||||
|
||||
* In any pull request, explain thoroughly what changes you made
|
||||
* Explain why you think these changes could be useful
|
||||
* If it fixes a bug, be sure to link to the issue itself.
|
||||
* Follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) code style to keep the code consistent.
|
||||
46
README.md
46
README.md
@@ -1,19 +1,46 @@
|
||||
## fpakman
|
||||
Graphical interface for Flatpak application management. It is a tray icon to let the user known when new updates are available.
|
||||
It has also a management window allowing the user to see all installed apllications and update them.
|
||||
Graphical user interface for Flatpak application management. It is a tray icon to let the user known when new updates are available.
|
||||
It has also a management window allowing the user to see all installed applications and update them.
|
||||
|
||||
### Developed with:
|
||||
- Python3 and QT 5.
|
||||
|
||||
### Requirements
|
||||
- Python >= 3.5
|
||||
- qt5 packages
|
||||
#### Debian-based distros
|
||||
- libappindicator3 (for GTK3 desktop environments)
|
||||
- python3-venv (for Debian based distros -> Ubuntu, Linux Mint, ...)
|
||||
- python3-venv
|
||||
#### Arch-based distros
|
||||
- python
|
||||
- python-requests
|
||||
- python-pip
|
||||
- python-pyqt5
|
||||
|
||||
## Installation script
|
||||
You can install the application without compromising your system via the provided installation script called 'sandbox_installer.py'.
|
||||
Type in the terminal: sudo python3 sandbox_installer.py. If you want to uninstall the application, just call the script the same way.
|
||||
|
||||
### Installation script
|
||||
You can install the application without compromising your system via the provided installation script called 'install.py'.
|
||||
Type in the terminal:
|
||||
```
|
||||
sudo python3 install.py.
|
||||
```
|
||||
If you want to uninstall the application, just call the script the same way.
|
||||
|
||||
To start the application, type in the terminal:
|
||||
```
|
||||
fpakman
|
||||
```
|
||||
|
||||
### Manual installation:
|
||||
Inside the project directory type the following commands:
|
||||
```
|
||||
python3 -m venv env
|
||||
env/bin/pip install -r requirements.txt
|
||||
chmod +x app.py
|
||||
./app.py
|
||||
```
|
||||
|
||||
### Autostart
|
||||
In order to autostart the application, use your Desktop Environment settings to register it as startup script ("fpakman").
|
||||
(P.S: the installation script currently does not do that)
|
||||
|
||||
### Settings
|
||||
You can change some application settings via environment variables:
|
||||
@@ -21,5 +48,6 @@ You can change some application settings via environment variables:
|
||||
- **FPAKMAN_CHECK_INTERVAL**: define the updates check interval in seconds. Default: 60.
|
||||
|
||||
### Roadmap
|
||||
- Show update commands
|
||||
- Show updates being applied.
|
||||
- Search and install applications.
|
||||
- Uninstall applications.
|
||||
|
||||
4
app.py
4
app.py
@@ -8,7 +8,7 @@ from PyQt5.QtWidgets import QApplication, QWidget
|
||||
from core.controller import FlatpakController
|
||||
from core.model import FlatpakManager
|
||||
from view.qt.systray import TrayIcon
|
||||
from core import __version__, resource, util
|
||||
from core import __version__, util
|
||||
|
||||
parser = argparse.ArgumentParser(prog='fpakman', description="GUI for Flatpak applications management")
|
||||
parser.add_argument('-v', '--version', action='version', version='%(prog)s {}'.format(__version__))
|
||||
@@ -25,7 +25,7 @@ hidden_widget = QWidget()
|
||||
trayIcon = TrayIcon(locale_keys=locale_keys,
|
||||
parent=hidden_widget,
|
||||
controller=controller,
|
||||
check_interval=int(os.getenv('FPAKMAN_CHECK_INTERVAL', 30)))
|
||||
check_interval=int(os.getenv('FPAKMAN_CHECK_INTERVAL', 60)))
|
||||
trayIcon.show()
|
||||
|
||||
sys.exit(app.exec_())
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
################################################################
|
||||
# It installs the application without compromising you system. #
|
||||
# libraries. 'qt5' is required to be installed. #
|
||||
# #
|
||||
# If you use GTK, install 'libappindicator3' also. #
|
||||
# #
|
||||
# EXECUTE THIS SCRIPT INSIDE THE PROJECT FOLDER AS ROOT #
|
||||
# #
|
||||
@@ -18,8 +14,7 @@ if not os.geteuid() == 0:
|
||||
sys.exit("\nOnly root can run this script\n")
|
||||
|
||||
|
||||
link_path = '/usr/local/bin/fpakman'
|
||||
runner_file = 'run.sh'
|
||||
runner_file = '/usr/local/bin/fpakman'
|
||||
env_name = 'env'
|
||||
|
||||
|
||||
@@ -27,19 +22,21 @@ def log(msg: str):
|
||||
print('[fpakman] {}'.format(msg))
|
||||
|
||||
|
||||
if os.path.exists(link_path):
|
||||
if os.path.exists(runner_file):
|
||||
log('already installed')
|
||||
log('Do you wish to uninstall it ? (y/N)')
|
||||
uninstall = input()
|
||||
|
||||
if uninstall.lower() == 'y':
|
||||
|
||||
try:
|
||||
os.unlink(link_path)
|
||||
except:
|
||||
log("Could not remove the runner syslink '{}'".format(link_path))
|
||||
log("Aborting...")
|
||||
exit(1)
|
||||
if os.path.exists(runner_file):
|
||||
|
||||
try:
|
||||
os.remove(runner_file)
|
||||
except:
|
||||
log("Could not remove the runner file '{}'".format(runner_file))
|
||||
log("Aborting...")
|
||||
exit(1)
|
||||
|
||||
if os.path.exists('{}/{}'.format(os.getcwd(), env_name)):
|
||||
try:
|
||||
@@ -49,15 +46,6 @@ if os.path.exists(link_path):
|
||||
log("Aborting")
|
||||
exit(1)
|
||||
|
||||
if os.path.exists('{}/{}'.format(os.getcwd(), runner_file)):
|
||||
|
||||
try:
|
||||
os.remove(runner_file)
|
||||
except:
|
||||
log("Could not remove the runner file '{}'".format(runner_file))
|
||||
log("Aborting...")
|
||||
exit(1)
|
||||
|
||||
log("Successfully uninstalled")
|
||||
|
||||
else:
|
||||
@@ -80,20 +68,11 @@ else:
|
||||
|
||||
if res:
|
||||
log("Creating runner as '{}'".format(runner_file))
|
||||
with open('run.sh', 'w+') as f:
|
||||
with open(runner_file, 'w+') as f:
|
||||
f.write('#!/bin/bash\n{d}/env/bin/python {d}/app.py'.format(d=os.getcwd()))
|
||||
|
||||
system.run_cmd('chmod +x ' + runner_file)
|
||||
|
||||
log("Creating syslink as '{}'".format(link_path))
|
||||
|
||||
try:
|
||||
os.link('{}/{}'.format(os.getcwd(), runner_file), link_path)
|
||||
except:
|
||||
log("Could not create the syslink")
|
||||
log("Aborting...")
|
||||
exit(1)
|
||||
|
||||
log('Successfully installed')
|
||||
else:
|
||||
log('Could not install python requirements to the virtualenv')
|
||||
Reference in New Issue
Block a user