bauh (formerly known as fpakman) - A GUI for Flatpak and Snap management

Ok I will use this

Is not that i don't agree with you regarding the curent icon for bauh tray, but bare in mind that there are people that use a light panel, in different DE's that have other particularities too, hence using a monocromatic (light) icon will not suit everybody. Because is a png in use also remember to let the margins for the icon itself, so doesn't become larger than the other icons.

Also, because it has two states: one normal when there are no updates, and one when there are updates, the "design" of it has to highlight that too, in a way all the other icons display such notifications.

No updates


Also, the will of the creator of the application needs to be respected, aka agree if the icon should be changed or not and in what way. There are details that maybe need to be kept, some details become invisible in some situations, so creating a custom icon might have back and forth discussion, with some constructive criticism.
So, is about colors, shapes, the globe; is about suggesting the multi(layered) possibility to install/update different types of "packages" from different sources; is about to have a unique look or something everyone can identify as a manager ... ? Starting with the default one, few iterations can come up, but as long as the above mentioned issues are not clarified, most of the works are quite subjective and will be unsuccessful too. Here is an example:

As long as the design and colors fail to satisfy all the possibilities: transparent panel, light panel, dark panel, custom icon theme etc, there is no point to propose a replacement for the actual icons.


Yeah but developers need to understand that people look at things how they look firstly then how they behave. When I first see this after Manjaro install I was like what the F*** is this? (it looks it is not done, just based on icon, even though program works) I think that it is easier to develop icons then develop program itself.
There are more things with Bauh, when it is off center and press refresh the window jumps to the middle of the screen.
I fully respect peoples work, I work with developers daily I think I know what I am talking about.

:rofl: :rofl::rofl::rofl::rofl::rofl::rofl::rofl::rofl::rofl::rofl:

Interesting personality... Have you been checked??

I fully respect peoples opinions, I deal with people daily I think I know what I am talking about.

1 Like

Actually yes corporate what I work for needs it for every position :slight_smile:
So be careful I am developing autonomous cars Level 4 :joy:

1 Like

From where i stand i can only point to this

and not argue about design watsoever :slight_smile:
In the bauh folder there are 3 variants that look like this, for different scenarios:


so you either do this:

or from that particular folder you run:

sudo cp * /usr/lib/python3.8/site-packages/bauh/view/resources/img/

and then restart bauh tray.


bauh 0.8 is out and able to generate native Web applications by typing their addresses / URLs on the search bar:

  • It also allows the user to customize the application before the installation:



  • The suggestions can also be found by their names:

  • Web applications support requires only python-beautifulsoup4 and python-lxml. To do all the magic bauh relies on nativefier and Electron, but you don't need them installed on your system. Bauh will create its own isolated installation environment in ~/.local/share/bauh/web/env, and during the first app installation it will ask to the user to prepare its environment:



  • Now bauh gives preference to the system icons. The tray icons must be available on your system as bauh_tray_default and bauh_tray_updates. I've tested with some of the @bogdancovaciu icons:



  • Most of the environment variables and parameters were moved to the configuration file ~/.config/bauh/config.yml to make it easier to customize the bauh settings. Note that the
    config file now has the .yml format, and bauh relies on python-pyaml to be installed on your system. The following section of the README describes the updated configuration file:

  • The environment variables associated with the specific package types were also moved to configuration files located at ~/.config/bauh. e.g: appimage.yml, web.yml, arch.yml

  • Now all suggestions are retrieved from the cloud (bauh-files) during runtime.

  • This version has also some minor fixes and memory improvements.

  • The Web support has missing translations for Catalan, German and Italian. If someone wants to help, the folder is

Happy holidays for everyone :beers:


This version 0.8.0 segfaults with the following trace:

$ bauh
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/bauh/view/qt/", line 538, in _finish_refresh_apps
    self.update_pkgs(res['installed'], as_installed=as_installed, types=res['types'], keep_filters=self.recent_uninstall and res['types'])
  File "/usr/lib/python3.8/site-packages/bauh/view/qt/", line 741, in update_pkgs
  File "/usr/lib/python3.8/site-packages/bauh/view/qt/", line 618, in _update_table
    self.table_apps.update_pkgs(self.pkgs, update_check_enabled=pkgs_info['not_installed'] == 0)
  File "/usr/lib/python3.8/site-packages/bauh/view/qt/", line 230, in update_pkgs
    self._update_row(pkgv, update_check_enabled)
  File "/usr/lib/python3.8/site-packages/bauh/view/qt/", line 233, in _update_row
    self._set_col_name(0, pkg)
  File "/usr/lib/python3.8/site-packages/bauh/view/qt/", line 345, in _set_col_name
    with open(pkg.model.get_disk_icon_path(), 'rb') as f:
IsADirectoryError: [Errno 21] Is a directory: 'xiaomitool'
fish: “bauh” terminated by signal SIGABRT (Abort)

It doesn't like XiaomiTool installed from AUR. Workaround is to remove that tool. What's interesting, I had AUR support disabled in the previous version of Bauh, but it turned on after update. Disabling AUR support in Bauh again let me avoid the error (re-installed XiaomiTool, ran Bauh - no segfault).

Hi @openminded. I will have a look here. What's the exact package name ? ( I found a xiaomitool-v2 ). About the config: in this version the file was renamed to config.yml, and I haven't implemented a migration routine because the older version had just two fields. I didn't want to harm the boot speed with an additional I/O routine.

If it is not loading because of the AUR support, edit the the gems section of the ~/.config/bauh/config.yml and just add the types you want to use. For instance:

- snap
- web
- flatpak
- appimage

Based on the error stack, I provided a fix in bauh-staging. Could you give me a feedback if the issue has gone ?


Yeah, that's exactly it. Can't confirm about your fix yet, but I circumvented the issue with removing XiaomiTool. Then Bauh launched and I disabled AUR support and then installed xiaomitool with trizen as I used to. After that, no conflict was observed, Bauh works fine.

UPD: Yes, staging version doesn't crash after enabling AUR support. Thanks for a quick fix.
Here I post new output which I have from bauh-staging (there are some errors there, I don't know whether you need this traceback or not):

$ bauh
Exception in thread Thread-24:
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/urllib3/", line 156, in _new_conn
    conn = connection.create_connection(
  File "/usr/lib/python3.8/site-packages/urllib3/util/", line 84, in create_connection
    raise err
  File "/usr/lib/python3.8/site-packages/urllib3/util/", line 74, in create_connection
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/urllib3/", line 665, in urlopen
    httplib_response = self._make_request(
  File "/usr/lib/python3.8/site-packages/urllib3/", line 376, in _make_request
  File "/usr/lib/python3.8/site-packages/urllib3/", line 994, in _validate_conn
  File "/usr/lib/python3.8/site-packages/urllib3/", line 334, in connect
    conn = self._new_conn()
  File "/usr/lib/python3.8/site-packages/urllib3/", line 168, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x7f3294023b80>: Failed to establish a new connection: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/requests/", line 439, in send
    resp = conn.urlopen(
  File "/usr/lib/python3.8/site-packages/urllib3/", line 719, in urlopen
    retries = retries.increment(
  File "/usr/lib/python3.8/site-packages/urllib3/util/", line 436, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f3294023b80>: Failed to establish a new connection: [Errno 111] Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/", line 932, in _bootstrap_inner
  File "/usr/lib/python3.8/", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.8/site-packages/bauh/gems/web/", line 741, in _fill_suggestion
    soup = self._map_url(app.url)
  File "/usr/lib/python3.8/site-packages/bauh/gems/web/", line 152, in _map_url
    url_res = self.http_client.get(url, headers=headers, ignore_ssl=True, single_call=True)
  File "/usr/lib/python3.8/site-packages/bauh/api/", line 38, in get
    res = self.session.get(url, **args)
  File "/usr/lib/python3.8/site-packages/requests/", line 546, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python3.8/site-packages/requests/", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3.8/site-packages/requests/", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3.8/site-packages/requests/", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f3294023b80>: Failed to establish a new connection: [Errno 111] Connection refused'))
1 Like

Thank you for posting these issues. I've already published a fix for this one as well in bauh-staging. If you find more, let me know. I'm going to to group a bunch of fixes to release 0.8.1.

Has anyone noticed there seems to be no close button on the pictures you can open. I did find you can close them with escape key, but I only found that out by guessing.
The window resizes and flickers when switching the type filter. This is kind of annoying.

About AUR functionality, are there any settings that we can modify, like the known AUR helpers have?

I was checking out bauh and uninstalled an AUR package, that was depended on another (AUR) package which was removed as well, though it seems not right.
I actually needed that package :sob:

How does bauh collect which are AUR installed packages?
My other package was not listed installed...

I am talking about grub-theme-creator (removed with bauh) and horizontal-grub (removed by bauh without notice).

@AgentS, bauh just delegates the exclusion to pacman. If you look at the details, you will see the executed command:

sudo -S pacman -R grub-theme-creator --noconfirm

checking dependencies...
Packages (1) grub-theme-creator-0.1.0.alpha.2-1
Total Removed Size:  4.41 MiB
:: Do you want to remove these packages? [Y/n]
:: Processing package changes...
removing grub-theme-creator...
:: Running post-transaction hooks...

As you see, bauh does not touch the dependent packages directly. Pacman decides what to do with them.

Anyway, I installed and uninstalled grub-theme-creator, but horizontal-grub was kept. Is it not hidden by the Apps filter ?

About how bauh reads the installed packages, have a look here ->

The current supported AUR settings can be modified at ~/.config/bauh/arch.yml

Any doubt, let me know

1 Like

bauh 0.8.1 is officially out fixing some issues, with minor UI improvements and now able to deal with Flatpak applications at the user level.

  • Now when you are going to install a Flatpak application, bauh will ask if you want to install for all users ( system level ) or just for yourself:

  • If you want to skip this popup, edit the new Flatpak configuration file located at ~/.config/bauh/flatpak.yml and set a default installation level:
installation_level: null  # 'user' or 'system'

  • Also I had some help with the HDPI resolution and scaling issues. It seems they are fixed. ( I currently have no HDPI device to test, so let me know if the issues still exist )

Release notes:

( as always, already available in AUR and PyPi )



Guys, I've just released another minor for bauh ( 0.8.2 ). Overall it has some fixes and improvements related to AUR, Flatpak and the UI. it also comes with a management panel for all the available settings:

The following actions were moved to the new settings panel:

Now it is possible to easily change the tray icons via the settings panel:

Some users reported bad scaling when using Gnome on HDPI devices. This new property is able to fix the issue

That's it... any trouble, let me know. Full release notes ->



People, a new bauh minor release is out ( 0.8.3 ) with some fixes, improvements and preparing the ground for 0.9. If you install Web applications through bauh, it is recommended to upgrade. Any issue, let me know. Release notes:


1 Like

Forum kindly sponsored by