Skip to content

feat(mac): add new configuration window 馃崕 - #16299

Draft
geschantz wants to merge 16 commits into
keymanapp:feat/mac/config-uifrom
geschantz:feat/mac/config-window
Draft

feat(mac): add new configuration window 馃崕#16299
geschantz wants to merge 16 commits into
keymanapp:feat/mac/config-uifrom
geschantz:feat/mac/config-window

Conversation

@geschantz

Copy link
Copy Markdown

The configuration window allows the user to manage Keyman packages and keyboards.

Actions include:

  • Installing a package
  • Deleting a package
  • Enabling packages
  • Viewing package info
  • Viewing package help

Build-bot: release:mac
Test-bot: skip

@keymanapp-test-bot

Copy link
Copy Markdown

User Test Results

Test specification and instructions

User tests are not required

@keymanapp-test-bot keymanapp-test-bot Bot added this to the A19S35 milestone Aug 3, 2026
@keyman-server

Copy link
Copy Markdown
Collaborator

This pull request is from an external repo and will not automatically be built. The build must still be passed before it can be merged. Ask one of the team members to make a manual build of this PR.

@sgschantz
sgschantz self-requested a review August 5, 2026 01:12
@geschantz
geschantz changed the base branch from feat/mac/install-notifications to feat/mac/config-ui August 5, 2026 18:07
@geschantz
geschantz force-pushed the feat/mac/config-window branch from f49dc2a to 2b2fc15 Compare August 7, 2026 01:03

@sgschantz sgschantz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good! I have suggested some minor comment changes and would like to see you take care of the remaining TODOs. Also, would it be possible to confirm (or cancel) the Add Keyboard in the case of a downgrade?

// a VStack is shown as the label for each disclosure group
VStack (alignment: .leading, spacing: 0) {
HStack {
// if the package contains one keyboard shows the keyboard name, otherwise show the package name

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// if the package contains one keyboard shows the keyboard name, otherwise show the package name
// if the package contains one keyboard, show the keyboard name, otherwise show the package name


// settings.singleKeyboardPackages or settings.multiKeyboardPackages
let packages: [KeymanPackage]
// a boolean for weather or not a package contains multiple keyboards

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// a boolean for weather or not a package contains multiple keyboards
// a boolean for whether or not a package contains multiple keyboards

*
* Created by Gabriel Schantz on 2026-07-27
*
* View for a package row

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expand on this description a little to explain how this view varies depending on whether the package it represents contains a single or multiple keyboards

*
* Created by Gabriel Schantz on 2026-08-03
*
* Webview used to show help for Keyman keyboards

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically this is the package help being displayed -- not that this view has any knowledge of that...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

3 participants