TagStudioDev / TagStudio

A User-Focused Photo & File Management System
https://docs.tagstud.io/
GNU General Public License v3.0
4.89k stars 359 forks source link

Ignore folders and file patterns #14

Open ShadowJonathan opened 5 months ago

ShadowJonathan commented 5 months ago

Sorta like a .gitignore, to be able to ignore folder patterns like (ironically) .git, cache folders, and .DS_Store and the likes.

Else all the hundreds or so hidden files will clog up the interface, with no way to hide them.

shadowking123 commented 5 months ago

i have implemented this feature by entering the "!" in the start of the query and then the file name you want to filter. if the file name is in the query, remove it from search. should it have more than that?

ShadowJonathan commented 5 months ago

yes, it should be more-or-less permanent, as a "ignore all these folders all the time" kind of setting, a permanent file/folder blacklist

shadowking123 commented 5 months ago

How no i get it. I will work on it

Loran425 commented 4 months ago

Hiding files with specific extensions was added in https://github.com/TagStudioDev/TagStudio/commit/31f402289565b55d3a84d11f0eb6055e9bf42374

Ignoring specific folders within a library is currently still open.

ItsThatOneJack-Dev commented 1 month ago

This would be an amazing feature, and would be useful for many things.

For example, I use a file syncing program called Syncthing to sync my projects and memes folder across devices, and it creates a hidden folder in every synced directory that contains text files with IDs corresponding to files and directories that it uses to ensure files are up-to-date.

It would be great if I could set TagStudio to ignore all hidden directories and files or just add this folder to an ignore list, then TagStudio wouldn't be cluttered by Syncthing files.

yedpodtrzitko commented 1 week ago

Currently the list of excluded/allowed file extensions is managed via the GUI. That should remain as is, as not every user is willing/capable to manage that via .gitignore-like file.

Having combination of ".gitignore" and the GUI interface could have conflicting rules, so I wouldnt go that way of supporting both.

However there could be an option to have some kind of .noindex file (that name is actually taken, so probably something like .tsnoindex instead), which would serve as a hard-stop for TS to totally ignore content of given folder. So in the case of syncthing folder, if there would be a file syncthing/.tsnoindex, then it would skip that folder.