FW: clipboard
Antala Mario
Mario.Antala na siemens.com
Čtvrtek Srpen 21 14:17:18 CEST 2003
obsiahla a vycerpavajuca odpoved postacujuca na hladanie riesenia.
vdaka ;-)
m.
ps: ak vyriesim, dam vediet.
--> -----Original Message-----
--> From: Lubos Lunak [mailto:l.lunak na email.cz]
--> Sent: Saturday, August 16, 2003 9:25 PM
--> To: linux na linux.cz
--> Subject: Re: FW: clipboard
-->
-->
--> Antala Mario wrote:
-->
--> >
--> > -----BEGIN PGP SIGNED MESSAGE-----
--> > Hash: SHA1
--> >
--> > caute,
--> >
--> > jedina vec, ktora ma v poslednej dobe na linuxe stve je clipboard.
--> > pri pracovani v X-och (WindowMaker, KDE, Gnome atd.) je problem
--> > prenasat data medzi aplikaciam cez clipboard.
--> > obcas je problem, obcas nie je. zavisi od aplikacie a od
--> niecoho co
--> > sa mi nepodarilo vystopovat (dufam, ze ziadna bulharska
--> konstanta:)
--> >
--> > v kde je aj nejaky clipboard tool. v nom je skutocne
--> vsetko, co som
--> > kedy skopiroval, ale napriek tomu sa mi nedari dostat do
--> niektorych
--> > aplikacii data cez Ctrl-V (napr.IDEA). je to chyba
--> aplikacie, alebo
--> > nejakeho nastavenia? aj ked v kde ten clipboard tool vypnem (v
--> > ostatnych wm nic take nepouzivam), nic to neriesi.
--> >
--> > vie niekto ako dosiahnut fungovanie clipboardu na 100% ?
-->
--> No, to by vyzadovalo neco tak na urovni mensiho heroickeho
--> vykonu. Ne ze by
--> to bylo zase tak slozite, ale autori X tady prekonali svuj
--> prumer a dotahli
--> dost do extremu svoji filozofii
--> hlavne-at-pane-boze-nekomu-neco-nezakazeme.
--> Jinymi slovy, popis clipboardu v X
--> (http://tronche.com/gui/x/icccm/sec-2.html) podrobne a
--> precizne popisuje,
--> jak prenes nejaka data a oznaceni jejich typu mezi dvema
--> aplikacemi, a tam
--> ta podrobnost a preciznost konci. Popisy typu clipboardu
--> (ano, je jich
--> vice, ten dokument jim rika selections) jsou tezce vagni, a
--> standardizovane
--> typy dat pro komunikaci jsou nedostatecne. Neboli je dost
--> jednoduche to
--> zvorat, v lepsim pripade udelat navzajem nekompatibilne, a
--> je v vlastne
--> zazrak, ze to mezi ruznymi aplikacemi alespon nejak funguje.
-->
--> Je to zhruba asi takhle:
-->
--> Ty druhy selections jsou 3 : PRIMARY, SECONDARY a
--> CLIPBOARD. Do PRIMARY se
--> obvykle data vlozi tak, ze se proste oznaci mysi (tj.
--> obvykle je to jen na
--> text), z PRIMARY se data potom vyndaji prostrednim
--> tlacitkem mysi. K cemu
--> je SECONDARY, to asi tusi malokdo. CLIPBOARD je takovy ten klasicky
--> clipboard znamy treba z Windows - vlada se do nej obvykle
--> Ctrl+C, Ctrl+X
--> (nektere aplikace tim Ctrl+Ins nebo jak to je), vyndava se
--> z nej Ctrl+V.
-->
--> Pro to, aby se obe aplikace dohodly na prenosu dat pres
--> clipboard, ze musi
--> dohodnout na:
--> 1) pouziti spravne selection - nektere aplikace/toolkity
--> treba vesele
--> pouzivaji jen jeden druh selection a ostatni (resp. ten
--> druhy, kdyz se bude
--> ignorovat SECONDARY) neberou na vedomi - ne ze by to tedy
--> delaly vyslovene
--> spatne - ten popis nahore je jen konvence, nic zavazneho,
--> aplikace si v
--> podstate muze pouzivat jako klavesove zkratky chce a jakou
--> selection chce
-->
--> 2) pouziti stejneho typu dat (resp. prijemce musi umet
--> alespon jeden typ,
--> ktery nabidne vlastnik clipboardu) - ted uz se sice
--> pouzivaji jako typy
--> vetsinou mime types (text/plain,image/png, atd.), ale i
--> tady se aplikacim
--> povede si vymyslet vlastni typy nebo neco podobneho
-->
--> 3) stejne implementaci selections - i tady se chybicka
--> obcas stane, ta
--> pravidla pro tohle jsou sice precizni, ale neni to uplna
--> brnkacka (vlastni
--> zkusenost). Pokud si tohle aplikace neresi sama, ale
--> pouziva toolkit, tak
--> si tim vetsinou vyresi dost problemu, a staci ji jen
--> pouzivat spravnou
--> selection, vybrat vhodny typ dat pro prenos, a data z/do
--> nej transformovat.
--> To neni az takova drina.
-->
-->
-->
--> Pokud mate problem s prenosem dat clipboardem mezi dvema
--> aplikacemi, tak
--> zkuste zjistit, ktera z nich je vinik, treba zkuste jak jde
--> oboum prenost
--> do neceho "nezavisleho" (xterm,kwrite,gedit,mozilla,...).
--> Pak navstivte
--> bugreport system patrici k aplikaci, ktera prohrala, a
--> problem popiste. Ja
--> vim, to je neco na urovni mensiho heroickeho vykonu. Jenze
--> to je asi tak
--> jediny realny zpusob, jak situaci zlepsit :-/.
-->
-->
--> BTW, Klipper (=clipboard tool z KDE) tady obcas muze
--> pomoct - jednak dela
--> historii, coz se dost hodi, jednak si pamatuje obsah
--> clipboardu i kdyz tak
--> aplikace co ho nastavila se ukonci (jinak by se "vymazal"),
--> jednak kdyz se
--> nektera z tech polozek v te historii explicitne vybere, tak
--> se nastavi do i
--> PRIMARY i CLIPBOARD, coz se muze hodit u aplikaci ktere
--> maji problem s 1),
--> a v posledni rade Qt u nekterych typu dat nabizi vetsi
--> mnozstvi typu (treba
--> obrazky asi v 10-ti formatech), takze i to muze obcas
--> pomoct. Na druhou
--> stranu obcas Klipper muze i nejaky ten problem zpusobit,
--> protoze Qt v tom
--> kodu tykajiciho se clipboardu melo par bugu, a jeste se mi nepovedlo
--> vsechny opravy protlacit, takze nekdy naopak vypnuti
--> Klipperu muze situaci
--> i vylepsit :( .
-->
--> --
--> Lubos Lunak
--> KDE developer
--> l.lunak na kde.org l.lunak na email.cz
Další informace o konferenci Linux