Commit graph

37 commits

Author SHA1 Message Date
sgschantz
184f56c7aa use core context instead of locally managed context 2023-10-26 15:38:19 +07:00
Shawn Schantz
b908c30b2c
Merge branch 'feature-macos-core' into feature/core/add-core-wrapper 2023-10-26 08:41:09 +07:00
sgschantz
6871e74d3a changed keyboards menu to dynamically update in Keyman section of the Input Menu and eliminated Keyboards submenu 2023-10-19 14:55:57 +07:00
sgschantz
615c9c23d2 limit most log statements to debug mode 2023-10-16 15:26:13 +07:00
sgschantz
682d99c2cb context simplification, legacy app determination integrated into TextCompatibilityCheck 2023-09-26 10:48:43 +07:00
sgschantz
2cb7458829 successfully loading setting options in core -- not behaving predictably until null terminator added 2023-08-15 14:57:30 +07:00
sgschantz
4010c79bf9 handle PersistOption action; persisting but not loading at startup yet 2023-08-10 11:30:12 +07:00
Marc Durdin
b1dff6a7ce chore(mac): add missing versionGitTag field 2023-01-23 14:04:46 +07:00
sgschantz
1b27d2b09a moved package reading out of app delegate to separate class KMPackageReader, conformed to code style guidelines 2021-12-07 15:24:17 +07:00
sgschantz
d2ed35ac20 displaying fonts, getting package name from json.kmp first, then kmp.inf 2021-11-30 14:54:51 +07:00
sgschantz
96c78752b5 load Keyman Package information from kmp.json file and store in new PackageInfo object rather than in existing Dictionary hierarchy 2021-11-25 17:09:01 +07:00
sgschantz
2c5ff2b62a renamed method that gets package name from inf file 2021-11-01 12:01:11 +07:00
Marc Durdin
0c01f7c41d fix(mac): register configuration window on load
Fixes #3945.

When the configuration window is opened via `showPreferences`, we were
not aware that the configuration window had been opened, so subsequent
references to it would recreate it.
2021-03-15 14:59:30 +11:00
Marc Durdin
01b192796a feat(mac): user-controllable legacy app list
Fixes #1953.

Makes it possible to specify additional apps that need 'legacy' handling
without requiring an updated build of Keyman for Mac. The list should be
stored in user defaults under the `KMLegacyApps` key. It can be viewed
with the command:

```
defaults read keyman.inputmethod.Keyman KMLegacyApps
```

And updated with

```
defaults write keyman.inputmethod.Keyman KMLegacyApps -array value1 value2 ...
defaults write keyman.inputmethod.Keyman KMLegacyApps -array-add value1 value2 ...
```

Each entry should be a regex that matches the client app id.

For example:

```
defaults write keyman.inputmethod.Keyman KMLegacyApps -array com.microsoft.Word '^com.github.atom$'
```

(Note for purity, the `.` should be escaped in the regex but it'll
actually be fine without...)

This commit also adds the `keymanDataPath` method on
`KMInputMethodAppDelegate`, so we can place additional configuration
data there in the future (as opposed to in the shared config which is
less easy for users to edit.)
2020-11-25 16:56:52 +11:00
Marc Durdin
e1627260f3 chore(mac): use new keyboard install page
Fixes #3898.

This reworks the keyboard download window to use the new keyboard
install page and url pattern. Some refactoring of the downloadKeyboard
method was required to handle the new download patterns.
2020-11-20 13:39:12 +11:00
Marc Durdin
c2401514cb fix(mac): support page and copyright
Fixes #3849.

* Uses keyman-staging.com when on alpha or beta
* Updates copyright year at build time
* Fixes link to help documentation (/mac, not /macosx)
2020-11-20 05:55:53 +11:00
Marc Durdin
256ba2ef1e [mac] Support Adobe products in legacy mode (and VS Code) 2019-08-08 19:36:27 +10:00
David Kamholz
93e8361800 persist save() values across sessions 2019-06-21 11:18:58 -07:00
Tom Bogle
c840cedef9 [Mac] Prevent permanently hiding OSK when a menu is dropped down
This *might* possibly fix #894, but not likely
2018-06-27 01:32:18 -04:00
Tom Bogle
26ad29a744 [Mac] Added lots of IM tests (legacy, no-context, Apple-compliant [WIP])
Fixes #1005 (at least in part). Still one failing test.
2018-06-25 17:15:00 -04:00
Tom Bogle
0ce9fd1cd2 [Mac] Added some new passing unit tests and one still WIP
Need to make a delegate to test posting delete back.
2018-06-23 00:00:43 -04:00
Tom Bogle
3caf37e45c [Mac] #994 - Use keyboard names w/ native script from KMX instead of inf
It seems the *.inf files are not UTF-8, so any non-Roman characters used in keyboard names turn into question marks. The native script name is stored in the kmx file, so getting it from there seems to work.
2018-06-18 15:00:35 -04:00
Tom Bogle
191d72a6ef [Mac] #769 - Switched to using Cocoapods to get Crashlytics framework
This also gets the upload-symbols script, which seems to be necessary to upload the dSYM file for the Keyman Engine.
2018-06-01 16:00:22 -04:00
Tom Bogle
1ba068994d
Merge pull request #884 from keymanapp/mac-769-add-dysm-for-engine
[Mac] #769 added dSYM for engine so symbols will be available in Crashlytics
2018-05-28 22:48:50 -04:00
Tom Bogle
27e9591393 Made callback approach to engine's Easter-egg crash conditionally compile 2018-05-25 11:59:10 -04:00
Tom Bogle
12d6a18012 Added build step to copy engine dSYM into proper location for uploading
Also made a lot of changes to the engine-based Easter egg code to force a crash. A lot of this is experimental and probably temporary.
2018-05-23 23:55:29 -04:00
Tom Bogle
d2ed7fc527 Improvements to event tap code
1) Enable/disable event tap depending on whether Keyman is the active IM; 2) Made code dealing with keeping track of activating/deactivating servers thread-safe; 3) Improved clean-up when event tap cannot be re-enabled; 4) Improved and cleaned up some comments and code aesthetics.
2018-05-23 14:16:41 -04:00
Tom Bogle
5a72d5499d [Mac] Prevented crash in eventTapFunction processing "out of band" event
When a special event comes in indicating the event tap has been disabled by timeout or by the user, we attempt to re-enable it. Otherwise, use fallback logic.
2018-05-22 16:20:56 -04:00
Tom Bogle
7d725e3444 [Mac] #768 - Added "Use verbose Console logging" option. 2018-05-07 14:57:46 -04:00
Tom Bogle
4cb297a5e6 Got all the typing working in config windows and most link navigation
Still need to investigate why some links to help.keyman.com/... don't work in download window. Also, this check-in contains some commmented-out code to try to get mouse pointer to change over hyperlinks. Need to get it working or revert (possibly need to report as a separate issue). Also, it would be nice for there to be some user feedback when loading pages, which can be quite slow at times.
2018-05-01 16:58:07 -04:00
Tom Bogle
594eda09b1 [WIP] Beginning of logic to detect low-level events that may signal a context change. 2018-03-02 01:22:03 -05:00
Tom Bogle
5a6533525d Reverted some previous changes now unnecessary
This might fix the build problem on TeamCity
2018-02-02 13:51:20 -05:00
Tom Bogle
bcc527f696 Fixed up all the plumbing issues with unit tests for Keyman4MacIM 2018-02-02 13:35:42 -05:00
Tom Bogle
8b0687d177 Added guards around all headers to prevent duplicate imports 2018-01-29 14:01:33 -05:00
Tom Bogle
db9475e0c6 Solved the chirality problem on Mac (#178)
Also made the Scheme for the IM build shared in preparation for adding unit tests to thta project.
2018-01-25 00:00:44 -05:00
Tom Bogle
2c024805a5 WIP: This is what I have tried so far. The config window does NOT display when accessed via the menu. It still works (the old/right way) in Sierra when accessed via the About window. If you first try to access it via the menu and then access it via the Configuration button on the About window, it displays twice! 2017-11-19 23:55:22 -05:00
Tom Bogle
87aa5057ef [Mac] Initial check-in to open-source repo 2017-08-10 13:11:52 +07:00