mirror of
https://github.com/keycastr/keycastr.git
synced 2026-10-23 08:07:30 -06:00
[PR #352] Add a configurable visible keystroke limit #353
Labels
No labels
bug
compatibility
discussion
documentation
enhancement
help wanted
help wanted
investigation needed
pull-request
release
visualizer
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
github-starred/keycastr#353
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/keycastr/keycastr/pull/352
Author: @AbdelrahmanHafez
Created: 8/10/2026
Status: 🔄 Open
Base:
main← Head:feat/max-visible-keystrokes📝 Commits (6)
12e6d5atest(visualizers): cover visible keystroke limits735978efeat(visualizers): configure visible keystroke limits10dae26test(visualizers): cover review edge cases7078f3dfix(visualizers): handle limit edge cases9298ca5test(default): preserve exempt rows when trimming3993c92fix(default): retain exempt rows while trimming📊 Changes
10 files changed (+747 additions, -67 deletions)
View changed files
📝
keycastr/KCDefaultVisualizer.h(+15 -2)📝
keycastr/KCDefaultVisualizer.m(+169 -27)📝
keycastr/KCDefaultVisualizer.nib/designable.nib(+45 -1)📝
keycastr/KCDefaultVisualizer.nib/keyedobjects.nib(+0 -0)➕
keycastr/KCVisualizerTests/KCVisibleKeystrokeLimitTests.m(+354 -0)📝
keycastr/KeyCastr.xcodeproj/project.pbxproj(+4 -0)📝
keycastr/Svelte.nib/designable.nib(+42 -2)📝
keycastr/Svelte.nib/keyedobjects.nib(+0 -0)📝
keycastr/SvelteVisualizer.h(+7 -0)📝
keycastr/SvelteVisualizer.m(+111 -35)📄 Description
This adds a maximum visible keystrokes setting to both the Svelte and Default visualizers.
The limit counts key events rather than string length, so labels such as
⌘Band⊞1count as one keystroke. Mouse events can still be displayed without consuming a slot. A value of0means unlimited.Existing behavior stays unchanged by default. Svelte keeps six visible keystrokes, while Default remains unlimited. Default applies the cap across all visible rows, and changing the setting trims the current display immediately.
The preference is available in both visualizer panes.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.