diff --git a/src/client/components/drive.vue b/src/client/components/drive.vue
index 64e4d51e2..1dbb1cbc1 100644
--- a/src/client/components/drive.vue
+++ b/src/client/components/drive.vue
@@ -17,7 +17,7 @@
@dragenter="onDragenter"
@dragleave="onDragleave"
@drop.prevent.stop="onDrop"
- @contextmenu="onContextmenu"
+ @contextmenu.stop="onContextmenu"
>
diff --git a/src/client/ui/deck/main-column.vue b/src/client/ui/deck/main-column.vue
index c09880d68..f0d5567b6 100644
--- a/src/client/ui/deck/main-column.vue
+++ b/src/client/ui/deck/main-column.vue
@@ -58,6 +58,7 @@ export default defineComponent({
onContextmenu(e) {
if (['INPUT', 'TEXTAREA'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
+ if (window.getSelection().toString() !== '') return;
const path = this.$route.path;
os.contextMenu([{
type: 'label',
diff --git a/src/client/ui/default.vue b/src/client/ui/default.vue
index 0da410820..7626ddaa5 100644
--- a/src/client/ui/default.vue
+++ b/src/client/ui/default.vue
@@ -188,6 +188,7 @@ export default defineComponent({
onContextmenu(e) {
if (['INPUT', 'TEXTAREA'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
+ if (window.getSelection().toString() !== '') return;
const path = this.$route.path;
os.contextMenu([{
type: 'label',