Skip to content

Add ability to install available versions#11

Closed
kczx3 wants to merge 3 commits intoAutoHotkey:mainfrom
kczx3:version-install-selection
Closed

Add ability to install available versions#11
kczx3 wants to merge 3 commits intoAutoHotkey:mainfrom
kczx3:version-install-selection

Conversation

@kczx3
Copy link
Copy Markdown
Contributor

@kczx3 kczx3 commented Jul 21, 2023

This is a very rough start to something I intended to attempt a long while ago. I made use of the commented menu item in the Dash labeled "Maintenance" since its description included the phrase "add/remove versions". Of course, it can go elsewhere or the label description can (and should) be adjusted.

Since the removal of versions is possible from the Control Panel, I wanted to wait to see if adding that to the GUI created here was necessary.

Look forward to your comments and suggestions.

@Lexikos
Copy link
Copy Markdown
Contributor

Lexikos commented Jul 21, 2023

IL_Add(il, 'shell32.dll', 297) ; green checkmark

On my Windows 11 (22621.1992) system, it is a folder icon with green plus symbol, which I suppose conveys the opposite meaning to what you wanted.

Versions Installed has both a vertical scrollbar and an unnecessary horizontal scrollbar on my system. I assume the horizontal scrollbar is present because the header was sized before the items were added. I have enough versions installed to warrant the vertical scrollbar, although given the nature of the GUI, a vertical limit of 6 seems unnecessarily low.

It took me a while to figure out that the left-hand list has a context menu (especially because the right-hand list apparently does not). First I tried clicking the item, then clicking the icon, then double-clicking the item, and nothing happened. A complete lack of visual cues is not good UI design. It is also not consistent with existing UI in the Dash (which uses single-click, as indicated by the hand cursor) or Control Panel (which uses visible check boxes and buttons).

I think context menus are best suited to secondary actions.

... or the label description can (and should) be adjusted.

Even putting aside the "add/remove" label, it would make more sense for a single GUI to provide both functions, whether this is accessible only via Control Panel or from Dash as well. (Technically, one can also run ui-uninstall.ahk directly or launch it by the "Uninstall" option which appears when you right click "AutoHotkey Dash" in the "modern" Start menu.)

I think I was originally considering putting reset-assoc.ahk in Maintenance, but it already does its check transparently when a new version is installed. This is the main "repair" that tends to be needed. Another task would be verifying the installed files (against the recorded hashes) and reinstalling versions, but I think that's not commonly needed. I'd guess that many users think to run the installer again if they are having issues.

@kczx3
Copy link
Copy Markdown
Contributor Author

kczx3 commented Aug 4, 2023

I attempted to simplify the PR for now. Now a banner will show at the bottom of the Dash when a newer version is available. I may need to redo this as I'm not as familiar with GitHub (I use GitLab at work) so I had to revert my first commit. I couldn't figure out how to reset my branch locally and force push it to the remote.

Lexikos pushed a commit that referenced this pull request Apr 16, 2026
Add update available banner to the Dash
@Lexikos
Copy link
Copy Markdown
Contributor

Lexikos commented Apr 17, 2026

This is "merged" via cherry-pick: 663e26d

I fixed some issues:

  • e6dccb5 fixes a conflict with a change that was made after this PR was submitted.
  • 668f282 fixes GUI growing instead of shrinking after the update installs.
  • d16e9a8 handles failure to retrieve the versions, and uses async to avoid delaying the Dash window.

Also,

  • ee7972a checks each minor version independently, offering only bug fixes for installed versions or new post-alpha versions. GetComponents already had logic to find the highest version of each.
  • 4d234ba disables the update check unless enabled via the registry.

I would consider adding UI somewhere to enable/disable update checking or prompt to enable it.

@Lexikos Lexikos closed this Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants