Je schránky realizován Xlib nebo které mají být provedeny jednotlivými aplikacemi

hlasů
2

ICCCM definovány tři výběry 1) primární 2) sekundární 3) schránky. Ale v Xlib, xatom.h byl definován jen XA_PRIMARY a XA_SECONDARY ale schránky nemá žádnou takovou atom. Takže moje pochybnost je, zda schránka je realizován Xlib nebo musí být provedena jednotlivými aplikacemi, jako jsou primární a sekundární?

Pokud má být provedena jednotlivými aplikacemi, jak různé aplikace bude komunikovat s schránky jako v kopii z okna jednoho aplikace a vložte do okna jiné aplikace ..? Jak společný vyrovnávací paměť je sdílena různými aplikacemi? Může mi někdo pomoci při vlastní realizaci schránky v systému Linux ..? I prošel tímto odkazem . Ale já jsem dint najít mnoho informací o implementaci.

Položena 04/11/2013 v 03:44
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

Schránka musí být implementována uvnitř na serveru X11 (s množstvím podpůrných kód uvnitř sady nástrojů), prostě proto, že jsou data sdílena všemi klienty X11.

Je definován ICCCM a ewmh konvencí a ve vztahu k desktopové prostředí . Může se použít některé jiné než předem definované, ale konvenčně pojmenované atomy X11 (existuje mnoho takových konvenčních atomy nejsou předdefinované v xatom.h).

Budete lépe využívat některé stávající soubor nástrojů, jako je Qt nebo Gtk (nebo FOX nebo FLTK). Jsou to svobodný software, a ty by mohly nahlédnout, pokud opravdu chcete. Pro Qt, podívejte se do QClipboard pro GTK, podívejte se do GtkClipboard . Takže nemáte opravdu starat o tom, které atomy a protokol X11 se používá k jejich realizaci.

freedesktop.org má mnoho zdrojů, například to , nebo WM-spec atd atd atd ...

Viz také wikipages na výběr X Windows , protokolu X Window System a architektury , XDND a číst protokolu X11 specifikace.

Odpovězeno 04/11/2013 v 04:01
zdroj uživatelem

hlasů
3
bash $ xlsatoms | fgrep CLIPBOARD
231     CLIPBOARD
bash $ fgrep -r XA_CLIPBOARD /usr/include/X11
/usr/include/X11/Xmu/Atoms.h:    _XA_CLIPBOARD,
/usr/include/X11/Xmu/Atoms.h:#define XA_CLIPBOARD(d)            XmuInternAtom(d, _XA_CLIPBOARD)

Takže máme atom, žádný problém s tím. Můžete také jen stážista je podle jména.

Výběr CLIPBOARD je realizován stejným způsobem jako ostatní výběry. Jediný rozdíl je ten okamžik, kdy se vlastnictví výběru tvrdil. Pro primární, to je tvrdil, když uživatel vybere něco; pro schránky, je to, když uživatel řezy nebo kopie.

Odpovězeno 04/11/2013 v 06:37
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more