zsims / hunt-and-peck

Simple vimium/vimperator style navigation for Windows applications based on the UI Automation framework.
621 stars 54 forks source link

Define keyboard shortcuts on launch by XML file in %AppData%, and install with WiX #39

Open LawranceFung opened 2 years ago

LawranceFung commented 2 years ago

Installing HuntAndPeck and defining keyboard shortcuts in %AppData% seemed to go hand-in-hand since many applications do both, not just 1. If this makes more sense as 2 separate pull requests I can redo this as 2.
An MSI installer is much more intuitive for non-programmers. Someone who finds Vimium-style hints useful might experience significant confusion over a portable zipped application. Defining the keyboard shortcuts through XML is useful when they conflict with shortcuts for the active program, such as Visual Studio.

sd309991 commented 2 years ago

Thank you very much, Lawrance!

LawranceFung commented 2 years ago

Thank you very much, Lawrance!

No problem. This was a feature I had wanted to implement but hadn't gotten around to. ⎇; and ^; both conflict in visual studio.

zsims commented 2 years ago

Thanks for raising this PR, really nice work!

Any idea what would need to change in https://github.com/zsims/hunt-and-peck/blob/master/src/build.cake ? (which is used in appveyor to make the build).

LawranceFung commented 2 years ago

Thanks for raising this PR, really nice work!

Any idea what would need to change in https://github.com/zsims/hunt-and-peck/blob/master/src/build.cake ? (which is used in appveyor to make the build).

Thanks! I have no idea what would be needed to change in cake. Cake has been deprecated so I would use another bootstrapper like WiX or InstallShield. I went with a WiX MSI because it's intuitive for most users, compared to a powershell or cake script.
I don't know anything about Appveyor either. I prefer Jenkins for CI/CD.

LawranceFung commented 2 years ago

I've worked on keyboard software before, so "Oem1" for semicolon didn't throw me off where it may distracted someone for long enough for some people to quit trying.

zsims commented 2 years ago

Thanks, I'll look at fixing CI so we can spit an installer out.

zsims commented 2 years ago

Sorry for the long delay landing this, I'm a bit strapped for time atm. The biggest thing is getting this working with CI (AppVeyor) to spit out an install

pidgeon777 commented 2 years ago

Would it be possible to also save and load the hunt-and-peck configuration locally (same folder of the executable) for portable usages?

liuxilu commented 2 years ago

It's a bad idea to make it installable. Why install this?

LawranceFung commented 2 years ago

It's a bad idea to make it installable. Why install this?

You don't have to install it. Installation can help for deployment or may be preferred.

liuxilu commented 2 years ago

Unzipping is the best deployment

pidgeon777 commented 2 years ago

So if I understood correctly, placing the XML setting file in the same folder of the hunt-and-peck executable will be enough for loading and storing the configuration?

liuxilu commented 2 years ago

No. A portable settings provider implemention fyi: https://github.com/Bluegrams/SettingsProviders

weineran commented 2 years ago

Sorry for the long delay landing this, I'm a bit strapped for time atm. The biggest thing is getting this working with CI (AppVeyor) to spit out an install

Is the CI piece still blocking this PR? If so, would it make sense to split this into separate PRs (one for the installer, one for keyboard shortcuts?

PS I only recently started using hunt-n-peck, but loving it so far. Thanks for building this!

pidgeon777 commented 2 years ago

Hopefully, it will possible to define custom hotkeys for the actions and save the configuration.

Much better than manually starting the executable with the specific switch every time that an action is needed,

LawranceFung commented 2 years ago

Sorry for the long delay landing this, I'm a bit strapped for time atm. The biggest thing is getting this working with CI (AppVeyor) to spit out an install

Is the CI piece still blocking this PR? If so, would it make sense to split this into separate PRs (one for the installer, one for keyboard shortcuts?

PS I only recently started using hunt-n-peck, but loving it so far. Thanks for building this!

C# defaults to different locations for a configuration file. It's pretty simple, but not quite as simple as cherry picking files/lines.

LawranceFung commented 2 years ago

Hopefully, it will possible to define custom hotkeys for the actions and save the configuration.

Much better than manually starting the executable with the specific switch every time that an action is needed,

If you really need it now, feel free to clone and compile my fork.

pidgeon777 commented 2 years ago

If you really need it now, feel free to clone and compile my fork.

No, I don't need it now, but it would be a great addition to have in the future for sure 👍.

i-zanis commented 2 years ago

Any hopes of having this merged?

jadedFella commented 1 year ago

I don't think this is gonna get merged now, just start providing releases on your fork OP.