BestImageViewer / geeqie

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

man page clarification for collections/file lists #1200

Open stephenboston opened 9 months ago

stephenboston commented 9 months ago

ISSUE TYPE

Help

Geeqie 2.1 GTK3

6.5.5-arch1-1

SUMMARY

I have a list of image files like a collection file: a simple, line-delimited list of quoted file paths. I want Geeqie to use this file as it does a the directory listing it aquires by default on startup.

Looking into the man page, I don't see how to do this. It seems that the following strategies should work, but they don't. Am I misunderstanding the man page, or is there some error in my config or in my system.

I try geeqie -l filename which by the man page is "open collection window for command line" but this opens on the directory containing filename.

I have tried geeqie --remote --list-add to no effect. I expect this to "add FILE to command line collection list" after which I could "--get-collection: get collection content"

Is this possible.

caclark commented 9 months ago

geeqie --list will open geeqie with all the command line files in a single new Collection window.

geeqie --remote --list-add: should add filename3 to the above Collection (it seg. faults on my computer).

Does this work:

geeqie $(cat filelist.txt)

stephenboston commented 9 months ago

Thanks for your response. Here's what happens on my machine.

geeqie --list has the same effect as geeqie i.e. opens on PWD.

geeqie --remote --list-add:<filename> fails to add collection. Tested with quoted filenames and without quotes.

geeqie $(cat filelist.txt)

caclark commented 9 months ago

I believe this solution works for files in different directories... Create a file with the suffix ".gqv" Include a list of files, each enclosed in double quotes. Do not use environment variables such as $HOME - just the full path.

When you exit Geeqie, your file will have been modified to include the standard Geeqie Collection file markings.

If I create a text text file containing a list of files in the same directory, not encased in double quotes, this command works for me. The directory is opened and the files in the list are selected:

geeqie $(cat filelist.txt)

[The command line handling is a pain. I am trying to convert Geeqie to use GApplication, and sorting out how to parse the command line is a problem. Maybe there should also be the standard Linux method where a program can take parameters from standard input - but that will just increase the problems.}

caclark commented 9 months ago

There is also this convoluted solution which works for a list of files in the same directory, quoted or unquoted: cat filelist.txt | xargs geeqie

or something like this may work: find $HOME/Downloads/ -name "*jpg" | xargs geeqie

stephenboston commented 9 months ago

It looks to me that the directory view is Geeqie's View. Collections are pointers into that View.

All the solutions we're trying land us into that directory view so that navigation controls move us through the directory, not through the list.

What I'm looking for is a view that is completely defined by and limited to the file list. At the end of the list we either halt or cycle back to the first of the list.

Gqview was probably initially a directory browser(?) that has acquired features that I want to use through other lists. Is that how it is?

caclark commented 9 months ago

If the file list contains files in more than one directory, the only solution is to use a Collection. You can cycle through the files in a Collection. The problem is that the Collection window is separate from the main image window.

I am part way implementing a change to the way Collections are viewed. I intend that Collections can be viewed as pseudo directories. Perhaps this is what you want.

I have an AppImage that is only partly functional but may be used to demonstrate what I intend. wget https://cclark.uk/Geeqie/Geeqie-v2.0+20230512-x86_64_collections_1.AppImage chmod +x Geeqie-v2.0+20230512-x86_64_collections_1.AppImage ./Geeqie-v2.0+20230512-x86_64_collections_1.AppImage

Navigate to $HOME/.local/share/geeqie/collections You will see any Collecions you have as a directory. Click on any one and you will be able to view the contents of the Collections as a directory.

stephenboston commented 9 months ago

Having trouble testing. I can run it only once per boot.

I from time to time will build the github source so I'm willing to build and test any test branch if that would be helpful.

On Sun, Oct 8, 2023 at 2:07 AM Colin Clark @.***> wrote:

If the file list contains files in more than one directory, the only solution is to use a Collection. You can cycle through the files in a Collection. The problem is that the Collection window is separate from the main image window.

I am part way implementing a change to the way Collections are viewed. I intend that Collections can be viewed as pseudo directories. Perhaps this is what you want.

I have an AppImage that is only partly functional but may be used to demonstrate what I intend. wget https://cclark.uk/Geeqie/Geeqie-v2.0+20230512-x86_64_collections_1.AppImage chmod +x Geeqie-v2.0+20230512-x86_64_collections_1.AppImage ./Geeqie-v2.0+20230512-x86_64_collections_1.AppImage

Navigate to $HOME/.local/share/geeqie/collections You will see any Collecions you have as a directory. Click on any one and you will be able to view the contents of the Collections as a directory.

— Reply to this email directly, view it on GitHub https://github.com/BestImageViewer/geeqie/issues/1200#issuecomment-1751970216, or unsubscribe https://github.com/notifications/unsubscribe-auth/AENOCDHJ5ATU7YRFBEO464TX6JUMJAVCNFSM6AAAAAA5WXXNTKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJRHE3TAMRRGY . You are receiving this because you authored the thread.Message ID: @.***>

stephenboston commented 9 months ago

Sorry I should have said:

./Geeqie-v2.0+20230512-x86_64_collections_1.AppImage Error: in load: file "/usr/share/uim/lib/sigscheme-init.scm" not found

On Tue, Oct 10, 2023 at 5:38 AM Stephen Boston @.***> wrote:

Having trouble testing. I can run it only once per boot.

I from time to time will build the github source so I'm willing to build and test any test branch if that would be helpful.

On Sun, Oct 8, 2023 at 2:07 AM Colin Clark @.***> wrote:

If the file list contains files in more than one directory, the only solution is to use a Collection. You can cycle through the files in a Collection. The problem is that the Collection window is separate from the main image window.

I am part way implementing a change to the way Collections are viewed. I intend that Collections can be viewed as pseudo directories. Perhaps this is what you want.

I have an AppImage that is only partly functional but may be used to demonstrate what I intend. wget https://cclark.uk/Geeqie/Geeqie-v2.0+20230512-x86_64_collections_1.AppImage chmod +x Geeqie-v2.0+20230512-x86_64_collections_1.AppImage ./Geeqie-v2.0+20230512-x86_64_collections_1.AppImage

Navigate to $HOME/.local/share/geeqie/collections You will see any Collecions you have as a directory. Click on any one and you will be able to view the contents of the Collections as a directory.

— Reply to this email directly, view it on GitHub https://github.com/BestImageViewer/geeqie/issues/1200#issuecomment-1751970216, or unsubscribe https://github.com/notifications/unsubscribe-auth/AENOCDHJ5ATU7YRFBEO464TX6JUMJAVCNFSM6AAAAAA5WXXNTKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJRHE3TAMRRGY . You are receiving this because you authored the thread.Message ID: @.***>

caclark commented 9 months ago

This .diff is against the current sources. It is just some junk code hacked together to demonstrate an idea. It is not functional.

Open Geeqie as normal, select Images as list and close Geeqie.

gunzip collections-45.diff.gz patch -p1 < collections-45.diff rm -rf build; meson setup -C build ninja -C build ./build/src/geeqie $HOME/.local/share/geeqie/collections/ Press the "R" key to refresh the display.

You will see that any Collections you have are shown as write-protected directories. Click on a directory and the contents of the Collections will be shown as if it were a normal directory. When/if the code is completed, the contents of the Collection can be operated on as if they were files in the standard way.

I know this code does not work. I am just interested if you think that this implementation will help you.

collections-45.diff.gz

stephenboston commented 9 months ago

That's certainly good enough, yes.

I haven't tried it out with remote yet but I will do that.

On Wed, Oct 11, 2023 at 7:40 AM Colin Clark @.***> wrote:

This .diff is against the current sources. It is just some junk code hacked together to demonstrate an idea. It is not functional.

Open Geeqie as normal, select Images as list and close Geeqie.

gunzip collections-45.diff.gz patch -p1 < collections-45.diff rm -rf build; meson setup -C build ninja -C build ./build/src/geeqie $HOME/.local/share/geeqie/collections/ Press the "R" key to refresh the display.

You will see that any Collections you have are shown as write-protected directories. Click on a directory and the contents of the Collections will be shown as if it were a normal directory. When/if the code is completed, the contents of the Collection can be operated on as if they were files in the standard way.

I know this code does not work. I am just interested if you think that this implementation will help you.

collections-45.diff.gz https://github.com/BestImageViewer/geeqie/files/12871205/collections-45.diff.gz

— Reply to this email directly, view it on GitHub https://github.com/BestImageViewer/geeqie/issues/1200#issuecomment-1757840280, or unsubscribe https://github.com/notifications/unsubscribe-auth/AENOCDDYDSHFKUAROVBDMGDX62VXRANCNFSM6AAAAAA5WXXNTI . You are receiving this because you authored the thread.Message ID: @.***>

stephenboston commented 9 months ago

Ideally I want 'Directory' to be an abstract type where the methods of one implementation call into the OS for its files and operations and where the other calls into the playlist where all methods valid for the directory will be valid for the playlist. The notion of 'collections' is great but its UI I find cumbersome.

On Thu, Oct 12, 2023 at 6:54 AM Stephen Boston @.***> wrote:

That's certainly good enough, yes.

I haven't tried it out with remote yet but I will do that.

On Wed, Oct 11, 2023 at 7:40 AM Colin Clark @.***> wrote:

This .diff is against the current sources. It is just some junk code hacked together to demonstrate an idea. It is not functional.

Open Geeqie as normal, select Images as list and close Geeqie.

gunzip collections-45.diff.gz patch -p1 < collections-45.diff rm -rf build; meson setup -C build ninja -C build ./build/src/geeqie $HOME/.local/share/geeqie/collections/ Press the "R" key to refresh the display.

You will see that any Collections you have are shown as write-protected directories. Click on a directory and the contents of the Collections will be shown as if it were a normal directory. When/if the code is completed, the contents of the Collection can be operated on as if they were files in the standard way.

I know this code does not work. I am just interested if you think that this implementation will help you.

collections-45.diff.gz https://github.com/BestImageViewer/geeqie/files/12871205/collections-45.diff.gz

— Reply to this email directly, view it on GitHub https://github.com/BestImageViewer/geeqie/issues/1200#issuecomment-1757840280, or unsubscribe https://github.com/notifications/unsubscribe-auth/AENOCDDYDSHFKUAROVBDMGDX62VXRANCNFSM6AAAAAA5WXXNTI . You are receiving this because you authored the thread.Message ID: @.***>

stephenboston commented 8 months ago

Having worked with your solution more, I like it more. It felt awkward at first but it becomes simple enough.