mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-07 02:24:16 +02:00
refactoring modules structure | improving README and CHANGELOG
This commit is contained in:
58
README.md
58
README.md
@@ -1,26 +1,38 @@
|
||||
## bauh
|
||||
|
||||
Non-official graphical user interface for Flatpak / Snap application management (old **fpakman**). It is a tray icon that let the user known when new updates are available and
|
||||
an application management panel where you can search, update, install and uninstall applications.
|
||||
Graphical user interface to manage your Linux applications (packages) (old **fpakman**). It currently supports Flatpak, Snap and AUR packaging types. When you launch **bauh** you will see
|
||||
a management panel where you can search, update, install and uninstall applications. You can also downgrade some applications depending on the package technology.
|
||||
|
||||
It has a **tray mode** (see **Settings** below) that attaches the application icon to the system tray providing a quick way to launch it. Also the icon will get red when updates are available.
|
||||
|
||||
### Developed with:
|
||||
- Python3 and Qt5.
|
||||
|
||||
### Requirements
|
||||
- libappindicator3 ( for GTK3 desktop environments )
|
||||
|
||||
#### Debian-based distros
|
||||
- python3-venv
|
||||
- **python3.5** or above
|
||||
- **pip3**
|
||||
|
||||
#### Arch-based distros
|
||||
- python
|
||||
- python-requests
|
||||
- python-virtualenv
|
||||
- python-pip
|
||||
- python-pyqt5
|
||||
- **python**
|
||||
- **python-requests**
|
||||
- **python-pip**
|
||||
- **python-pyqt5**
|
||||
|
||||
##### Optional
|
||||
- **flatpak**: to be able to handle Flatpak applications
|
||||
- **snapd**: to be able to handle Snap applications
|
||||
- **git**: to be able to downgrade AUR packages
|
||||
- **wget**: to be able to download and install AUR packages
|
||||
- **pacman**: to be able to handle AUR packages
|
||||
- **libappindicator3**: for the **tray mode** in GTK3 desktop environments
|
||||
|
||||
|
||||
### Distribution
|
||||
**PyPi**
|
||||
```
|
||||
sudo pip3 install bauh
|
||||
pip3 install bauh (may require **sudo**)
|
||||
```
|
||||
|
||||
**AUR**
|
||||
@@ -29,13 +41,19 @@ As **bauh** package. There is also a staging version (**bauh-staging**) but is i
|
||||
|
||||
|
||||
### Manual installation:
|
||||
If you prefer a manual and isolated installation, type the following commands within the cloned project folder:
|
||||
If you prefer a manual and isolated installation:
|
||||
|
||||
If you cloned this project, type the following commands within its folder:
|
||||
|
||||
```
|
||||
python3 -m venv env
|
||||
env/bin/pip install .
|
||||
env/bin/bauh
|
||||
python3 -m venv env ( creates a virtualenv in a folder called **env** )
|
||||
env/bin/pip install . ( install the application code inside the **env** )
|
||||
env/bin/bauh ( launch the application )
|
||||
```
|
||||
|
||||
If you want do not want to clone / download this repository, go your Home folder and execute the commands above, but replace the second by ```env/bin/pip install bauh```.
|
||||
|
||||
|
||||
### Autostart
|
||||
In order to autostart the application, use your Desktop Environment settings to register it as a startup application / script (**bauh --tray=1**).
|
||||
|
||||
@@ -49,8 +67,6 @@ You can change some application settings via environment variables or arguments
|
||||
- **BAUH_ICON_EXPIRATION**: define a custom expiration time in SECONDS for cached icons. Default: 300 (5 minutes).
|
||||
- **BAUH_DISK_CACHE**: enables / disables disk cache. When disk cache is enabled, the installed applications data are loaded faster. Use **0** (disable) or **1** (enable, default).
|
||||
- **BAUH_DOWNLOAD_ICONS**: Enables / disables app icons download. It may improve the application speed depending on how applications data are being retrieved. Use **0** (disable) or **1** (enable, default).
|
||||
- **BAUH_FLATPAK**: enables / disables flatpak usage. Use **0** (disable) or **1** (enabled, default)
|
||||
- **BAUH_SNAP**: enables / disables snap usage. Use **0** (disable) or **1** (enabled, default)
|
||||
- **BAUH_CHECK_PACKAGING_ONCE**: If the available supported packaging types should be checked ONLY once. It improves the application speed if enabled, but can generate errors if you uninstall any packaging technology while using it, and every time a supported packaging type is installed it will only be available after a restart. Use **0** (disable, default) or **1** (enable).
|
||||
- **BAUH_TRAY**: If the tray icon and update-check daemon should be created. Use **0** (disable, default) or **1** (enable).
|
||||
- **BAUH_SUGGESTIONS**: If application suggestions should be displayed if no app is installed (runtimes do not count as apps). Use **0** (disable) or **1** (enable, default).
|
||||
@@ -64,6 +80,16 @@ with the technology that I don't care every time an action is executed.
|
||||
- If you don't mind to see the applications icons, you can set "download-icons=0" (**bauh --download-icons=0**). The application may have a slight response improvement, since it will reduce the parallelism within it.
|
||||
- If you don't mind app suggestions, disable it (**bauh --sugs=0**)
|
||||
|
||||
|
||||
### Code structure
|
||||
#### Modules
|
||||
**view**: code associated with the graphical interface
|
||||
**gems**: code responsible to work with the different packaging technologies (every submodule deals with one or more type)
|
||||
**api**: code abstractions representing the main actions that a user can do with Linux packages (search, install, ...). These abstractions are implemented by the *gems*, and
|
||||
the **view** code is only attached to them (it does not know how the **gems** handle the actions)
|
||||
**commons**: common code used by **gem** and **view**
|
||||
|
||||
|
||||
### Roadmap
|
||||
- Support for other packaging technologies
|
||||
- Separate modules for each packaging technology
|
||||
|
||||
Reference in New Issue
Block a user