# Unexpected behavior in neovide when using Text Selection Did Changed

**URL:** <https://community.folivora.ai/t/unexpected-behavior-in-neovide-when-using-text-selection-did-changed/45417>\
**Category:** Bugs or Unexpected Behavior\
**Created:** [October 16, 2025, 9:54pm UTC](https://community.folivora.ai/t/unexpected-behavior-in-neovide-when-using-text-selection-did-changed/45417 "2025-10-16T21:54:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lekram](https://community.folivora.ai/user_avatar/community.folivora.ai/lekram/32/28250_2.png) [@Lekram](https://community.folivora.ai/u/Lekram)\
**Post date:** [October 16, 2025, 9:54pm UTC](https://community.folivora.ai/t/unexpected-behavior-in-neovide-when-using-text-selection-did-changed/45417/1 "2025-10-16T21:54:40Z")

</div>

* * *

As the title suggests, whenever the `Text Selection Did Change` feature is used, [Neovide](https://github.com/neovide/neovide) exhibits unexpected behavior: when selecting text with the mouse, a keymap is sent to nvim, causing the text to be deleted. I recently discovered this feature, and when I tested the samples shared in the documentation, I realized there was an issue with my Neovide. I don’t use it as often as I do nvim in a terminal, but coincidentally, I had it open when I was experimenting with the new feature. The keymap that is sent is `c`, and this only happens when I select text with the mouse. It does not occur when I do the same in nvim running in a terminal. I have the following code in an app group; it’s not even global.

> **Sample Code**
>
> ```auto
> [
> {
> "BTTLastUpdatedAt" : 1760650628.129205,
> "BTTTriggerType" : 806,
> "BTTTriggerTypeDescriptionReadOnly" : "Text Selection Did Change",
> "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
> "BTTUUID" : "F3060661-F4CE-4E8A-973F-6476862ED549",
> "BTTOrder" : 0,
> "BTTActionsToExecute" : [
> {
> "BTTLastUpdatedAt" : 1760647802.8482561,
> "BTTTriggerParentUUID" : "F3060661-F4CE-4E8A-973F-6476862ED549",
> "BTTIsPureAction" : true,
> "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
> "BTTUUID" : "B0F1844D-2A65-4AE0-AD0B-6C63325C7D46",
> "BTTPredefinedActionType" : 330,
> "BTTPredefinedActionName" : "If Condition",
> "BTTIfConditionFormat" : "BTTTextSelectionType == \"double-click\"",
> "BTTIfConditionData" : "YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGvEBYLDBMYICorLTQ4PT5BRUlOT1JaXmJkVSRudWxs0w0ODxAREl8QF05TQ29tcG91bmRQcmVkaWNhdGVUeXBlXxAPTlNTdWJwcmVkaWNhdGVzViRjbGFzcxABgAKAFdIUDxUXWk5TLm9iamVjdHOhFoADgBTUDxkaGxwdHh9fEBFOU1JpZ2h0RXhwcmVzc2lvbl8QEE5TTGVmdEV4cHJlc3Npb25fEBNOU1ByZWRpY2F0ZU9wZXJhdG9ygBOADoAEgBHVISIjJA8lJicoKVlOU09wZXJhbmReTlNTZWxlY3Rvck5hbWVfEBBOU0V4cHJlc3Npb25UeXBlW05TQXJndW1lbnRzgAaABRADgAiADVx2YWx1ZUZvcktleTrSIw8QLIAH0i4vMDFaJGNsYXNzbmFtZVgkY2xhc3Nlc18QEE5TU2VsZkV4cHJlc3Npb26jMDIzXE5TRXhwcmVzc2lvblhOU09iamVjdNIUDzU3oTaACYAM0w8jOTo7PFlOU0tleVBhdGiACxAKgApfEBRCVFRUZXh0U2VsZWN0aW9uVHlwZdIuLz9AXxAcTlNLZXlQYXRoU3BlY2lmaWVyRXhwcmVzc2lvbqM_MjPSLi9CQ15OU011dGFibGVBcnJheaNCRDNXTlNBcnJhedIuL0ZHXxATTlNLZXlQYXRoRXhwcmVzc2lvbqRGSDIzXxAUTlNGdW5jdGlvbkV4cHJlc3Npb27TSiMPS0xNXxAPTlNDb25zdGFudFZhbHVlgA8QAIAQXGRvdWJsZS1jbGlja9IuL1BRXxAZTlNDb25zdGFudFZhbHVlRXhwcmVzc2lvbqNQMjPVD1NUVVZXTFhMWVpOU01vZGlmaWVyWE5TTmVnYXRlWU5TT3B0aW9uc15OU09wZXJhdG9yVHlwZYASCBAE0i4vW1xfEBtOU0VxdWFsaXR5UHJlZGljYXRlT3BlcmF0b3KjW10zXxATTlNQcmVkaWNhdGVPcGVyYXRvctIuL19gXxAVTlNDb21wYXJpc29uUHJlZGljYXRlo19hM1tOU1ByZWRpY2F0ZdIuL0RjokQz0i4vZWZfEBNOU0NvbXBvdW5kUHJlZGljYXRlo2VhMwAIABEAGgAkACkAMgA3AEkATABRAFMAbAByAHkAkwClAKwArgCwALIAtwDCAMQAxgDIANEA5QD4AQ4BEAESARQBFgEhASsBOgFNAVkBWwFdAV8BYQFjAXABdQF3AXwBhwGQAaMBpwG0Ab0BwgHEAcYByAHPAdkB2wHdAd8B9gH7AhoCHgIjAjICNgI+AkMCWQJeAnUCfAKOApACkgKUAqECpgLCAsYC0QLcAuUC7wL+AwADAQMDAwgDJgMqA0ADRQNdA2EDbQNyA3UDegOQAAAAAAAAAgEAAAAAAAAAZwAAAAAAAAAAAAAAAAAAA5Q=",
> "BTTOrder" : 1
> },
> {
> "BTTLastUpdatedAt" : 1760563377.2917771,
> "BTTTriggerParentUUID" : "F3060661-F4CE-4E8A-973F-6476862ED549",
> "BTTIsPureAction" : true,
> "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
> "BTTUUID" : "D0D7A692-6EFF-4C62-9B47-5835C767F55A",
> "BTTPredefinedActionType" : 254,
> "BTTPredefinedActionName" : "Show HUD Overlay",
> "BTTHUDActionConfiguration" : "{\"BTTActionHUDBlur\":true,\"BTTActionHUDBackground\":\"0.000000, 0.000000, 0.000000, 0.000000\",\"BTTIconConfigImageHeight\":100,\"BTTActionHUDPosition\":0,\"BTTActionHUDDetail\":\"\",\"BTTActionHUDDuration\":0.90000000000000002,\"BTTActionHUDDisplayToUse\":0,\"BTTIconConfigImageWidth\":100,\"BTTActionHUDSlideDirection\":0,\"BTTActionHUDHideWhenOtherHUDAppears\":false,\"BTTActionHUDWidth\":220,\"BTTActionHUDAttributedTitle\":\"{\\\\rtf1\\\\ansi\\\\ansicpg1252\\\\cocoartf2822\\n\\\\cocoatextscaling0\\\\cocoaplatform0{\\\\fonttbl\\\\f0\\\\fswiss\\\\fcharset0 Helvetica-Bold;\\\\f1\\\\fswiss\\\\fcharset0 Helvetica;}\\n{\\\\colortbl;\\\\red255\\\\green255\\\\blue255;\\\\red0\\\\green0\\\\blue0;}\\n{\\\\*\\\\expandedcolortbl;;\\\\cssrgb\\\\c0\\\\c0\\\\c0\\\\c84706\\\\cname labelColor;}\\n\\\\pard\\\\tx560\\\\tx1120\\\\tx1680\\\\tx2240\\\\tx2800\\\\tx3360\\\\tx3920\\\\tx4480\\\\tx5040\\\\tx5600\\\\tx6160\\\\tx6720\\\\pardirnatural\\\\qc\\\\partightenfactor0\\n\\n\\\\f0\\\\b\\\\fs80 \\\\cf2 test\\n\\\\f1\\\\b0\\\\fs24 \\\\\\n\\\\pard\\\\tx560\\\\tx1120\\\\tx1680\\\\tx2240\\\\tx2800\\\\tx3360\\\\tx3920\\\\tx4480\\\\tx5040\\\\tx5600\\\\tx6160\\\\tx6720\\\\pardirnatural\\\\qc\\\\partightenfactor0\\n\\n\\\\fs48 \\\\cf2 test2}\",\"BTTActionHUDBorderWidth\":0,\"BTTActionHUDTitle\":\"\",\"BTTActionHUDHeight\":220}",
> "BTTOrder" : 2
> },
> {
> "BTTLastUpdatedAt" : 1760563377.293278,
> "BTTTriggerParentUUID" : "F3060661-F4CE-4E8A-973F-6476862ED549",
> "BTTIsPureAction" : true,
> "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
> "BTTUUID" : "18FF42D3-008B-43D4-BDE4-13A944C28357",
> "BTTPredefinedActionType" : 333,
> "BTTPredefinedActionName" : "Else",
> "BTTOrder" : 3
> },
> {
> "BTTLastUpdatedAt" : 1760563377.2932539,
> "BTTTriggerParentUUID" : "F3060661-F4CE-4E8A-973F-6476862ED549",
> "BTTIsPureAction" : true,
> "BTTTriggerClass" : "BTTTriggerTypeOtherTriggers",
> "BTTUUID" : "3C993BB9-BC71-44B3-A6B2-8BE3A25DC48B",
> "BTTPredefinedActionType" : 334,
> "BTTPredefinedActionName" : "END If Condition",
> "BTTOrder" : 4
> }
> ]
> }
> ]
> 
> ```

* * *

**Device information:**

- Type of Mac: macbook pro
- macOS version: 15.6.1
- BetterTouchTool version: 5.670

* * *

---

<div class="post-metadata">

**Author:** ![DrBones](https://community.folivora.ai/user_avatar/community.folivora.ai/drbones/32/16014_2.png) [@DrBones](https://community.folivora.ai/u/DrBones)\
**Post date:** [December 25, 2025, 12:45pm UTC](https://community.folivora.ai/t/unexpected-behavior-in-neovide-when-using-text-selection-did-changed/45417/2 "2025-12-25T12:45:20Z")

</div>

I see the same, or similar behaviour. In my case it seems that a “cmd + c” is send, since it yanks the selected lines to the clipboard. I do have that keymap setup, though with `vim.keymap.set("v", "<D-c>", '"+y') -- Copy.` When that is disabled, the text is removed, like in OPs case. I believe it does not know that to do with the “cmd” modifer in that case.

It seems to me that the “Text selection Did Change” issues a “cmd + c” to copy the selected text somewhere to be used. That is fine in most cases but cannot unfortunately be disabled with scoped app groups or conditions.

It would be great if that trigger would resect at least the “Advanced Conditions” then it could be disabled for Neovide in particular or even better not send any key events and copy the text in a different way.

Cheers

**Device information:**

- Type of Mac: macbook pro m1
- macOS version: 26.1 (25B78)
- BetterTouchTool version: 5.800

---

<div class="post-metadata">

**Author:** ![DrBones](https://community.folivora.ai/user_avatar/community.folivora.ai/drbones/32/16014_2.png) [@DrBones](https://community.folivora.ai/u/DrBones)\
**Post date:** [December 25, 2025, 8:04pm UTC](https://community.folivora.ai/t/unexpected-behavior-in-neovide-when-using-text-selection-did-changed/45417/3 "2025-12-25T20:04:37Z")

</div>

Addendum, after looking further into it.

It seems even the supplied conditions in the “Activation Group” when you download the preset do not seem to work. Blender is setup in there by default and when I select text in a Blender it is replaced by a “c”. The Key overlay of CleanShot X shows the “cmd” key as well. On a side note: I cannot use the “drag to select capture area” of CleanShot X, since after dragging the “text selection did change” trigger activates and (probably) sends a “cmd-c” which exits the screen recording overlay.

Something seems odd with this trigger. Tools like PopClip do not have this issue, maybe they get the selected text in a different way.

 ![Screenshot 2025-12-25 at 13.57.01@2x](https://community.folivora.ai/uploads/default/original/3X/7/f/7f9cacc72ab3f5e811ca35990b6742d4ff33d33b.png)

The issue with CleanShot X, or in general with “Text Selection Did change” trigger stealing focus/sending key commands is also mentioned in another issue: [BTT Text Selection steals focus?](https://community.folivora.ai/t/btt-text-selection-steals-focus/45136)
