Skip to content

FEATURE: Classic layout: allow more than one configurable action row #226

Description

@george1612

Hi - a small, backward-compatible extension to the classic dictation layout.

The problem

The classic dictation layout has one configurable action row. Once I enable a few extras (history, GIF, language, etc.), they don't all fit in a single row, so I have to choose which ones to keep visible.

Proposed behavior

Allow up to N rows (I use 4) of configurable actions instead of just one, so all the extras can be visible at once. Purely additive - a user who never adds a second row sees no change.

Technical approach (first sketch)

The nice part is it can reuse the existing preference with zero migration:

  • Persist rows in the same pref, rows separated by ;, actions within a row still separated by commas. A legacy single-row value has no ;, so it parses unchanged as exactly one row -> fully backward compatible, no migration code.
  • A small parse/serialize helper for the rows; the layout renders each row; the settings editor can add/remove rows and reorder actions within a row (the palette fills the first row).

Straightforward to unit-test: round-trip parse/serialize and, importantly, that an old single-row value still loads correctly.

Caveat / offer

This lives in my fork (AI-assisted build), so treat the sketch as a starting point. Happy to invite you to the fork to see it and the tests, and to test a build. Thanks!


Note: my fork also has an optional "wake my PC" action key in this layout, but that belongs to a separate Wake-on-LAN request and isn't part of this one.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions