Articles

Kopírování a vkládání v Xtermu

Při zvýraznění výběru v xtermu si můžete všimnout, že se výběr neodesílá do schránky (a nelze jej tedy vložit).
To je způsobeno tím, že FastX používá pro kopírování a vkládání textu pouze vyrovnávací paměť CLIPBOARD. xterm ve výchozím nastavení podporuje pouze vyrovnávací paměť PRIMARY.

Řešení

Spusťte xterm s nastavenou volbou selectToClipboard, tj. : xterm -ls -xrm ‚XTerm*selectToClipboard: true‘

Pokud v nabídkách zvolíte volbu Xterm, spustí se tento příkaz automaticky

Případně přidejte do souboru $HOME/.Xdefaults následující řádek:

  • XTerm*selectToClipboard: true

Background

Aplikace X mají při výběru textu více vyrovnávacích pamětí pro kopírování, z nichž dvě jsou PRIMARY a CLIPBOARD. FastX čte pouze obsah vyrovnávací paměti CLIPBOARD.

  • PRIMARY
    • Vyrovnávací paměť pro výběr „PRIMARY“ přijímá data, když uživatel označí text myší. Text v této vyrovnávací paměti je vložen, když uživatel stiskne prostřední tlačítko myši v poli pro zadávání textu v aplikaci. Tato vyrovnávací paměť pro vyjmutí a vložení je starší funkcí, o které se noví uživatelé zpravidla nedozvídají, aby nedocházelo k hromadnému zmatení. Většina moderních aplikací tuto vyrovnávací paměť podporuje. Je to jediná vyrovnávací paměť, kterou xterm používá.
  • CLIPBOARD
    • Výběrová vyrovnávací paměť „CLIPBOARD“ se používá pro funkce vyjmutí a vložení, které většina uživatelů zná: Výběr položek nabídky „vyjmout“, „kopírovat“ nebo „vložit“ z nabídky „Úpravy“ aplikace nebo použití odpovídajících klávesových zkratek CTRL-X, CTRL-C nebo CTRL-V. Tato vyrovnávací paměť výběru je standardním prostředkem pro provádění operací vyjmutí a vložení ve většině moderních aplikací. Ve výchozí konfiguraci však xterm tuto vyrovnávací paměť výběru bohužel vůbec nepoužívá.

Z důvodu použití více vyrovnávacích pamětí nelze text zvýrazněný v xtermu vložit do moderní aplikace pomocí klávesy CTRL-V (nebo Edit->Paste). Vyrovnávací paměť PRIMARY je často přepsána neúmyslným zvýrazněním dříve, než je uživatel připraven vložit.

Pokud například uživatel zvýrazní adresu URL v xtermu, přepne se do Firefoxu a stiskne ALT-D, aby přešel na panel URL, pak Firefox automaticky zvýrazní starý obsah panelu URL, čímž přepíše vysoce nestabilní vyrovnávací paměť PRIMARY dříve, než uživatel může vložit novou adresu URL!