Jak przełączać lub wyłączać zaznaczanie tekstu wysyłanego do schowka

12

Chciałbym wyłączyć domyślne zachowanie, które wydaje się mieć miejsce w każdej dystrybucji Linuksa, w której kiedykolwiek próbowałem, że dowolny zaznaczony tekst jest natychmiast wysyłany do schowka (Mint, Ubuntu, Fedora, SuSE itp.) I każdego menedżera okien (Gnome , KDE, Cinnamon), a zamiast tego zachowywać się bardziej jak implementacja Windows.

Wiem, że jest to ukochane zachowanie wielu osób w Linuksie i jestem pewien, że wielu pomyśli, że jestem idiotą. Powodem, dla którego chcę to zrobić, jest to, że podczas nawigacji w GUI jestem nieprzyzwoity na klawiaturze. (np. kiedy jestem w Linuksie i kopiuję adres URL, a następnie przełączam się na moją przeglądarkę i wpisuję Ctrl + L, zaznacza pasek adresu i przesuwa moją zamierzoną pastę o jeden poziom w dół i zastępuje ją tym, co próbuję zastąpić. ) Wiem, że istnieje WIELE obejść, ale tak naprawdę nie obchodzi mnie to, wolałbym móc zmieniać zachowanie schowka.

syserss
źródło
Często po prostu ignoruję zaznaczenie tekstu X (środkowe kliknięcie, aby wkleić) i po prostu używam Ctrl-C Ctrl-V Ctrl-X, który jest schowkiem (nie zaznaczenie X), to różne rzeczy. - Do pracy w terminalu i niektórych innych sytuacjach uważam, że wybór X jest przydatny - w przeciwnym razie używam Ctrl C, V, X - Jest to bardzo przydatne, ponieważ daje dostęp do 2 zapisanych ciągów. Jednak wybór X jest po prostu wbudowany w X , i jest dość niestabilny, gdy przełącza się z okna do okna i zaznacza tekst (co powoduje, że poprzedni nie jest
zaznaczony
1
To pytanie / odpowiedź (Askubuntu) może rzucić nieco światła na funkcjonowanie wyboru X i jego interakcji z schowkiem Ctrl C, V, X : Niespójne zachowanie kopiowania i wklejania. Czy jest jakaś poprawka?
Peter.O
1
Dzięki Peter.O. Wygląda jednak na to, że nie znalazłem sposobu na zignorowanie zaznaczenia tekstu X bez użycia myszy. Prawie używam wyłącznie Ctrl + C, X, V, ale kiedy wpisuję Ctrl + L, aby uzyskać dostęp do paska adresu, (teraz wiem dzięki Twojemu linkowi) Firefox zastępuje Schowek na Podstawowy. Myślę, że to naprawdę o wiele większy problem. Mam nadzieję, że niektóre z tych zamienników X, o których czytałem, poprawią sytuację.
syserss,

Odpowiedzi:

10

Najpierw nieporozumienie:

każdy zaznaczony tekst jest natychmiast wysyłany do schowka

W rzeczywistości tekst nigdy nie jest „wysyłany”, dopóki nie zażąda go aplikacja odbierająca. Po zaznaczeniu tekstu aplikacja twierdzi tylko o zaznaczeniu, co w zasadzie oznacza, że ​​podnosi flagę z informacją, że od tej pory jest jej właścicielem.

Teraz przejdź do pytania:

W X11 można wybrać wiele opcji. 2 z nich mają dobrze znane nazwy i są znormalizowane. Nazywają się PODSTAWOWE i SCHOWEK. Ich odpowiednie konwencjonalne zachowania są następujące:

  • PODSTAWOWY
    • Po wybraniu tekstu aplikacje twierdzą, że są PODSTAWOWE
    • Aplikacje żądają PODSTAWOWEJ aplikacji właściciela i wklejają jej zawartość za pomocą środkowego kliknięcia.
  • SCHOWEK
    • Aplikacje zgłaszają SCHOWEK, gdy wydane jest wyraźne polecenie, zwykle Ctrl- c.
    • Aplikacje żądają SCHOWKA z aplikacji będącej właścicielem i wklejają jego zawartość po wydaniu wyraźnego polecenia, zwykle Ctrl- v.
    • Mogą istnieć dodatkowe reguły, których nie jestem pewien, na przykład jeśli żadna aplikacja nie posiada SCHOWKA, ale niektóre aplikacje mają PODSTAWOWE, zamiast tego wklej podstawową Ctrl- v.

Wygląda na to, że SCHOWEK robi już to, czego potrzebujesz. Możesz zignorować PODSTAWOWY, jeśli chcesz (ale pamiętaj, że niektóre starsze aplikacje, takie jak, xtermmogą obsługiwać tylko PODSTAWOWE). Osobiście robię coś przeciwnego: ignoruję SCHOWEK i używam tylko PODSTAWOWEJ. Myślę, że tak właśnie nauczyłem się używać X11, nawet nie byłem świadomy, że na początku była SCHOWEK. Ale w celu złagodzenia opisywanego problemu, często żałuję, że nie było stosu, który można przesuwać i wybierać w trybie PRIMARY, aby móc „pop” przejść do poprzedniego wyboru po zablokowaniu go innym.

W odpowiedzi na twoje wyraźne pytanie, czy PIERWOTNE zachowanie można wyłączyć, myślę, że byłoby to dość trudne. Najprostszym sposobem byłoby indywidualne wyłączenie go w każdej aplikacji (lub zestawach narzędzi, z których korzystają aplikacje), co z pewnością nie jest możliwe. Przypuszczam, że można zbudować rodzaj „zapory X11”, która blokuje żądania dotyczące PODSTAWOWEJ, ale nie sądzę, że naprawdę kupiłoby ci coś więcej niż można uzyskać, ignorując PODSTAWOWY i używając tylko SCHOWKA.

Więcej informacji: Jaka jest różnica między wyborem podstawowym a buforem schowka?

Celada
źródło
1
Dzięki Celada, chciałbym znaleźć sposób na zignorowanie Podstawowego bez uciekania się do myszy. Nie wydaje się, aby było na to łatwe rozwiązanie mojej irytacji i dopóki korzystam z Linuksa, będę musiał zmodyfikować swoje zachowanie. Dziękuję bardzo za dokładną odpowiedź!
syserss,
1
xtermjest w pełni konfigurowalny (z translationszasobem), aby kazał mu używać dowolnego buforu wyboru lub cięcia (z
cofnięciami,
Co z WTÓRNYM? Jestem prawie pewien, że również ma dobrze znaną nazwę i jest znormalizowany; bardzo rzadko jest obsługiwany przez aplikacje.
flarn2006
dla tych, którzy chcą zsynchronizować PODSTAWĘ i SCHOWEK, zainstaluj parcellite , jak sugerowano w superuser.com/questions/68170/...
Alec Istomin
10

Bałaganiłem i przypadkowo włączyłem Synchronizuj zawartość schowka oraz opcję wyboru w aplikacji Schowek KDE Plasma. Odznaczenie tego rozwiązało dla mnie podobny problem.

Konfiguracja narzędzia KDE Plasma Clipboard

Batandwa
źródło
5
Tak, jest również inne rozwiązanie ukryte dla OP: Ustaw pole wyboru na, Ignore selectiona menedżer schowka Plazmy nigdy nie nadpisze twojego Ctrl-Vschowka. Jeśli zawartość schowka zostanie nadpisana przez PODSTAWOWĄ zawartość zaznaczenia, to nie jest wina X11, zwykle jest to menedżer schowka w pracy.
sweisgerber.dev,
Chciałbym móc głosować za tym 50 razy, szukałem tego od wieków!
eeijlar,
2

We wszystkich aplikacjach Gnome wklejanie środkowego kliknięcia można wyłączyć w Gnome-Tweaks / Klawiatura i mysz / Wklejanie środkowego kliknięcia (które przełącza opcję Gnome-włącz-podstawową-wklej).

Rozwiązaniem działającym dla całego Xa i nie wyłączającym całkowicie środkowego kliknięcia (np. Do zamykania kart w przeglądarce) jest XMousePasteBlock, który powinien być uruchamiany przez użytkownika, jest on również spakowany dla Arch w AUR .

Ilario Gelmetti
źródło
1

W XFCE miałem ten sam problem, a gorsze było to, że automatyczny wybór przerywał kopiowanie / wklejanie w zdalnych przeglądarkach takich jak x2go, vnc ... wtedy musiałem ponownie otwierać nową sesję, aby ją rozwiązać za każdym razem, gdy wybieram tekst.

rozwiązanie : uruchom xfce4-clipman z powłoki, kliknij prawym przyciskiem myszy pasek zadań i wybierz właściwości, a następnie wyłącz Ignoruj ​​selekcje i Synchronizuj selekcje

wprowadź opis zdjęcia tutaj

dzięki @ sweisgerber.dev za tę metodę

Badr Elmers
źródło