Кіріспе

Таңдаулар, кесу буферлері және сүйреп тастау – X терезе жүйесінде пайдаланушыға деректерді бір терезеден екіншісіне беруге мүмкіндік беретін механизмдер. Таңдаулар мен кесу буферлері әдетте пайдаланушы терезеде мәтін немесе басқа деректерді таңдап, оны басқа терезеге қойғанда қолданылады. Сүйреп тастау әдісінде пайдаланушы терезеде бір нәрсені таңдап, содан кейін таңдалған элементті басып, басқа терезеге сүйрейді. Екі терезе әртүрлі қолданбалармен басқарылатындықтан, осы механизмдер дерек алмасу үшін бір X серверіне қосылған екі клиенттің өзара әрекеттесуін қажет етеді. X терезе жүйесінің негізгі протоколы таңдау алмасуға қатысты сұраулар мен оқиғаларды қамтиды, бірақ деректерді беру көбінесе оқиғаларды жіберу және терезе қасиеттерін пайдалану арқылы жүзеге асырылады, бұл таңдау алмасуға тән емес. Әртүрлі дерек түрлерін беруге болады: көбінесе мәтін, бірақ сондай-ақ сурет, сан, нысандар тізімі сияқты деректер де жіберілуі мүмкін. Бұдан әрі тек мәтінмен жұмыс істеу қарастырылады.

Клипборд

Ең көп қолданылатын таңдау - PRIMARY таңдауы, және пайдаланушы деректерді таңдағанда ол қолданылады. CLIPBOARD таңдауы пайдаланушы деректерді таңдап, оларды клипбордқа "көшіруді" тікелей сұрағанда қолданылады, мысалы, бағдарламаның "Өңдеу" мәзірінен "Көшіру" функциясын шақырғанда. "Қою" сұранысы CLIPBOARD таңдауындағы деректерді пайдалануға әкеледі. Негізгі протокол деңгейінде PRIMARY және CLIPBOARD таңдаулары арасында ешқандай айырмашылық жоқ. Бірақ xclipboard клиенті оларды әртүрлі әрекет етуге мәжбүрлейді. Атап айтқанда, егер басқа клиент CLIPBOARD таңдауына иелік ететінін көрсетсе, бұл бағдарлама оны сұрап, терезеде көрсетеді. Осы таңдауға келесі кез келген сұраныс xclipboard арқылы өңделеді. Осылайша, таңдаудың мазмұны клиент оны көшіргеннен кейін де сақталады.

Кесу буферлері

Кесу буферлері – деректерді, әсіресе таңдалған мәтінді берудің тағы бір механизмі. Олар CUT BUFFER1 және т.б. деп аталатын түбір терезенің терезе қасиеттері болып табылады. Таңдаулардан өзгеше, кесу буферлері клиенттер арасында тікелей өзара әрекеттесуді қажет етпейді. Терезенің иесі мәтінді таңдағанда, оны CUT BUFFER1 деп аталатын түбір терезенің қасиетіне көшіреді. Пайдаланушы мәтінді басқа терезеге қойғанда, терезе иесі осы қасиетті түбір терезеден оқиды. xcutsel бағдарламасы таңдаулар мен кесу буферлері арасында деректерді алмастырады, ал xcb бағдарламасы кесу буферлеріне әртүрлі қол жеткізуге мүмкіндік береді. Кесу буферлері қолданыстан шыққан деп есептеледі.