Kap
Kap copied to clipboard
Captures ending prematurely
macOS version: Ventura Public Beta
$ sw_vers
ProductName: macOS
ProductVersion: 13.0
BuildVersion: 22A5373b
Kap version: 3.5.5
Steps to reproduce
- Begin a screen recording
- Wait a while
Current behaviour
- Recording ends before intended
Expected behaviour
- Recording should continue until I click the kap icon in the menu bar to stop the capture
Workaround
I have not found a workaround. This issue exists in MacOS Ventura Public Beta whether Stage Manager is enabled or not.
Is this issue still present in the latest Ventura update (not beta?)
I face this issue using Bartender 4, screen capture ends when Bartender autohide (by default 30s) Kap from menu bar. Making Kap always visible in menu bar fix the issue for me.
I face this issue using Bartender 4, screen capture ends when Bartender autohide (by default 30s) Kap from menu bar. Making Kap always visible in menu bar fix the issue for me.
I face same issue, Hoping the author could fix it, Thanks very much!
Bartender 4
It was definitely caused by the use of Bartender 4.
Can also confirm. Moved it into the non-hidden item section and the issue went away.
Should this be fixed by KAP or by Bartender? Because I had the same issue. I'm happy I now know it's the combination of these two apps... : S
Hi, I am the developer of Bartender, a user pointed me to this issue. Hopefully I can help (but unfortunately cannot fix this on Bartenders side) I think the issue is that KAP stops recording when it gets a ⌘+click/drag on its menu bar item, it should ignore this, as that is how a user moves a menu bar item, this should be easy to test. Without Bartender running, if you ⌘+click/drag the KAP menu bar item does recording stop? It shouldn't, the menu bar item should just move. I think the fix is in tray.ts to change:
const onRecordingTrayClick = (event: KeyboardEvent) => { if (event.altKey) { pauseRecording(); return; }
stopRecording(); };
to be:
const onRecordingTrayClick = (event: KeyboardEvent) => { if (event.altKey) { pauseRecording(); return; } else if (event.command) { return; }
stopRecording(); };
There could be some syntax/errors in that code as I have not tested it, but I think that would help
Let me know if I can be of any more assistance.