leukipp / cortile

Linux auto tiling manager with hot corner support for Openbox, Fluxbox, IceWM, Xfwm, KWin, Marco, Muffin, Mutter and other EWMH compliant window managers using the X11 window system. Therefore, this project provides dynamic tiling for XFCE, LXDE, LXQt, KDE and GNOME (Mate, Deepin, Cinnamon, Budgie) based desktop environments.
https://github.com/leukipp/cortile-addons
MIT License
592 stars 20 forks source link

Compile time method/easier way to disable auto-updating checker #76

Open Elsie19 opened 3 days ago

Elsie19 commented 3 days ago

Is there a way that you could move the auto-updating checker to compile time, or alternatively, make it a flag that I pass into the program itself? The current method is both confusing and poorly designed with packaging in mind. Having to put a file into the running users cache directory based on the running version in order to disable an auto-update checker (which I think is a bad idea in the first place as it's a security vulnerability waiting to happen) is just not designed for packagers in mind.

I was thinking primarily that you could introduce a new set of artifacts to your download page that are built without the feature enabled, as that would allow us to swap out the download URL with this disabled one and continue as normal.

Alternatively you could introduce a flag like --disable-autocheck which would skip that step.


I am asking alongside Rhino Linux, which uses your program to give tiling features to our Unicorn desktop. I have noticed that since we introduced 2.3.0 (and to the current minor version) to Rhino Linux, the download counts have been climbing from 50-100 on average up to 800+ and peaking at 2.2k. We love using Cortile and would appreciate a way to disable just this feature!

CC [@ajstrongdev]: Current packager of cortile-bin

leukipp commented 2 days ago

Thanks for your feedback.

Having to put a file into the running users cache directory based on the running version in order to disable an auto-update checker.

Changing the cortile behavior on a "file system base" was intentionally added, to allow users to disable/enable some features in the future via gui controls that will create/delete those files.

Alternatively you could introduce a flag like --disable-autocheck which would skip that step.

There is already a second way to alter the runtime features of cortile via the command line. For your requirements you could run cortile as:

cortile disable-release-info

Those additional feature flags are intentionally not documented (in -help and README), as their primary use case is for development purposes and because they could change at any time.

As mentioned in the Install section, the official supported releases are those on this github repo, but i will consider adding build flags to disable/enable cortile features for custom package builds.