I made an app for screen rotation in convertible laptops and tablets with a touch screen, and submitted it to flathub.
But I find the behavior of flatpak devs disheartening.
At first, they argued that this “app” should be a part of system settings rather than being an app. However, I made this app because this was a missing feature in nearly all DEs that do not support Wayland.
Then, they expressed “concerns” because the app is a single python script and some shell scripts. But they were unable to explain how that is concerning.
We, developers in Linux make apps for free for the benefit of users, with our free time. It is sad to see that despite there being an inclusion policy, two people get to decide what gets into flathub and what is not, based on seemingly arbitrary metrics, and moreover, the tone of their comments is quite rude (while many FOSS developers are rude while providing support for their own projects, people need to be more professional in a project like FlatHub).
I am not completely sure if this forum is an appropriate place for discussions like this. However, Flatpak is relevant to EndeavourOS, and this app works here too.
Not at all. But here we are talking about a big ecosystem like flathub rather than a random social media. This unprofessional behavior of the flathub devs is harmful for Linux app development.
Out of interest (owning 2 convertibles): What would be the use case?
I mean, most people simply forget to install iio-sensor-proxy to facilitate automatic rotation. Also, on my Medion E2228T convertible I found it a nuiscance that—when fully opened—it has a working keyboard & touchpadon the back where you almost always press keys/move the cursor just by holding it.
So I wrote a small script to enable/disable keyboard & touchpad. That’s in the tray, together with a callup for the virtual keyboard, so can easily be tapped when the keyboard/touchpad are currently disabled.
Works nicely. And the rotation too, if I don’t disable it in the display settings. Fully 360° opened mode in portrait, reading an ebook, “tent” mode for presentations, normal laptop-like writing mode—all good. Btw, most DE’s display settings already have a selection setting for screen rotation.
The only remaining use cases for a manual rotation (and possible mirroring as well) I could see are:
use with a teleprompter, or
defective acceleromter or bad drivers so machine would come up with the wrong rotation in the first place.
Is that what you are targeting?
Btw, Flatpak is not necessarily “relevant” to EOS (and thus not pre-installed)—I’m living much more bloat-free using no Flatpaks and Snaps on all machines, and never missed an app.
Also (this is opinionated, and perhaps of the same opinion as the referenced developers), a shell script is not really what I would call an ‘app’ and probably doesn’t really fit the flathub methodology.
I did not see rudeness, but valid points about your app.
It’s good that you have put your time into something you feel important addition, but I am not certain if it’s really needed, at least for basic users. But I am happy for you to be able to create something for the potential use of others.
Personally, I try to avoid using too many different platforms for apps, because I have this, probably not valid, fear that I mess up my machine.
Automatic rotation mediated by iio-sensor-proxy only works in GNOME and KDE, running Wayland. However, many low-end devices (ARM Chromebooks, Window RT devices, Android tablets running regular GNU/Linux) struggle to run GNOME, but they fly with XFCE with X11. This app was initially designed for those systems. And it also supports any environment running on X11 (including GNOME and KDE – where iio-sensor-proxy does not work without Wayland).
Devices with broken sensor or missing drivers is another use-case, but it was not why I initially made this.
This is a python script that creates a GUI and a tray icon that the user can interact with. When the user asks to rotate the screen, it calls some shell scripts to run xinput and xrandr. The app itself is python+gtk3.
I don’t think the feedback of the flatpak developers was constructive enough. This is a GUI python app that works perfectly with touchscreens, it just calls some shell scripts to get some things done – of course, that can be rewritten to get everything done using python, but I don’t see the difference in terms of either performance or security.
That’s too categorical for my taste. Especially for rolling release distros there are some good use cases for flatpaks. E.g. I had issues with steam after some updates. I started to use steam on flatpak and that is stable. Another example: I had issues to install Mediathekview 14.3.1 on Endeavouros. The flatpak version works just fine. Another example: I had issues with joplin and conflicts regarding nodejs and electron. flatpak fixed it for me.
Agreed. I use some Flatpaks specifically the verified ones for simple things like chatapps and when the developer has it as the recommended way of installing them. Mostly applications that don’t deal with the rest of the desktop too much. I used to use the PKGBUILD for plex-desktop but that has broken so many times cause of some dependency that I don’t care to use it anymore so I just use the Flatpak for it. For applications where I have to be able to screenshare I will just use a normal package format.
These are the ones I have installed.
Bottles Discord Extension Manager Jellyfin Media Player Plex Desktop ProtonPlus ZapZap
I think we have to change this attitude towards people’s choices considering their setups. This is exactly the attitude that estranges potential users from Linux.
I’ll speak from my brief (few months) experience of packaging and publishing on Flathub for KDE. Do note, my views are my own & don’t reflect either of these software groups.
Not “flatpak devs”, but “Flathub maintainers” you mean? We need to draw a distinction between the two. Flathub is just a repository. You can have your own.
personally, I wouldn’t take this as a reason for rejecting an app. Its the DE’s fault for not having said feature, not yours.
I remember, i3-gaps was a very popular fork for long, before the gaps feature got merged into main i3wm.
As a repo maintainer, this isn’t irrational. If someone is approving apps for a repo (eg. Flathub), they get all the rights to scrutinize submitted application and decide which is accepted. A single file script doesn’t get along with many people as “safe”, since its easier to hide malicious stuff in such projects.
Hypothetically, if an app on Flathub is proved to be malicious, its not the app developer who will be targeted first. It will be Flathub maintainers / Flatpak developers who will be pulled into fire. So its only fair for them to play extra cautious.
Feel free to drop into their Matrix room and chat. While it could give some insight from other users, I’m sure it won’t lead to your application being accepted.
They’re straightforward, not rude.
They haven’t stalled “Linux app development”. All they are doing is to be particular about what goes into THEIR repository. You’re still free to distribute your application on other channels, including your own repo.
Its same as why so many popular packages are on AUR and not on Arch official repos. Or how many packages are in PPA but not Ubuntu default repos. Neither of them are harmful to development. They are placing restriction on what they want to distribute. As simple as that.
I’d say, you should let people know more about your app. I understand the frustration from Flathub, but complaining won’t let your app reach anywhere.
If you have enough users who trust your app, it will be used and accepted; nobody won’t care if its a single script or whatever.
I personally have zero Flatpaks on my machines. I see the appeal of Flatpaks/Snaps and even have contributed to a minor extent, but it just turns out I’m not a user who needs either of them. But who am I to complain about others’ preferences? Everyone can use whatever they like.