- Dec 17, 2020
-
-
Marc Durdin authored
Another thought: we could also try refreshing every 125msec for 5 seconds after the first change is detected. It's a bit yuck perf-wise but would probably be pretty transparent to the user. In testing, this looks good. It means the changes appear as soon as ready, without substantial delays or performance issues. Polling this makes me feel a bit dirty, but I'll just take a shower and be okay.
-
Marc Durdin authored
As Keyman now monitors the Windows keyboard list from Control Panel, it is no longer sufficient to refresh the toolbar only when a Keyman keyboard is updated, as at that point Windows has not refreshed its own language list in the registry. Instead, we need to monitor changes to the relevant registry key and then refresh when those changes are 'complete'. There is a problem: there does not appear to be a good way to monitor for changes to Windows language settings. WM_SETTINGCHANGE is sent when a language is added by the user in Settings, but the actual change happens asynchronously, and we are not notified when the changes are complete. We also do not get notifications when languages are added via APIs. Given the async nature of the language profile changes, this leads to race conditions when we try to refresh the OSK toolbar. My preferred solution currently is to monitor the relevant key in a separate thread, and wait 1 second post-changes to actually do the refresh.
-
Marc Durdin authored
Fixes #4006. This fixes the list error exception which was masking the actual cause of #4006, which is already fixed by #4164. Related issue #4119 is also fixed by #4164.
-
Marc Durdin authored
-
Marc Durdin authored
-
Marc Durdin authored
When a keyboard is installed, Keyman will now only refresh its internal state on a given thread when that thread receives focus and/or input, rather than immediately. This will dramatically reduce the chatter caused by Keyman Engine when a keyboard is installed or settings are changed.
-
Marc Durdin authored
Fixes #4011. Fixes #4039. Fixes #4121. This change completes the immediate-change model for Keyman Configuration, by refactoring the refresh of settings out of the render phase and more appropriately splitting applying and refreshing. It adds a new message flag for wm_keyman_refresh, KR_SETTINGS_CHANGED, which uses a random token approach broadcast to all applications on the desktop to ensure that the refresh is received and multiple notifications for the same event can be appropriately coalesced. Most of the files touched are stripping out the refresh flags from the render phase. There is one small bug resolved at the same time with the options properties, which were not reset to default if they had been deleted from the registry prior to a refresh (see utilkeymanoption.pas).
-
- Dec 16, 2020
-
-
Marc Durdin authored
-
Marc Durdin authored
Fixes #3749. Fixes #3759. Adds a warning dialog when user attempts to add a transient language to a keyboard but the maximum number of transient languages is already installed. If this issue arises when a user is installing a keyboard for the first time, Keyman instead installs the keyboard for the user's default language. This may be a little confusing, but the error condition is difficult to explain and non-technical users will probably be stuck and need to install under their default language in any case. Happy to receive any pushback on this decision.
-
Marc Durdin authored
fix(windows): Text editor font bugs
-
Marc Durdin authored
fix(windows): help window centred on load
-
Marc Durdin authored
fix(windows): Canonicalize BCP 47 tag on keyboard download
-
Marc Durdin authored
fix(windows): remove obsolete option 'Switch to OSK/Help'
-
Marc Durdin authored
fix(windows): menu scroll positions need reset at popup
-
Marc Durdin authored
fix(windows): glitch in keyboard menu
-
Marc Durdin authored
chore(windows): remove obsolete importkeyboard app
-
- Dec 15, 2020
-
-
Keyman Server authored
auto: increment beta version to 14.0.211
-
Keyman Build Agent authored
-
Marc Durdin authored
fix(windows): beta uses wrong server
-
Marc Durdin authored
-
Marc Durdin authored
-
Marc Durdin authored
Fixes #4008. Fixes issue of font helper popping out separately and secondary crash, as well as the font helper not actually working because the font data was never passed in. In the future, we could improve this by moving the font enumeration into the back end web server thread but that's a bigger refactor and not appropriate for beta.
-
Marc Durdin authored
Fixes #4004. Centres the help window when it first appears. There is still a small resizing event but that will be handled with a separate PR for #3765.
-
Marc Durdin authored
Fixes #4111. The keyboard tag passed in from search would often be missing a region tag which is required on Windows.
-
Marc Durdin authored
-
Marc Durdin authored
-
Marc Durdin authored
Fixes #4113. The option "Switch to On Screen Keyboard/Help automatically when a keyboard is selected" is obsolete and we should remove it from the UI. Note that this does not remove the API surface, just hides the option from view, as there may be apps relying on the API value. Not touching help just now as that will be addressed in a help update in the future.
-
Marc Durdin authored
Fixes #4012. If the menu previously was scrollable, then it would potentially show items at the wrong offset because the offsets were not reset when the menu popup was called if no scroll was needed.
-
Marc Durdin authored
Fixes #4112. Glitch in keyboard menu from scrollable buttons being drawn at top-left.
-
Marc Durdin authored
Functionality has been ported to kmconvert. Fixes #4042.
-
Keyman Server authored
auto: increment beta version to 14.0.210
-
Keyman Build Agent authored
-
Marc Durdin authored
chore: fix trigger for beta branches
-
Marc Durdin authored
-
Keyman Server authored
auto: increment beta version to 14.0.209
-
Keyman Build Agent authored
-
Marc Durdin authored
chore: re-trigger beta
-
Marc Durdin authored
-
Keyman Server authored
auto: increment beta version to 14.0.208
-
Keyman Build Agent authored
-