BestImageViewer / geeqie

claiming to be the best image viewer / photo collection browser
http://www.geeqie.org/
GNU General Public License v2.0
488 stars 79 forks source link

GTK4: Convert Geeqie to a GtkApplication 1 #1525

Closed caclark closed 1 month ago

caclark commented 1 month ago

This is a request for comment, not a real pull request.

GTK4 is a pain in the neck, but is not going to go away. So this change has to be done sometime.

This is the conversion of Geeqie to be a GtkApplication.

The change should also simplify command line option and argument handling.

The following options are deleted: --fullscreen-start, --fullscreen-stop: Use --fullscreen which is a toggle --slideshow-start, --slideshow-stop: Use --slideshow which is a toggle --tools-show, --tools-hide: Use --tools which is a toggle --remote: No longer needed --disable-clutter: Start with GQ_DISABLE_CLUTTER= geeqie --cache-maintenance: Start with GQ_CACHE_MAINTENANCE= geeqie (disabled) --new-instance: Start with GQ_NON_UNIQUE= geeqie --blank, --list-add, --list-clear: I do not see the need for them [I think the intent was for a hidden command line collection to be used with the above options adding/removing images from it]

GQ_CACHE_MAINTENANCE= geeqie does not work, and so is disabled - I will fix that sometime

In meson.build, image checks, is_parallel is set to False. I assume parallel is not possible because of a problem with dbus, but I cannot find a solution.

Image tests run OK locally, but fail running on GitHub. It looks like the first instance launches and runs OK, but the second instance runs also as a primary and not as a remote. Again it seems like a dbus problem and I did not find a solution.

The changes are in C and not C++ - unfortunately, that's the way things are.

caclark commented 1 month ago

@xsdg

I can take a look at this,

Thanks, but I think I am some way to finding the solution. In the text of isolate-test.sh I commented that dbus-run-session should work. That would seem to be the way to go.

Apparently I tried it and dismissed it for some reason.

And I suppose somewhere in the midst of multiple wrong directions and even more going round in circles that I forgot about that.