Skip to content

Conversation

CyanVoxel
Copy link
Member

Summary

This adds two new settings to the config file: cached_thumb_quality which controls the amount of compression used in the cached .webp images, and cached_thumb_resolution which determines the maximum dimension of a cached thumbnail image. This also fixes an uncaught exception that occurred when deleting the inner thumbs folder(s) on disk while the program was running.

After #1084 I've been toying with the idea of making certain power-user focused settings such as these only accessible in the config file in an attempt to keep clutter in the GUI down. Organization of the settings UI as more settings are introduced is outside the scope of this PR though, the important note is that I'm just adding these as config only options at the moment and am open to reconsidering that in the future.

Closes #802

Tasks Completed

  • Platforms Tested:
    • Windows x86
    • Windows ARM
    • macOS x86
    • macOS ARM
    • Linux x86
    • Linux ARM
  • Tested For:
    • Basic functionality
    • PyInstaller executable

@CyanVoxel CyanVoxel added this to the Alpha v9.5.5 milestone Sep 6, 2025
@CyanVoxel CyanVoxel added Type: Enhancement New feature or request Type: UI/UX User interface and/or user experience Status: Review Needed A review of this is needed labels Sep 6, 2025
@CyanVoxel CyanVoxel added Type: File System File system interactions Thumbs/Previews File thumbnails or previews labels Sep 6, 2025
@kitsumed
Copy link
Contributor

kitsumed commented Sep 6, 2025

Organization of the settings UI as more settings are introduced is outside the scope of this PR though, the important note is that I'm just adding these as config only options at the moment and am open to reconsidering that in the future.

My personal thought on the subject is that we should add a toggle like "Advanced Settings" or "Advanced Mode" and give user access to more internal settings like theses. Or else documents them on the docs.tagstud.io/ website.

@CyanVoxel
Copy link
Member Author

Organization of the settings UI as more settings are introduced is outside the scope of this PR though, the important note is that I'm just adding these as config only options at the moment and am open to reconsidering that in the future.

My personal thought on the subject is that we should add a toggle like "Advanced Settings" or "Advanced Mode" and give user access to more internal settings like theses. Or else documents them on the docs.tagstud.io/ website.

I agree - I plan on adding a page on the docs site going over the settings in-depth soon as there's now a good amount of them. And future UI rework of the settings panel could definitely include an "Advanced" toggle to show additional detailed settings in-app. For now though, this PR at least gets the features in the program and can be integrated with a UI PR at a later date and be included on the docs site in the meantime.

@CyanVoxel CyanVoxel moved this to 🏓 Ready for Review in TagStudio Development Sep 6, 2025
@Computerdores
Copy link
Collaborator

I agree - I plan on adding a page on the docs site going over the settings in-depth soon as there's now a good amount of them. And future UI rework of the settings panel could definitely include an "Advanced" toggle to show additional detailed settings in-app. For now though, this PR at least gets the features in the program and can be integrated with a UI PR at a later date and be included on the docs site in the meantime.

What do you think about just adding another tab that is literally called "Advanced"? For me that would be clear enough and also out of the way. (We could also always add a warning or something at the top if that is deemed necessary)

@CyanVoxel
Copy link
Member Author

What do you think about just adding another tab that is literally called "Advanced"? For me that would be clear enough and also out of the way. (We could also always add a warning or something at the top if that is deemed necessary)

There's actually a couple other aspects I'd like to change/add first, one being the proper addition of "Library" settings that are separate from the "Application" settings and also have a default overrideable configuration, and the other being something like a horizontal tab breakup of the settings to put things into categories as the number of settings increases (i.e. "UI", "Search", "Behavior", etc. where applicable. While an "Advanced" tab would work with the current UI, it would be another thing that would need to be refactored before more changes like that, since having those settings in their own tab would go against the "Application/[Possibly Default Library]/Library" main tab setup I have in mind to replace the current "Global aka Application"-only tab with.

@CyanVoxel CyanVoxel removed the Status: Review Needed A review of this is needed label Sep 6, 2025
@CyanVoxel CyanVoxel merged commit fff9676 into main Sep 6, 2025
10 checks passed
@github-project-automation github-project-automation bot moved this from 🏓 Ready for Review to ✅ Done in TagStudio Development Sep 6, 2025
@CyanVoxel CyanVoxel deleted the thumb-config branch September 6, 2025 20:31
@CyanVoxel CyanVoxel changed the title feat: add cached thumb quaity and resolution settings feat: add cached thumb quality and resolution settings Sep 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Thumbs/Previews File thumbnails or previews Type: Enhancement New feature or request Type: File System File system interactions Type: UI/UX User interface and/or user experience
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

[Feature Request]: Option to control cached thumbnail file compression
3 participants