• aversis_ a day ago

    Looks pretty nice. I love to see a real desktop app (using Qt) instead of yet another shitty Electron app. Hope that you keep working on this!

    • replete a day ago

      Docker Desktop uses 130MB RAM for me on MacOS. I'm guessing the app is using a system webview rather than bundled chromium/electron, which is the right thing to do given how simple the UI is.

      • stn_za a day ago

        100% This.

        Make desktop apps great again

        • Joel_Mckay a day ago

          Note Qt5 is currently broken in some universe MATE desktop repos.

          wxwidgets would likely be cleaner to maintain over the long-term, and seems more stable for event callbacks etc.

          I'll admit some users like spelunking environment variables like QT_QPA_PLATFORM, and application specific python3-venv installs...

          Sometimes a web SPA is just easier to avoid the whole mess of porting. =3

          • anthk a day ago

            Install qt5ct and set

                  #!/bin/sh
                  export QT_QPA_PLATFORMTHEME=qt5ct 
            
            
            at /etc/profile.d/qt5.sh with 0755 perms.
            • Joel_Mckay a day ago

              In some situations qt5ct was the problem at certain points in the past. In this case that trick won't work either.

              The Cinnamon desktop package is functional in 24.04 LTS for "reasons" yet to be identified.

              Thanks for trying to help though =3

              • anthk a day ago

                OFC with qt5ct it's suggested to add the qgtk styles too. For instance, the GTK2/3 one to map your GTK2/3 (and 4) settings into the QT5 widgets.

                BTW, to enforce Zukitre as the GTK4 theme with Elementary icons:

                create /etc/profile.d/gtk.sh

                       #!/bin/sh 
                       export GTK_THEME=Zukitre
                       export GTK_ICON_THEME=Elementary
                
                And, yes, Zuki themes and the Elementary icon set must be installed too.
                • jcelerier a day ago

                  Why qt5ct when qt6 (and qt6ct) were released years ago, in 2020 ?

                  • doubled112 a day ago

                    Same reason as usual. Not every application has been ported.

                  • Joel_Mckay 19 hours ago

                    The theme overrides were not working, so the issue is likely in how the Qt5 template layer was built/integrated in the universe MATE build (Qt6ct seems unaffected, but will not help with code built on Qt5). i.e. the applications may not crash, but will look garbled and exhibit undefined GUI behaviors on legacy desktops. Overriding the themes and other documented workarounds will only suppress standard warnings, but have not had any impact on the core Qt5 issues.

                    For an LTS OS intended to be around for 12 years, I am not sure things have turned out well in user space and Qt5.

                    Hopefully, this saves someone a few hours of chasing this external issue in their own projects. =3

                    • anthk 5 hours ago

                      Uhm, I use Mate under Trisquel 11 (bound to Ubuntu 22 releases, but libre), it's the default desktop DE and I have no issues with neither qt5ct nor GTK theme overriding, which is more apt for Gnome3/OSTree based desktops than normal setups.

                      • Joel_Mckay 4 hours ago

                        This issue appeared in Canonical's Ubuntu 24.04.1 Noble Numbat MATE Desktop iso and universe repository meta packages ubuntu-mate-desktop and mate-desktop .

                        The meta package ubuntucinnamon-desktop does not seem to impact the Qt5 Apps/installation in a detrimental way.

                        If I could offer any advice about this mystery issue... probably wiser to defer upgrading for a bit =3

            • bbor a day ago

              ...why? I know this is the default opinion, but it's always seemed misplaced to me, even more so in 2024.

              QT is run by a for-profit company ($QTCOM, TIL!) selling commercial licenses, Electron is maintained by OpenJS, who has it MIT-licensed all the way. QT uses a language that was designed in 1985 (literally 1-5y after GUIs first appeared) and Electron uses a language designed in 1995 (for the express purpose of modernized GUIs). QT stands alone on its monolithic rock, whereas Electron leverages Chromium and Node.js, two absolute powerhouses of free development and dependencies. Finally, and most importantly: the web is more beautiful and far more consistent than native-styled apps, and GUIs made whole-cloth from QT are almost always too ugly to even be in the running there. All of those downsides are worth it to save some RAM? Not even worth it, but worth lauding like it's a brave stance?

              Sorry, just triggered my trauma from having to work in QT before I was able to find my true calling as a webslinger. No offense to the author of this particular app ofc, I'm sure it was the right choice for them and it looks well-executed for QT. ...Though if they used Electron, it could've been "Jocker" or "Tocker" (ts!) or "Chrocker" or "Electrocker" rather than "cock-er", but that's neither here nor there.

            • pjmlp a day ago

              Same here, kudos for using Qt.

              • hyperbolablabla a day ago

                Can't believe we live in a timeline when using Qt is laudible

                • ktm5j a day ago

                  What's wrong with Qt?! I love it. KDE has long been my desktop of choice and Qt is my go to GUI framework for application development.

                  Qt Creator makes it so easy to whip together a UI that you can easily write code for. It's an absolute pleasure compared to alternatives (at least the ones that I've tried).

                  • 1oooqooq a day ago

                    i exclusively contribute non UI stuff to kde because i could never get the hang of qt.

                    I'm a weird contributor tho. i only focus hard on one annoyance for a couple hours and convince myself i can code a solution by just looking at the project code... it mostly works but not for kde apps UI.

                    it doesn't help either that qt (or maybe its a kde thing) keep changing the base ui code. qml, designer, widgets... it's a dozen frameworks instead of one. not to mention most apps are usually in a mixed abandoned-migration state.

                    well, they just green ligthed a goal to make kde app writting easier. hopefully we will get a one stop place to read how to accomplish things.

                • manojlds a day ago

                  Missed saying "Looks cute"

                • throwup238 a day ago

                  Best name ever.

                  Are you planning on a Qocker Spaniel DLC?

                  • rob74 a day ago

                    Yeah, the name is really Qt!

                  • martinbaun a day ago

                    I wonder how you pronounce that name :D

                    • bityard a day ago

                      It's impressive what Python+Qt can do in just a few hundred lines of code.

                      That said, it's pretty weird that they are just running the `docker` command directly and "manually" parsing the output instead of just calling docker-py, which has been around forever: https://github.com/docker/docker-py

                      • xlmnxp a day ago

                        my main reason to use CLI instead of SDK is to support Podman and second reason is to make the project simple and easy to contribute :)

                        • cacois a day ago

                          very good call on podman support - it didn't immediately occur to me but that's an obvious reason for this choice.

                        • strunz a day ago

                          Also lazydocker seems far superior

                        • nubinetwork a day ago

                          Based on the screenshot, I'm not sure if this supports docker compose... it might be nice to be able to create new containers from scratch using the UI if I'm using it for managing running containers.

                          • dusted a day ago

                            Wow. This is actually very very good. It's the best UI for docker I've seen so far. It's also very fast. I'll be using this from now on. Thanks!

                            • leonheld a day ago

                              I'm very fond of short projects like these that provide significant value. A couple hours and 500-something lines is all it took to make some of us happy.

                              Super cool!

                              • hodanli a day ago

                                Excuse me for my naive question, but why don't we use native Docker Desktop? What are the advantages of this tool?

                                • drpossum a day ago

                                  Docker Desktop has different and obnoxious licensing requirements. If you are using Desktop and are unaware of them, you absolutely should be especially if you work for any company of meaningful size.

                                  • djbusby a day ago

                                    What's the obnoxious part of their desktop license? It just that one has to pay or what? They even have a carve-out for small business.

                                    • MajimasEyepatch a day ago

                                      This part includes most serious technology businesses that have made it past the early stages:

                                      > Docker Desktop is free for small businesses (fewer than 250 employees AND less than $10 million in annual revenue), personal use, education, and non-commercial open source projects.

                                      That sort of license requirement on an otherwise free tool makes it easy for employees to accidentally install software that their employer is then on the hook for. In addition, Docker Desktop was available for free for years, and they only introduced the new license a few years ago, so a lot of people still have a bad taste in their mouths from having to migrate their whole team off of it. It's not unreasonable to charge money for this software, but charging money without having a way for people to explicitly opt in is tricky at best, even if they don't have bad intentions. (And speaking of bad intentions, ask any engineering or IT manager how it feels to wake up to a threatening email from Oracle because they detected that someone somewhere in your company used a product that requires a license, and the terms of their license require that you pay for every single employee at your company.)

                                      I imagine some people also have problems with charging for software that is built on top of FOSS, but I am not especially ideological about that and I assume that Docker is at least obeying the letter, if not the spirit, of the relevant licenses.

                                  • sn0wtrooper a day ago

                                    At least for me, when I installed the Docker Desktop for Linux once, the docker daemon would not run again if the Docker Desktop was not running.

                                    • undefined a day ago
                                      [deleted]
                                    • ddtaylor a day ago

                                      May I ask why people are using these desktop apps instead of Portainer and other web interfaces that run inside docker?

                                      • __jonas a day ago

                                        Not a direct answer, but for me, lazydocker (TUI) is the best possible solution for this sort of thing

                                        - Don't need to have another service running in the background constantly, using up server resources

                                        - Don't need to expose another service including authentication on the server like with a web interface, can just use it via SSH

                                        - Works locally the exact same way as on a remote machine, unlike some desktop GUIs

                                        - A nice, live, interactive overview of all running containers and their logs unlike with the docker CLI (I find the output of `docker ps` impossible to read, it ALWAYS wraps the output for each container across two lines in my terminal and I can't tell how the values line up)

                                        • mrweasel a day ago

                                          Because I mostly don't like web interfaces. It's not that Portainer is bad, it's not, it's really good actually, but I like software to show up as their own thing when I tab between windows.

                                          I don't want yet another tab in my browser, I also don't use webmail, web based chat clients, IDEs, newsreaders and so on. I'm mostly okay with Electron apps, if their done right (VSCode and 1Password comes to mind a two really good examples).

                                        • maxloh a day ago

                                          Rancher Desktop is a good alternative that properly set up a docker installation on Windows for you.

                                          • Ennea a day ago

                                            Could've called it Quokka.

                                            • n3storm a day ago

                                              More family friendly for sure

                                            • johnchristopher a day ago

                                              Can qt use break lines in cells ? It'd be easier to parse info.

                                              • mikae1 a day ago

                                                Pretty please, make a Flatpak! I'm a Plasma user that loves native looking apps.

                                                However, Python dependencies is a living nightmare that I won't enter.

                                                • chaz6 a day ago

                                                  Nice project! I would like to see:-

                                                  - Support for Podman

                                                  - Support for Qt6

                                                  • lionkor a day ago

                                                    It's GPL 3, so you're also free to contribute from what I can tell

                                                    • 3np a day ago

                                                      Looks like it should work with podman out of the box by setting the DOCKER_HOST environment variable to your podman socket. Or facing any compatibility issues?

                                                      • donno a day ago

                                                        I gave it a spin with Podman on Windows and it did indeed work out of box. NO nee

                                                        It listed containers, volumes and networks and started & stopped a container. The Terminal item expects the container to have bash, so would need some tweaking to use /bin/sh.

                                                        I didn't need to set DOCKER_HOST, but I assume I have the Docker compatibility mode enabled.

                                                        • xlmnxp a day ago

                                                          modified the code to fallback to /bin/sh if /bin/bash not exists :)

                                                        • yourapostasy a day ago

                                                          I imagine they'll run into some of the same issues lazydocker [1] did. It seems non-trivial for seamless, comprehensive compatibility.

                                                          [1] https://github.com/jesseduffield/lazydocker/issues/4

                                                          • 3np a day ago

                                                            The only issue I see mentioned when setting DOCKER_HOST to the podman socket is about log-integration not working for all containers, just like with docker? Ie no podman-specific issues.

                                                            Some light usage here and no issues so far.

                                                      • T3RMINATED a day ago

                                                        [dead]

                                                        • grougnax a day ago

                                                          [dead]

                                                          • undefined a day ago
                                                            [deleted]
                                                            • thelastparadise a day ago

                                                              [flagged]

                                                              • HarHarVeryFunny a day ago

                                                                I'm no fan of Python, but why not ... This type of small project is what Python was really made for.