mslonik / Hotstrings

AutoHotkey oriented GUI to Hotstrings

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Triggerstring tips dissapear after some time

mslonik opened this issue · comments

No idea why and when it happens 🙁. Only some hipothesis which require code clean-up.

There must be something wrong with the algorithm:

  1. It's not possible to display shorter ListBoxes (Control) each time user enters new characters of triggerstring.
  2. As a consequence each time user enters new character, the new GUI is created (old is distroyed). This could on a long run cause some issues.

H1: Check GUI creation / destroy process, catch errors (if possible).

3. Each time new GUI is created, new set of dynamic hotkeys are created.
4. As a consequence plenty new dynamic hotkeys are created. Each time GUI is destroyed they are not.

On 2022-02-20: reworked code. No way to catch errors from GUI creation.

H2: Change that algorithm. Created hotkeys per class (AutoHotkey GUI) instead of just specific GUI.

Checked on 2022-02-20. Class or GUI Hwnd, it's not relevant.

H3: Check as many operations in F_OneChar as possible. Log as many as possible.

H4: Create automatic tester: SendLevel, InputLevel.

2022-02-20: partly done (experiment is successful). Quite tedieous task to finish it.

H5: Tooltips cause dead of thread. Switch off tooltips and give it a try.
Switched off tooltips on 2022-02-20.
No. This is not the case. Statement based on Log.

H6: Change CoordMode.
CoordMode changed to Screen on 2022-02-20.
Didn't help. Statement based on Log.

H7: Sound of tooltips or any other sound.
Switched off on 2022-02-21.
No, this is not thecase. Statement based on Log.

H8: Move ~Backspace processing from Hotkey section to InputHook section.
Accomplished on 2022-02-21.
It didn't help. Statement based on Log.

H9: Add Critical statement for InputHook function used to process Backspace events.
Accomplished on 2022-02-22.
It didn't help. Statement based on Log.

H10: Restart InputHook upon each hostring issue.

Fixed in 70ca645

The core of a problem: if size of InputHook buffer is not explicite declared, its size is limited to 1037 characters (or close to this limit). So the buffer overrun have to handled properly. Other option: to apply L0. This is what I did.