- build-essential
- meson
- libadwaita-1-dev
- gettext
- desktop-file-utils
- apx (2.0+)
meson setup build
ninja -C build
sudo ninja -C build install
apx-gui
A frontend in GTK 4 and Libadwaita for Apx.
License: GNU General Public License v3.0
When using apx's gui to create a container it fails when trying to start it up, and even fails in the cli
but when the cli creates it, both apx gui and the cli can access it
The error i get when trying to enter a container created by apx gui:
Error: OCI runtime error: crun: ptsname: Inappropriate ioctl for device
To Do
Locked by: Vanilla-OS/apx#315
Hi I've just updated the nix package for apx-gui to 1.0.2 (had to add python requests as a new dependency). The project builds and seems to runs fine, but after a few seconds it spits out the below error. Is this a bug or am I missing a dependency? Many thanks!
ERROR:Vanilla::Async:Error while running async job: <function Monitor.read at 0x7fb1346f72e0>
Exception: HTTPConnectionPool(host='localhost', port=80): Max retries exceeded with url: /events? since=2024-07-09T16:35:01&stream=false (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb134703830>: Failed to establish a new connection: [Errno 111] Connection refused'))
File "/nix/store/h1mwd3ndnhly81gn0as7i2fic3vhiqi5-apx-gui-1.0.2/share/apx_gui/apx_gui/core/run_async.py", line 73, in __target
result = self.task_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/h1mwd3ndnhly81gn0as7i2fic3vhiqi5-apx-gui-1.0.2/share/apx_gui/apx_gui/core/monitor.py", line 107, in read
response = session.get(
^^^^^^^^^^^^
File "/nix/store/f98z9h1gappf14p3id6kl21agfg9mfhp-python3-3.12.4-env/lib/python3.12/site-packages/requests/sessions.py", line 602, in get
return self.request("GET", url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/f98z9h1gappf14p3id6kl21agfg9mfhp-python3-3.12.4-env/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/f98z9h1gappf14p3id6kl21agfg9mfhp-python3-3.12.4-env/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/f98z9h1gappf14p3id6kl21agfg9mfhp-python3-3.12.4-env/lib/python3.12/site-packages/requests/adapters.py", line 700, in send
raise ConnectionError(e, request=request)
Traceback (most recent call last):
File "/nix/store/h1mwd3ndnhly81gn0as7i2fic3vhiqi5-apx-gui-1.0.2/share/apx_gui/apx_gui/windows/main_window.py", line 70, in callback
for event in events:
TypeError: 'NoneType' object is not iterable
This can be achieved in the CLI using the podman pause <container-name>
or podman unpause <container-name>
command.
Maybe adding it to the GUI would accompany the other actions and the status indicator.
Also, A refresh button would help to refresh the status, as currently the data is updated only when relaunching.
Publishing to the Python Package Index will allow users to install apx-gui without having to self compile by using the distro-agnostic tool pip.
When using the left side panel to select anything, it becomes highlighted blue and a tab opens. After closing the tab, clicking on the item currently highlighted blue does not re-open the tab. The only way to re-open the tab is clicking on another item then on the desired one, and if there is only one item on the list the only way is to double-click the blue item.
I doubt this is desired behavior, and certainly confused me when I was trying to re-open a panel I closed and nothing happened.
Hello,
I installed apx
in Manjaro using the AUR package. apx
command works correctly and I tried both --apt
and --dnf
. I then compiled from the source and installed apx-gui
. However, when running apx-gui
, no container is detected. How can I add the existing ones?
Not really specific to vanilla, but it'd be definitely a nice feature. Basically managing app data from hidden folders on the home partition from gui. Nothing fancy, just being able to see what residual data is still there from some apps (after uninstall for example), their size, and the option to remove them? Would help the users keep their home directory from getting chaotic over time.
I really like the idea of this tool and find it a bit sad that it isn't available on other distros, like Fedora Atomic for example.
There is a very similar tool called BoxBuddy, that does almost the same, but doesn't look as sleek.
Would it be possible to provide a package for other distros too, so it gets a wider audience?
The removed stacks are still listed in the create subsystems list and the list is only refreshed once I close and reopen the application.
After a Subsystem has been deleted using the APX gui, the name of the subsystem cannot be reused.
Creating a new subsystem with the same name in cmd line returns:
Creating subsystem 'arch' with stack 'arch'… (0s)Distrobox named 'apx-arch' already exists.
This does not occur when the subsystem is deleted via the command line.
To recreate:
1.) Create subsystem
2.) Delete subsystem using APX gui.
3.) Create new subsystem with the same name.
Traceback (most recent call last):
File "/usr/local/share/apx_gui/apx_gui/main.py", line 66, in do_activate
win = ApxGUIWindow(application=self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/share/apx_gui/apx_gui/windows/main_window.py", line 49, in __init__
self.__subsystems: list[Subsystem] = self.__apx.subsystems_list()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/share/apx_gui/apx_gui/core/apx.py", line 32, in subsystems_list
subsystems_data = json.loads(output)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
F1
shortcut.The widgets should be ported to Libadwaita 1.4, notably ToolbarView, for a quick overview see https://blogs.gnome.org/alicem/2023/09/15/libadwaita-1-4/
This issue still seems to be present even after the fix at 3d460d3 (which is present in the latest desktop image).
Currently the create subsystem name box allows spaces, the system does not actually allow that in the terminal layer so everything breaks upon doing so. (error and then the subsystem get's named the first word)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.