kozec / syncthing-gtk

GTK3 & python based GUI for Syncthing
GNU General Public License v2.0
1.29k stars 140 forks source link

Overlay icons on Nautilus/Ubuntu 18.04 does not reflect .stignore #527

Open TechupBusiness opened 4 years ago

TechupBusiness commented 4 years ago

When I exclude files and folders from Syncthing, they still have a normal Syncthing overlay icon which is confusing. Is it possible to have a different icon for excluded files/folders?

System: Nautilus/Ubuntu 18.04

kozec commented 4 years ago

In theory, yes, but it would be pretty complicated thing to do, requiring nautilus plugin to parse and understand stignore files.

TechupBusiness commented 4 years ago

Hmm.. Yes of course this doesn't really make sense. IMHO this should be a functionality/retur of the syncthing daemon/api, it parses already the file and has the information about excluded files... Otherwise the logic needs to be implemented twice (and the GTK implementation will be always outdated if there are changes). Do you think this is a possible option?

TechupBusiness commented 4 years ago

@kozec https://forum.syncthing.net/t/make-parsed-stignore-result-available-via-api-daemon/13810 In case you can add something :)

TechupBusiness commented 4 years ago

@kozec I started looking into the implementation:

As far as I can see you use also the REST API? There would be a REST-API command for files/folders to find out if they are ignored: https://docs.syncthing.net/rest/db-file-get.html Do you think this may makes sense from a performance perspective?

Probably implementing the ignore parsing would be the more performant approach? Eventually adapt the go parsing of syncthing to python? https://github.com/syncthing/syncthing/blob/master/lib/ignore/ignore.go#L361

kozec commented 4 years ago

Do you think this may makes sense from a performance perspective?

Definitely not, it could take minutes to query all files in large directory and IIRC, Nautilus would lock-up for that time.

Probably implementing the ignore parsing would be the more performant approach? Eventually adapt the go parsing of syncthing to python?

That would be correct way to do it, but it would also require ST-GTK parser to keep with any changes in format.

tamas646 commented 1 year ago

I agree that it's confusing how it works.

Also displaying which files and folders are currently syncing would be nice (as Nextcloud integration does). And maybe smaller icons, but that's just a personal opinion. :)

TechupBusiness commented 1 year ago

@tamas646 You can check https://github.com/kozec/syncthing-gtk/pull/538 in case you can contribute or need to change something with the overlay icons.

Syncing indication is not possible, only eventually by using the API instead.