Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн июл 24, 2017 5:40 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 184 сообщения ]  На страницу Пред. 19 10 11 12 13 След.
Автор Сообщение
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Чт янв 02, 2014 4:46 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
punk_joker писал(а):
Если я правильно понял, то при записи номер слота не указывается, но при чтении его указать необходимо. В какой слот тогда происходит запись?

Всегда создается новый, пока лимит слотов не будет исчерпан или не закончится свободная память.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Пт янв 03, 2014 3:38 am 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1060
Правильно ли я понимаю, если скажем у нас имеется один слот, под номером 0, мы заносим новый текст в буфер, то брать его следует из слота 1. Так?

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Пт янв 03, 2014 5:01 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
punk_joker писал(а):
Правильно ли я понимаю, если скажем у нас имеется один слот, под номером 0, мы заносим новый текст в буфер, то брать его следует из слота 1. Так?

Да.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Пн янв 06, 2014 1:12 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4092
Mario_r4 писал(а):
SVN r.4343 - изменил документацию, добавил текст с блочным выделением.
Вложение:
clipboard_container_rus.txt

Вложение:
clipboard_container_eng.txt

Если кто может подправить мой кривоватый английский перевод, то просьба сделать, можно даже на SVN сразу.

Ещё не заливалось на SVN?
Неплохо бы указать в документации, что буфер - это не plain text, а он имеет специфический формат.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Пн янв 06, 2014 3:38 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Leency писал(а):
Ещё не заливалось на SVN?
Неплохо бы указать в документации, что буфер - это не plain text, а он имеет специфический формат.

Формально буфер это контейнер, а уж его формат по идее может быть любым - все исключительно на соглашениях и честном слове.
Заливал вместе с примерами http://websvn.kolibrios.org/listing.php ... 574a3a49dd

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Вт фев 25, 2014 5:05 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
SVN r.4588 функция 2 (получить код нажатой клавиши) доработана, теперь кроме ASCII еще одновременно возвращается и SCANCODE. Эта доработка необходима для реализации поддержки Ctrl+C|V в Editbox, поскольку в режиме ASCII ранее было проблематично однозначно определить нажатие нужных комбинаций клавиш, из-за меняющегося от языковой раскладки кода. Изменение API описано в файлах sysfuncr.txt и sysfuncs.txt. Также возможно возникновение глюков, в программах написанных без учета подробностей документации ф.2, так что просьба быть внимательными и сообщать на форуме о возникновении проблем в работе с клавиатурой после этой ревизии.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Вс мар 02, 2014 10:44 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Программы имеющие (на текущий момент) поддержку общесистемного буфера обмена:
1) TextEdit
2) Tinypad
3) Shell
4) Editbox (компонент Box_Lib)

Программы для которых желательно наличие поддержки общесистемного буфера обмена:
1) KFAR (встроенный редактор)
2) Calc
3) HEXEDIT
4) ASCIIVju (таблица символов)
5) Table

Есть задача написать менеджер буфера обмена. Возможно потребуется доработка ф.54, для введения функции превью.

Также возможно потребуется написать для Box_Lib компонент TextBox, чтобы можно было выведенный текст в буфер отправлять.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Вт апр 19, 2016 2:44 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 248
Написал программку, показывающую содержимое. ClipboardViewer

Пока сюда, после обкатки на SVN.

Великовата из-за статической линковки. Но libc.dll пока не в образе ISO - неудобно тестировать.


Вложения:
ClipView [41.39 КБ]
24 скачивания
clipview.c [8.11 КБ]
25 скачиваний
ClipView_Debug [60.77 КБ]
21 скачивание
Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Чт апр 21, 2016 5:59 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4092
Идея годная.

1. Перерисовка колбасит http://i.imgur.com/lC6y6xd.gif
2. И почему бинарник весит аж 41 Кб ? По-моему это перебор, если переписать на тот же С-- будет пара Киллобайт.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Чт апр 21, 2016 8:08 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1060
Leency писал(а):
Идея годная.
2. И почему бинарник весит аж 41 Кб ? По-моему это перебор, если переписать на тот же С-- будет пара Киллобайт.

Все дело в статической линковке с newlib

Давно уже думал написать подобную утилиту на FASM, но все никак руки не доходят. Если что, неотказался бы от эскиза интерфейса подобной программы. На следующей неделе времени уже должно побольше появится (сейчас сессия), возможно все же напишу программу.

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Чт апр 21, 2016 9:08 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт апр 30, 2015 11:50 pm
Сообщения: 102
Мне, как пользователю, нужна следующая информация:
1) откуда
и
2) что
по первому пункту - ПУТЬ и программа ( если в буфере не целый файл, а кусок чего нибудь)
по второму - имя файла (да, отдельно) и описание (размер, дата создания и др) файла,
ИЛИ информация по куску чего нибудь.(текст это, или же рисунок, или..).

так что эскиз должен быть явно разделён на две области, в которых можно увидеть ответы на эти два вопроса.

_________________
Юзер, просто юзер...со времён MS-DOS.


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Чт апр 21, 2016 9:26 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1163
1) Такая информация в буфере не хранится.
2) На данный момент стандартизировано 3 типа данных: текст, изображение, любые данные.


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Чт апр 21, 2016 10:44 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 248
Leency писал(а):
Идея годная.

1. Перерисовка колбасит http://i.imgur.com/lC6y6xd.gif
2. И почему бинарник весит аж 41 Кб ? По-моему это перебор, если переписать на тот же С-- будет пара Киллобайт.


Уменьшить будет можно, парой способов
-убрать вызов sprintf и зависимости от newlib
-линковать динамически
-пересобрать с уменьшенной libc, с помощью msvc, tinyc или c--

Сейчас, пока функциональность еще неокончательная, это преждевременная оптимизация.
Можно добавить по щелчку на строке в отдельном окне показ изображения, длинного текста, или добавить xml еще одним форматом обмена.

А вот почему моргает, надо думать. У меня в VmWare такого эффекта нет. Перерисовка идет каждые 0.1с.
ОС не буферизует что ли отрисовку окна между вызовами begin_draw, end_draw (sys fn 12) ?

Кстати eolite формирует отличный от всех заголовок в буфере (10 байт вместо 12) - может переделать в нем для унификации?


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Чт апр 21, 2016 11:24 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1163
Siemargl писал(а):
Перерисовка идет каждые 0.1с
Зачем?


Вернуться к началу
 Заголовок сообщения: Re: Общесистемный буфер обмена
СообщениеДобавлено: Чт апр 21, 2016 11:53 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 248
Pathoswithin писал(а):
Siemargl писал(а):
Перерисовка идет каждые 0.1с
Зачем?

Так нет же способа узнать про изменение клипборда без перечитывания.

Можно будет потом пересчитывать хэш, и не перерисовывать зря.

Upd. Наверное, с учетом того, что в буфер копируют ручками, достаточно проверять количество слотов.
А дополнительно принудительно перерисовывать, скажем раз в 5с.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 184 сообщения ]  На страницу Пред. 19 10 11 12 13 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB