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