From 9bcbece09af8089f258f3cde53b3673287669322 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Wed, 7 Oct 2026 17:35:42 +0200 Subject: [PATCH] Radial: drop Cut/Copy/Paste now that chords cover them With left+middle = Cut and left+right = Paste (standard KDE clipboard) and X11 primary selection for copy, those actions are redundant in the radial and duplicate a more in-flow gesture. Top-level radial is now Undo, Redo, Cursors to Line Ends, and More. All 5 ctest suites green. --- docs/PLAN.md | 2 ++ src/radial/radialconfig.cpp | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/PLAN.md b/docs/PLAN.md index af4c7dc..fd2ae8b 100644 --- a/docs/PLAN.md +++ b/docs/PLAN.md @@ -136,6 +136,8 @@ Therefore the palette is replaced, not extended, and the replacement is built on - The right-button paste chord is free of conflict because the radial gesture is already suppressed while the left button is held: right alone = radial, right while left-held = paste. +- Cut/Copy/Paste were removed from the radial once the chords covered them — + the radial should not duplicate what a more in-flow gesture already does. - **Middle-click primary paste is suppressed** inside the editor — the middle button is consumed on both press and release (the paste fires on release, so swallowing only the press leaked it). Paste in the editor is the KDE-clipboard diff --git a/src/radial/radialconfig.cpp b/src/radial/radialconfig.cpp index ca0710f..7cf4958 100644 --- a/src/radial/radialconfig.cpp +++ b/src/radial/radialconfig.cpp @@ -114,9 +114,9 @@ QList RadialConfig::builtinDefault() }; edit.root.children = { - leaf(QStringLiteral("Cut"), QStringLiteral("edit_cut")), - leaf(QStringLiteral("Copy"), QStringLiteral("edit_copy")), - leaf(QStringLiteral("Paste"), QStringLiteral("edit_paste")), + // Cut/Copy/Paste are intentionally absent: cut and paste are handled by + // the Acme left+middle / left+right chords (standard KDE clipboard), and + // copy by the X11 primary selection — all more in-flow than a radial trip. leaf(QStringLiteral("Undo"), QStringLiteral("edit_undo")), leaf(QStringLiteral("Redo"), QStringLiteral("edit_redo")), // Multi-cursor on every selected line: a quintessential in-place action