CompactGUI

Transparently compress active games and programs using Windows 10/11 APIs

GPL-3.0 License

Stars
4.8K
Committers
7

Bot releases are visible (Hide)

CompactGUI - Version 3.5 Latest Release

Published by Iridium-IO 3 months ago

New Features:

  • Update to .NET 8
  • Add progress indicators for analysing/compressing tasks in the Watchlist (watch that progress ring spin!)
  • Add option to enable/disable checking for pre-release updates #301
  • Add option to add to Start menu
  • Allow closing the program with Alt+F4 #407
  • Minor UI tweaks

Bug Fixes:

  • Fixed context menu failing to open CompactGUI in some instances
  • Fixed context menu not showing if you right-click on a folder background rather than on the folder itself
  • Make startup functions asynchronous to prevent hanging for a few seconds on program load

Other:

  • Lots of code refactoring
  • Updated internal packages
  • Optimised building of packages to reduce size of monolithic exe.

Important!

Because this application uses .NET 8, you have two choices of downloads:

    • 2.79 MB: If you don't have the .NET 8 runtime installed when you try to run this, it will prompt you to download it from Microsoft.
    • 70 MB: Includes all libraries required to run it completely standalone, however it's nearly 25x the size. I do recommend installing the .NET 8 runtime instead.

File Checksums

MD5: 		DE59932E50D8C21B815AACFDA31FEDA8
SHA-256: 	4391E088BA4C99FB24908DB5A9C2A5EDB31582AFC771666015715C9D7A67AE17

Like this project?

Please consider leaving a tip on Ko-Fi :)

Full Changelog: https://github.com/IridiumIO/CompactGUI/compare/v3.4.0...v3.5.0

CompactGUI - Verson 3.4

Published by Iridium-IO 4 months ago

New Features:

  • Added Background Compactor: CompactGUI will now try to keep watched folders compressed in the background by running when the system is idle, under the following conditions:
    • The system has been idle (i.e. no user mouse/keyboard input) and the monitored folder has also not been modified (e.g. by Steam updates, user copying files, etc) within the last 5 minutes.
    • The background compressor will pause itself when user activity is detected, or if a manual compression/uncompression/analysing task is being run. It will then resume from where it left off after 5 minutes have elapsed, but it may skip any changes that were made to the folder in the time the compressor was paused. Before pausing, it will finish compressing the current file it is working on, to prevent corruption. If it unfortunately has to pause on a massive file on disk, this can take a minute.
    • The compressor will not run on any folder that has been totally uncompressed, as it uses the existing compression algorithms of the contained files to decide what compression to use. Totally uncompressed folders will still remain in the Watched list, but will need to be manually compressed again before the background compressor will take over again.
    • The background compressor ignores any skipped file settings for now.
  • New Settings Options:
    • Added settings options to enable/disable background monitoring and compression
    • Added settings option to start CompactGUI in system tray #371
  • Taskbar icon progress indicator: Compression progress is now indicated on the taskbar icon #71
  • Refreshed Watched Folders tab:
    • Updated UI
    • Added button to allow manually adding a folder to the watchlist without having to compress it first (in case you've compressed it elsewhere before)

Optimisations:

  • Change progress bar calculation to use file size rather than file count #65
  • Speed up GetPoorlyCompressedExtensions by up to 10x
  • Reuse FileInfo instances to make Core.Compactor.BuildWorkingFilesList() about 90x faster (from ~900ms to 10ms overall on a folder with 100,000 files)
  • Smaller optimisations to Watcher and Analyser classes

Bug Fixes:

  • Fix crash when a file is deleted after analysis starts but before it is completed
  • Fix duplicating entries in the Wiki Results tooltip
  • Fix Watcher continuously trying to update the WatchedFolders.json file on disk while idle.

Important!

You will need to make sure you have .NET Desktop Runtime 6.0 installed.

File Checksums

MD5: 		3645F6DDACBB6AE7C2F1A40D9FD137D7
SHA-256: 	2DD4039E5339A7CAAB6E51BAE99094D20BD907559CB9CDEC2D6FB6BDFC2855B5

Like this project?

Please consider leaving a tip on Ko-Fi :)

Full Changelog: https://github.com/IridiumIO/CompactGUI/compare/v3.3.0...v3.4.0

CompactGUI - Version 3.4 Alpha 2

Published by Iridium-IO 4 months ago

New Features:

  • Added settings options to enable/disable background monitoring and compression
  • Added settings option to start CompactGUI in system tray #371
  • Progress is now indicated on the taskbar icon #71

Optimisations:

  • Change progress bar calculation to use file size rather than file count #65

Important!

You will need to install .NET 6 for the prerelease version of this.

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft

File Checksums

MD5: 		F7BC0B63826572A715EE5E3E45F49C43
SHA-256: 	29669EA50D48F862F079861C71E80C9F4430C5BC79A57A8988CC81B2B3064E6A

Like this project?

Please consider leaving a tip on Ko-Fi :)

Full Changelog: https://github.com/IridiumIO/CompactGUI/compare/v3.4.0-alpha.1...v3.4.0-alpha.2

CompactGUI - Version 3.4 Alpha 1

Published by Iridium-IO 4 months ago

New Features:

  • Added Background Compactor: CompactGUI will now try to keep watched folders compressed in the background by running when the system is idle, under the following conditions:
    • The system has been idle (i.e. no user mouse/keyboard input) and the monitored folder has also not been modified (e.g. by Steam updates, user copying files, etc) within the last 5 minutes.
    • The background compressor will pause itself when user activity is detected, or if a manual compression/uncompression/analysing task is being run. It will then resume from where it left off after 5 minutes have elapsed, but it may skip any changes that were made to the folder in the time the compressor was paused. Before pausing, it will finish compressing the current file it is working on, to prevent corruption. If it unfortunately has to pause on a massive file on disk, this can take a minute.
    • The compressor will not run on any folder that has been totally uncompressed, as it uses the existing compression algorithms of the contained files to decide what compression to use. Totally uncompressed folders will still remain in the Watched list, but will need to be manually compressed again before the background compressor will take over again.
    • The background compressor ignores any skipped file settings for now.

While I've tested it in several situations, I cannot stress how important it is to be careful with this. There's currently no options to enable/disable the background compressor, or adjust the idle timeouts, hence the alpha tag. Please report bugs, especially runaway memory/disk/CPU usage

Optimisations:

  • Speed up GetPoorlyCompressedExtensions by up to 10x
  • Reuse FileInfo instances to make Core.Compactor.BuildWorkingFilesList() about 90x faster (from ~900ms to 10ms overall on a folder with 100,000 files)
  • Smaller optimisations to Watcher and Analyser classes

Bug Fixes:

  • Fix crash when a file is deleted after analysis starts but before it is completed
  • Fix duplicating entries in the Wiki Results tooltip
  • Fix Watcher continuously trying to update the WatchedFolders.json file on disk while idle.

Important!

Because this application uses .NET 6, you will need to install .NET 6 for the prerelease version of this.

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft

File Checksums

MD5: 		8E11179B8A4D35AD1AB948F9612C808A
SHA-256: 	A1002CBDACC27264AA0CE7B94F7DE9FB5EDB57E182314FC1182308BC6895C8CB

Like this project?

Please consider leaving a tip on Ko-Fi :)

Full Changelog: https://github.com/IridiumIO/CompactGUI/compare/v3.3.0...v3.4.0-alpha.1

CompactGUI - Version 3.3

Published by Iridium-IO 4 months ago

New Features:

  • Adds a small indicator for total disk space saved on the Watched Folders tab #406

Bug Fixes:

  • Fix a few synchronization-related crashes by @Eta0 in https://github.com/IridiumIO/CompactGUI/pull/415
  • Tried to fix SID related crashes when analyzing folders, though I cannot replicate these crashes in the first place. Hopefully fixes #356 #405 #395 #430
    • Rewrite of the HasDirectoryWritePermission function should also fix #434
  • A warning now shows up and prevents you from trying to compress OneDrive folders as they cannot be compressed anyway #411
  • Fixes a crash when trying to submit compression results and a UID cannot be generated #424
  • Fixes visual bug where the last entry in the Watched Folders list gets stuck between two animations #429

Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		B0C6BD0EDC25E8A83DED7E6E44790CC1
SHA-256: 	17F408BDAD9F2EFF23AD015ACE616F1BF35B4C0AB4030C26E1A0669E3582C5FD

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.2.1

Published by Iridium-IO 7 months ago

Bug Fixes:

  • Fixes the program crashing on launch for new installations due to the program attempting to create the settings file twice. #405 #410 #409

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		1CC3D0DB1C470B5B4017AB8EFE5ACD0A
SHA-256: 	6580E1D460586AB97EEF0A105EEA6898A161C02926E8F07B0351530B7931621F

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.2.0

Published by Iridium-IO 8 months ago

Sorry for the back-to-back releases today!

Bug Fixes:

  • Fixes the program crashing when a selected folder contains subdirectories/files you don't have permission to access. #395 #401

New Features:

  • Hovering over the Estimated Size region will now show an overview of all compression modes (and total number of user submissions) that contribute to the estimate. This way you can see exactly which compression mode is worth using for a given folder.

image


Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		0C9191710D6640BDEC4E68A2CD6D3B56
SHA-256: 	64D26D29766E58A7F7C45158AE809BF62D9D266265A9F4D62B35B591E9D66E4A

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.1.1

Published by Iridium-IO 8 months ago

Bug Fixes:

  • Partial fix for CompactGUI crashing on start (or failing to start) due to corrupted settings.json or watcher.json files
    • I still don't know what causes the corruption to happen in the first place, but now if it detects a corrupted file, it will get rebuilt rather than crashing. Should fix #372 #342 #334
  • Fixes the main window starting up with the title bar hidden on low resolution displays. #382
    • Additionally, if the program detects that it cannot fit on screen, it will scale itself down to do so.

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		9A7F392AC2FC307FA2155B7DB41E91FF
SHA-256: 	E580109CB40ECFF6E57B70B069E27AF12CDC51645D4796FA1DC1D4818D50E425

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.1.0

Published by Iridium-IO 8 months ago

New Features:

  • Pause, Resume and Cancel functions have been added
    • Because compression/decompression is parallelised for speed (multiple files are compressed at the same time), there will be a delay after pressing these buttons to make sure all files being processed are safely written first.
    • Cancelling a compression will not undo already compressed files, but if you come back later to compress the same folder again, it will skip files that are already compressed.

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		43440ADBEC0C620E0CDCD83D04F23528
SHA-256: 	0AA5BCC9028239DDA1B67037A401D5305319C0D04EE797B7015A0511A7FC14A7

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.0.4

Published by Iridium-IO 9 months ago

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.


New Features:

  • Compression options now persist between runs rather than resetting to defaults (Selected compression mode, Skip filetypes, Add to watchlist) #392

Bug Fixes

  • Incorrect folder size result when compressing broken folders #361 #336
    • Thanks to @yyjdelete for figuring out the cause and fixing it #379
  • Fixed issue where it was possible to select and compress empty folders which would then crash the Watcher.
  • Fixed glitchy bottom toolbar animation when moving the mouse in/out of it too quickly
  • Moved Update banner from the bottom to the top so that the bottom toolbar can still be used.

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.

Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.76 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		672E3A1D36A5F31D4D7694E2701CB6B7
SHA-256: 	1F0379777C5466C63A3E4A2A13BA490E20305F7E43A0DD91E07C708C270701DB

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.0.3

Published by Iridium-IO 9 months ago

Note

Either of two things may happen in an upcoming release (I haven't decided yet)

  • Upgrade to .NET 8 and continue to provide two separate binaries (one normal, and one monolithic)
  • Continue on .NET 6 and stop providing the monolithic version.

I haven't decided whether to upgrade to .NET 8 for this project yet (I've done it for another project, PolyCut) but aside from AOT - which probably won't work- I'm not sure it would be of any real benefit for CompactGUI otherwise.

Bug Fixes

  • UI Scaling
    • Partial fix for Window scaling breaking at random (still not sure what's causing it though) - when you restart the application, it will check if the window size is too small and reset it if that's the case #384 #374
  • System Tray
    • Added an actual hover label to the system tray icon that shows how many folders are being monitored #390
    • A notification shows up when the program is minimised to tray
    • Fixed the program being minimised after trying to open it from the tray
    • Fixed CompactGUI showing up in the Alt-Tab view even when minimised to the system tray #389
  • Explorer context menu
    • Fixed the annoying bug where you couldn't open CompactGUI by right clicking a folder and selecting compress this folder if it was already running.

Known issues for v3.0.x

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.
  • The fading in/out bottom bar is a bit glitchy.

Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.77 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		0AE545037D951115337A0752D15131E8
SHA-256: 	A4B308EBFA264CC99FC4701500083B385305693FFA8F3266CD7A28D0B187A81A

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.0.2

Published by ImminentFate 10 months ago

Bug Fixes

  • UI Scaling
    • Fixed UI scaling not applying to Options dialog and glitching the window. #374
    • Fixed window no longer opening in the correct screen position #375

Known issues for v3.0.x

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.
  • The fading in/out bottom bar is a bit glitchy.
  • The right-click context menu no longer works and gives an error that CompactGUI is already running, if you're using the Watched list.

Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.77 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		CC9416A05408303D60629E801CD3872E
SHA-256: 	75C945B100022065F933F371367743AB0487C38FBE27BED38E30E7245DDDD9A0

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.0.1

Published by ImminentFate 10 months ago

Changes

  • UI Scaling
    • Added ability to set the scaling of the entire UI in the settings - this will help those with monitors <800px tall (lots of laptops) or people who use very high DPI scaling on 1440p or 4K monitors. It's not exactly true HiDPI awareness, but it's better than nothing #269 #337

Changes (Minor)

  • Added Version indicator to bottom corner of main view
  • UI updates and tweaks
    • Mainly added a smooooooth blur animation to the background loading :)
    • Added link buttons in the options menu (this was actually how I tested the UI scaling by scaling canvas SVGs first)
    • Tweaked colours a bit

final

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.
  • The fading in/out bottom bar is a bit glitchy.
  • The right-click context menu no longer works and gives an error that CompactGUI is already running, if you're using the Watched list.

Important!

Because this application uses .NET 6, you have two choices of downloads:

    • 2.77 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		EB4EC8B2023882F97B468A69238A39DA
SHA-256: 	934D3BBF20538574C4455C188958CD96996D6E7709D56045D07D78E0680AC712

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.0

Published by ImminentFate 10 months ago

Not many major changes, but may as well drop the beta tag at this point :)

Changes

  • Skip Poorly Compressed Filetypes #365
    • Added more default filetypes: .tar, .gz, .dmg, .bz2, .tgz, .lz, .txz, .xz
    • Extensions can now also be separated using ; or ,. Trying to use Enter or Tab still doesn't work.
  • Estimated compression size confidence
    • You now see a bar representing the confidence that the estimated compression size is accurate. This is based on user submitted results. Note that it aggregates the confidence based on all the compression types, so if everyone else is using XPRESS16K and you're using XPRESS4K the confidence can still be high, but your compression ratio will still be lower.
  • Tooltips
    • Added tooltips to the compression options. #339
image image

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.
  • The fading in/out bottom bar is a bit glitchy.
  • The right-click context menu no longer works and gives an error that CompactGUI is already running, if you're using the Watched list.

Important!

Because this application now uses .NET 6, you have two choices of downloads:

    • 2.74 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		DBDB702D8FA4D8FFEDF43F85DD9BCC6D
SHA-256: 	8A83EB6CE92F37E9621C953A0D4A0D3E1589A245C0A21E85F0B8B5A5F4CA5E6C

Like this project?

Please consider leaving a tip on Ko-Fi :)

CompactGUI - Version 3.0 beta 1

Published by ImminentFate almost 2 years ago

Changes

  • Skip Poorly Compressed Filetypes
    • Has been enabled - selecting these options will now actually skip filetypes. You cannot submit results if you have these options enabled (that's to ensure that future results aren't compromised). For the User Submitted Filetypes option, in future this will be adjusted to only skip files with a certain confidence level (e.g. if only 1 person says it should be skipped that's not good enough, but if 40 do then it can be skipped)
    • In theory, compression should be at least equal or only slightly worse than without skipping filetypes, and the speed should be faster (in some cases much faster). Please submit an issue if the compression is much worse for a particular game/folder
  • Added Notifications - shows a Toast notification when compression is completed (this can be enabled/disabled in the settings)
  • Added Drag-and-Drop - Folders can now be dragged into CompactGUI to compress them. One folder at a time only.
  • Updated Games Database - ~7400 new submissions since the last version (these are generally updated in the background but I haven't pushed a new database since July)

Bug Fixes

  • Safely blocks System Windows directory from being selected without affecting other root folders that contain Windows #281
  • Fixed crash when a watched folder is deleted or renamed and CompactGUI cannot locate it - deleted/renamed folders are now automatically removed from the watchlist
  • Added checks to prevent non-NTFS folders from being compressed. #305

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.
  • The fading in/out bottom bar is a bit glitchy.
  • The right-click context menu no longer works and gives an error that CompactGUI is already running, if you're using the Watched list.

Important!

Because this application now uses .NET 6, you have two choices of downloads:

    • 2.71 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 152 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		D5F3B0AB6A1A82AE1178B2647A9B9A4F
SHA-256: 	4D5BC15A1D8D1EB03DF5C710FF23BD5F214A4D1F089C36D16AFF54BE241F2192
CompactGUI - Version 3.0 alpha 7

Published by ImminentFate over 2 years ago

Changes

  • Added Watchers to monitor selected folders in the background for changes over time and keep track of decaying compression (Be careful with this; bugs undoubtedly lie ahead) #207
    • Includes details on when the folder was last compressed, when the folder was last modified, what compression level is predominant and also how much compression decay has occurred.
    • Watchers are lightweight and listen for Windows' firing of file changed events. Only when the system has been idle for >5 minutes does it run an analysis on folders that are flagged as changed. If none were flagged, nothing happens.
    • Watched folders can be accessed by a new page in the UI by hovering near the bottom of the program window.
  • Recompressing a folder now skips files that have already been compressed with the selected compression level
  • Slightly improved speed of pre-compression file checking
  • Added system tray icon and notification support (no notifications yet; let me know which notifications would be handy to have. Maybe notify if a watched folder decays to <50% of its compression?)
    • CompactGUI now automatically keeps running in the system tray and on startup if you have folders you want to monitor. (Planned: add option to disable this)
  • Made application single-instance to avoid issues with running multiple instances at once

Known issues

  • Watched folders will not play nice if you added a folder to the watchlist while in admin mode, and then went back to normal mode afterwards. It will still technically work, but the analysis will not be accurate (as it will skip over files it doesn't have permission to check)
  • Clicking the Analyse button to check all the watched folders won't show any visual indication that it's doing anything until it is finished. It is actually working, but you just can't see anything. Feel free to spam click the button if it makes you feel better.
  • The fading in/out bottom bar is a bit glitchy.

Important!

Because this application now uses .NET 6, you have two choices of downloads:

    • 2.72 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		2DD4F0B810BE81433FCCE33493F44C26
SHA-256: 	9E0138F3330F524851C0EAE6DC24499BBACD3EAEE9FDD1418DAC1C714E8BFCB7
CompactGUI - Version 3.0 alpha 6

Published by ImminentFate over 2 years ago

Changes

  • Analysis now commences immediately after selecting a folder (one less click)
  • Added ability to cancel analysis if it takes >5 seconds
  • Added detection to check if you are trying to compress a folder you don't have permission for (usually Program Files) and will prompt to restart in admin mode (a badge will show beneath the title if you're in admin mode)
  • Settings are now independently versioned to (hopefully) avoid future breaking
  • UI Tweaks:
    • Added more transition animations to make the application look smoother during operation
    • If you select a Steam game, now show the game's name in the search bar rather than the folder name
    • Updated icon
  • Separated core application logic from the rest of the UI to make development easier - This is a bigger change than you might think, please report any bugs however big or small (even if the UI just looks a bit weird / elements overlapping strangely)

Fixes

  • Fixed crash if on first compression you selected "skip user submitted files" #256
  • Fixed databinding errors that resulted in analysis showing slightly different folder sizes on every run

Known issues

  • The options to skip files are still not implemented

Important!

Because this application now uses .NET 6, you have two choices of downloads:

    • 2.54 MB: If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
    • 150 MB: Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		A85AB7106514F9BCD80CE17BE3FDF6AA
SHA-256: 	82236B345C91ACE9BDED40E74BE8C410F5AEF1C68ECAE31B6073AC9925AF825A
CompactGUI - Version 3.0 alpha 5

Published by ImminentFate over 2 years ago

Changes

  • Updated Settings menu
    • You can now edit the list of poorly compressed filetypes
  • Added checkboxes and 90% of the background code to enable skipping poorly compressed files both from local list (in options menu) as well as from user-submitted results.
    • these options don't do anything yet but will show a preview of how many files could be skipped
    • currently there are not enough user submissions for most games to build a skip list.
    • This option will be enabled once I work out how to properly handle user submissions in the setting of files being skipped
      • Right now, if a file extension is skipped then that file is considered poorly compressible and would be included when submitted; which would mean if someone skipped all their files, it would mark everything as poorly compressed which would harm the accuracy of the crowdsourced results significantly
      • I could disable user submissions if it detects skipped files, but that would seriously stunt the number of results submitted
  • Updated compression options to remove unused checkboxes

Fixes

  • Fixed crash on startup when no internet connection is available #252
  • Fixed crash when trying to compress files that are in use or inaccessible #250

Known issues

  • If you've used the old Windows "Compress this folder" option in a folder's properties menu, CompactGUI cannot undo that yet. Disable that to make it work

Important!

Because this application now uses .NET 6, you have two choices of downloads:

  • CompactGUI.exe (3.1MB) RECOMMENDED
    • If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
  • CompactGUI-Integrated.zip (150MB extracted) NOT RECOMMENDED
    • Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		D0C1A2DB8B830ECDE02536A76C16E539
SHA-256: 	6B6613C49FFC15A6A832507F414D565B975E16756C4482931CE1E4A14FD35ED0
CompactGUI - Version 3.0 alpha 4

Published by ImminentFate over 2 years ago

Changes

  • Added ability to recompress a previously compressed folder
    • this will force compress all files again with the newly selected algorithm (skipping already compressed files is planned)
  • Add CompactGUI to explorer right-click menu
    • (not the fancy new Windows 11 one unfortunately. That is much more work for some reason)
  • Added options menu (most options do nothing yet)
  • Improved analysing, now identifies what type of compression files have (for future use)

Fixes

  • Fixed progress bar sometimes momentarily starting at 100% if a folder was recently uncompressed

Known issues

  • If you've used the old Windows "Compress this folder" option in a folder's properties menu, CompactGUI cannot undo that yet. Disable that to make it work
  • Compressing folders where files are actively in use will cause CompactGUI to crash.

Important!

Because this application now uses .NET 6, you have two choices of downloads:

  • CompactGUI.exe (3.1MB) RECOMMENDED
    • If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
  • CompactGUI-Integrated.zip (150MB extracted) NOT RECOMMENDED
    • Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		39DF368DDC7136455C395364C170DD58
SHA-256: 	E67D69AA795582C1FEF2B38E4FA2730316C64858D6EDF5B0FA3C9A7343FF6BCF

Full Changelog: https://github.com/IridiumIO/CompactGUI/compare/v3.0.0-alpha.3...v3.0.0-alpha.4

CompactGUI - Version 3.0 alpha 3

Published by ImminentFate over 2 years ago

Changes

  • Rewrote the backend to no longer use compact.exe and instead directly access the Win32 API for file compression/decompression.
    • This should make CompactGUI even faster especially when compressing folders with lots of tiny files.
    • At absolute worst, it should be no slower than running compact.exe directly, and uses much less CPU power as it's no longer spawning dozens of new processes to try to compensate.
    • Interestingly, the WofSetFileDataLocation function that replaces it has some form of built-in detection to automatically skip files if they're not going to compress well. Neat.
    • The first time you try this version, please use it on a non-essential folder and then check that the files are okay before compressing anything else. I have no reason to suspect there will be issues, but just to be safe :)
    • Subjective benchmark of Stardew Valley which has a lot of tiny files and really crippled the old version:
      Stardew Valley | 700 MB | 6800 Files
      
      compact.exe:         17.34s   Baseline
      CompactGUI v2.6.2:   81.79s   471% slower
      CompactGUI v3 a2:    17.82s   2.7% slower
      CompactGUI v3 a3:    12.95s   25% faster  # probably because it doesn't check files yet
      
  • Added version checker
    • if a new version is available, a banner will show up at the bottom with a link to this page

Fixes

  • Fixed progress bar sometimes momentarily starting at 100% if a folder was recently uncompressed

Important!

Because this application now uses .NET 6, you have two choices of downloads:

  • CompactGUI.exe (3.1MB) RECOMMENDED
    • If you don't have the .NET 6 runtime installed when you try to run this, it will prompt you to download it from Microsoft
  • CompactGUI-Integrated.zip (150MB extracted) NOT RECOMMENDED
    • Includes all libraries required to run it completely standalone, however it's nearly 50x the size. I do recommend installing the .NET 6 runtime instead (which is itself only a 50MB download).

File Checksums

MD5: 		F8D18BA39768F4906FACF44D49814133
SHA-256: 	07A7D2F4B1CEEE49AECB39435F9C25AF5A259FB005BC2C6F17B5F07C3D6E9DF5

Full Changelog: https://github.com/IridiumIO/CompactGUI/compare/v3.0.0-alpha.2...v3.0.0-alpha.3