Git Product home page Git Product logo

Comments (3)

MikeMaximus avatar MikeMaximus commented on August 17, 2024 1

Thank you for taking the time to make all these great suggestions, along with the other issues you've submitted. I appreciate the amount of detail and reasoning. I will post some updates or possibly questions once I am able to do some more work on the next release.

from gbm.

MikeMaximus avatar MikeMaximus commented on August 17, 2024

I've been picking away at these improvements. I wanted to make an update on what will and won't be done for next release.

General:

* Child windows to respond to ESC to initiate window close (ask to save if some modification).
  • All windows now respond to the ESC key to cancel edit mode and/or close the window.
* Search/Filter fields to support searching tags via the search bar if search term begins with "#".
  • You can now filter by tag only using the # on the main window, Game Manager and import window.

Game Backup Monitor window:

* Double-click on a game in the list to edit it.
  * Have it be configurable via the Settings what double-clicking will do e.g. Edit, Play, Backup, etc.
  • You can now double-click a game to edit it in the Game Manager, however I'm not making this configurable at this time.
* Only enable _Play_ button to be clicked if game in list has a process path set.
  • I'd like to continue showing a message for the Play button instead of disabling it, so the user always knows the exact reason a game won't launch from GBM.
* Indicate whether a game has monitoring enabled for it or not.
* Support multiple selections in the games list.
  * Support backing up a queue of games.
  * Maybe also for restoring a queue of games.
  * Other buttons such as _Edit_ and _Play_ should be disabled for active multi-selections.
  • These will be part of a future overhaul I have planned, but won't be included in the next release.
* Menu item to open the configured root Backup Folder in File Explorer.
  • An "Open Backup Folder" item will be added to the "File" menu.

Game Manager window:

* Resizeable window so that longer paths can be viewed in full.
  • This will be part of a future overhaul I have planned, but won't be included in the next release.
* Next to the "..." buttons for Path fields, a button which opens the current path value in File Explorer.
  • I've added these buttons, already been extremely useful.
* Rename "Monitor this game" and/or "Monitor only" sub-menu options for clarification.     
  * "Allow monitoring" for the former and "No backup when monitored game closes" for the latter would be more self-explanatory names (if I've understood their roles). Without having read the manual, the current option names were quite confusing. I'm still trying to make sense of them as it's difficult to tell whether they're both standalone options, or reliant upon each other in some way. The GUI visually suggests they're standalone options.
    * "Allow monitoring" because it doesn't imply that it is being, or will be, monitored, only that it is allowed (when monitoring has been globally enabled).
    * "No backup when monitored game closes" clearly states its use and doesn't imply monitoring is being enabled/disabled by the option.
  • I've renamed these options to "Allow monitoring" and "No backup when game ends".
* Disallow creating manifests with duplicate names, i.e. enforce unique names e.g. "Resident Evil 2 (1998)" and "Resident Evil 2 (2019)". A step toward reducing duplicate names, a good thing for when looking at the main window as the only way to tell some games apart and determine what they backup is by seeing their tags change on the right side.
  • This is not something I want to do at this point for a variety of reasons. I hope the changes for #272 will make this less of an annoyance if someone wants to use duplicate names.

Ludusavi Options window:

* Allow Enter to submit the term written in the Quick Search field.
  • The enter key will now submit the form.
* Remember the previously selected _Profile Types_.    
  * I typically always want to search for both saved games and configuration files, but it's necessary to always check the second of the two since the checkboxes have a preconfigured state each time the popup appears.
  • This will not be added at this time, but may be in a future release.

Import Game Configurations window:

* Set the initial focus to the Filter text field so that a game can be searched for immediately.
  • The filter field will now have focus when the form is done loading.
* Save window size and column widths. Currently some kind of automatic sizing of columns is happening which isn't so friendly.
  • This will not be added at this time, but may be in a future release.
* When game saves are detected, change the Name column icon for a game from the green plus symbol to something that indicates it was detected, such as a capital D.
  • Auto-detected games now have a unique icon.
* Detected save games / updatable manifests which are preselected should be stickied to the top of the list instead of being filtered by "Show Only Selected".      
  * This way the filter can be used immediately upon the full list of games.
  * Detect Saved Games button would also just sticky anything detected to the top of the list (and probably should automatically scroll to the top).
  • I'd like to do this, but I don't think it's going to happen unless I can figure out some technical issues with the control.
* Ignore a manifest from being automatically selected.      
  * Some manifests include the same Save Paths and so multiple can be preselected for a detected save game. When one of these manifests are already added, this irrelevant manifest keeps getting preselected.
  * Have another filter checkbox "Hide Ignored" which would always be preenabled. Disabling it would allow us to see and then unignore ignored manifests.
  * Ignored manifest should have a Name column icon which differs to the green plus, e.g. a red X.
  • You can now use a right-click context menu to Ignore (or Unignore) any configuration(s). This will hide them and prevent them from being auto-detected in the future. The "Hide Ignored" checkbox has been added so ignored configurations can be displayed. Ignored configurations have a unique icon.
  • As a side note, I think this Ignore feature makes the Lock feature suggested in #275 redundant so I've removed it.

Download sources:

* It may be desirable to submit a GBM manifest to Microsoft's [winget](https://github.com/microsoft/winget-cli) ([packages repo](https://github.com/microsoft/winget-pkgs)).
  
  * winget used to only support installers, but now supports extracting archives for software that is distributed in a more portable fashion, but whether the latter should be submitted too, I'm not sure. The latter is naturally a silent installation, the former can be, but only if a given installer supports some type of silent flag from my understanding.
  • I haven't had much time to look into winget yet but I will eventually.
* I will be submitting a GBM manifest to one of [Scoop's](https://github.com/ScoopInstaller/Scoop) buckets ([the Games bucket](https://github.com/Calinou/scoop-games)), however it would be useful if GBM could provide a checksums file along side each new future release so that the Scoop manifest could read it and not need to download GBM to calculate the hash locally.     
  * The checksums file can be extensionless with the following contents: `<sha256_checksum><space><space_or_asterisk><7z_archive_name_with_ext>`. One hash per line.
  * For Scoop's needs, a hash for both the 32 and 64-bit archives is enough, however the checksums file can, and might as well, contain the hashes for the installers, DEB, and anything else made available each release that is worth hashing for file integrity checking purposes.
  • The script that builds the Windows release files now automatically creates the checksums file and I'll include it with future releases.

More portability:

* Perhaps GBM could get a Settings option to enabled running in a mode where the program's data files which are normally stored in and read from "%LOCALAPPDATA%\gbm" (on Windows) would instead be located in the program's installation folder. It could be as simple as: if a "gbm\gbm.s3db" exists in the installation folder, prefer that source over reading from "%LOCALAPPDATA%\gbm". Such an option would allow Scoop to persist the program's preferences in the central location where it saves all program preferences. Other than benefiting Scoop, I'm not sure how portable data files would be of much use since GBM is likely nearly always stationary on the system with the games it backs up.
  • I still need to look into this, but it's unlikely I'll make any changes for it this at this time. I'd like to get v1.3.2 done and tested by the end this week or next.

from gbm.

redactedscribe avatar redactedscribe commented on August 17, 2024

Nice to see so many of the suggestions having been implemented. And for those that you decided against or deviated from, I can see the benefit in your reasoning. I imagine these changes will be well received. I should be able to help test the features if needed. Thanks for your efforts so far!

from gbm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.