Page 1 of 13

Общесистемный буфер обмена

Posted: Sun Feb 17, 2008 5:49 pm
by Gluk
Предлагаю сделать хотябы примитивный (как в Винде) текстовый буфер обмена.. а то ведь доходит до того, что в tinipad'е между двумя окошками совсем нет связи! нет, я знаю что можно открыть второй файл на новой вкладке, но это не удобно.. к тому же если будет поддержка этого буфера обмена в libGUI, получится вообще чудесно! Почему я сам за это не возьмусь? просто я ведь программист прикладного уровня, в ядро не лезу, и я считаю что работа с буфером должна происходить посредством системной функции с двумя подфункциями: записью и чтением..

Re: Общесистемный буфер обмена

Posted: Sun Feb 17, 2008 6:37 pm
by Ghost
буфер реализовать нужно именно в прикладных библиотеках, в ядре ему не место
P.S. там и так *овна всякого много

Re: Общесистемный буфер обмена

Posted: Sun Feb 17, 2008 6:43 pm
by Gluk
"буфер реализовать нужно именно в прикладных библиотеках" - как же копировать, сккажем, из Тинипада, и вставить, к примеру, в libGUI'шное окошко ввода имени файла?

Re: Общесистемный буфер обмена

Posted: Sun Feb 17, 2008 7:00 pm
by Ghost
нужно чтобы и тинипад и либгуи использовали одну и туже библиотеку, например сам либгуи, какие проблемы??? )))

Re: Общесистемный буфер обмена

Posted: Sun Feb 17, 2008 7:16 pm
by Gluk
навроде так чтобы был такой компонент - клиент буфера обмена?

Re: Общесистемный буфер обмена

Posted: Sun Feb 17, 2008 7:47 pm
by Ghost
ну да, и пусть в памяти висит посотянно

Re: Общесистемный буфер обмена

Posted: Sun Feb 17, 2008 10:11 pm
by bw
Или пусть буфер на винте где хранится.

..bw

Re: Общесистемный буфер обмена

Posted: Mon Feb 18, 2008 12:34 am
by Gluk
я бы не создавал темы, если бы знал как это реализовать на прикладном (моем) уровне.

Re: Общесистемный буфер обмена

Posted: Mon Feb 18, 2008 9:45 pm
by Albom
по моему мнению, оптимальный вариант - приложение-монитор, выделяющее нужный объём памяти и указывающий какой тип информации хранится в буфере (текст, битмап, список файлов)

Re: Общесистемный буфер обмена

Posted: Mon Feb 18, 2008 10:14 pm
by paladinrus
Gluk wrote:я бы не создавал темы, если бы знал как это реализовать на прикладном (моем) уровне.
А чо IPC или как там его не жжот?)

Re: Общесистемный буфер обмена

Posted: Tue Feb 19, 2008 12:11 am
by SHREDER
Мое имхо надо передавать данные через temp файл, дабы уменьшить кол-во используемой памяти, это медленне зато проще реализовать и памяти кушается на очень много меньше. Тем более механизма свопинга (подкачки) нету.

Re: Общесистемный буфер обмена

Posted: Tue Feb 19, 2008 12:44 am
by Serge
SHREDER
И куда хранить temp файл если два раздела NTFS, а рамдиск забит до отказа ?

Re: Общесистемный буфер обмена

Posted: Tue Feb 19, 2008 8:56 am
by <Lrz>
Тема общесистемного буфера обмена уже поднималась, я предлагал использовать xml для описания формата данных, или что -то на подобии. Однако, в настоящий момент это достаточно сложно реализуется и потребует ввести поддрежку библиотеки.

Re: Общесистемный буфер обмена

Posted: Tue Feb 19, 2008 5:28 pm
by paladinrus
Имхо проще делать как предлагали Ghost и Albom. То-есть типа приложения-монитора, который постоянно висит в памяти, само приложение памяти по минимому будет занимать. А для описания данных вполне одного байта хватит.

Re: Общесистемный буфер обмена

Posted: Tue Feb 19, 2008 6:19 pm
by k@sTIg@r
На данный момент идеальный вариант отдельное приложение, общатся с ним посредством IPC (ох он будет тормозной).
Больше вариантов на самом деле нет(Serge написал почему не катит вариант с файлами, с ядром думаю тоже все понятно).
Но лучше так не делать. Лучше сразу делать правильно. Иначе сейчас все заточатся на этот "временный вариант", а потом будет тяжко с него слезать. Начнутся всякие извращения с обратной совместимостью и т.п.
Самый правильный вариант - shared objects, все и так это знают...