Board.KolibriOS.org
http://board.kolibrios.org/

Icon - менеджер иконок рабочего стола
http://board.kolibrios.org/viewtopic.php?f=48&t=1515
Page 30 of 30

Author:  e-andrew [ Thu Aug 14, 2014 2:58 am ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

Если проблема в больших объёмах, то вот вам такой велосипед:
IPC + SharedMemory. Создаем SM c инфой, отправляем IPC, что нужно прочесть, и читаем из SM.
Вуалая. Циклов ожидания нету, IPC передает dword (или что там минимум).

Author:  Mario_r4 [ Thu Aug 14, 2014 7:49 am ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

e-andrew
Если ты думаешь, что ты сильно оригинален в изобретении именно этого велосипеда, то ты ошибаешься. Это как раз первое, что приходит в голову после того как Serge сделал поддержку именованной памяти. Однако этот подход неудобен именно в силу двухэтапности.

Author:  GerdtR [ Thu Aug 14, 2014 2:22 pm ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

Ну с именованной зоной пропадает одна сложность - не надо искать процесс @icon, просто записал инфу и всё. И "большой объём данных" - это насколько большой? В случае с @icon - это в районе 1КБ (в худшем случае). В принципе, задержка при создании иконки даже в секунду-две - это мелочь. Никто же не собирается создавать несколько иконок в секунду?

Author:  e-andrew [ Thu Aug 14, 2014 2:26 pm ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

Я нигде не говорил, что это мой велосипед, тем более не говорил, что он оригинальный. И в двухэтапности я тоже не вижу ничего неудобного. Больше кода, да, но тут нужно выбирать: или простой, но менее эффективный цикл, или более сложная (в плане большая) процедура, но эффективная. Могу ошибаться с эффективностью, с ИПэЦэ ни разу не работал.

Author:  Mario_r4 [ Thu Aug 14, 2014 2:30 pm ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

GerdtR
В случае с именованной зоной может возникнуть другая проблема - синхронизация. Два и более потоков могут захотеть одновременно подать запрос, тут нужно продумывать протокол и они все его должны соблюдать. Именованная память тоже не панацея и у нее по сути вспомогательное значение. В общем вопрос не простой, а я может и зря поднял бучу, а может и не зря. По нескольку раз переписывать реализацию не каждый может захотеть для своего кода, если впоследствии будет внедрена новая система IPC.

Author:  Mario_r4 [ Thu Aug 14, 2014 2:34 pm ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

e-andrew wrote:
Могу ошибаться с эффективностью, с ИПэЦэ ни разу не работал.

Можешь запустить в эмуляторе Bochs систему (для большей наглядности, так как там замедление больше, чем в Qemu) и по открывать разные пункты в DOCPACK. Желательно маленькие файлы с большими. Там как раз файлы через IPC передаются в Tinypad.

Author:  CleverMouse [ Thu Aug 14, 2014 3:47 pm ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

Mario_r4 wrote:
Я не стану отрицать очевидную вещь - реализация со стороны ядра почти всегда эффективней. Однако это не меняет того факта, что текущая реализация IPC медленная и не самая удобная для передачи больших объемов данных.

Если не передавать мегабайты данных, то она не настолько медленная, чтобы оправдывать постоянное бдение приложения в ожидании.
GerdtR
Короче, используй IPC. Другого всё равно в обозримом будущем нет.

Author:  Leency [ Sat Feb 21, 2015 3:53 am ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

Rev #5439
- добавлен вывод номера иконки в окно - удобно когда добавляешь иконку в @docky и software_center знать её номер, а не высчитывать вручную
- 4 строки иконок для удобства

Attachments:
Screenshot_1.png
Screenshot_1.png [ 48.97 KiB | Viewed 2031 times ]

Author:  Leency [ Tue Sep 26, 2017 9:29 pm ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

Rev #7012
Я обновил диалог добавления/редактирования иконки: теперь используются большие шрифты и я исправил мерцание при нажатии на иконку.

+ rev #7013, #7014: из-за того что файл в оригинале имел имя @icon.asm, возникли проблемы с автосборкой, которые я поидее пофиксил, переименовав его icon.asm, в результате сборки он стает icon, а копируется на образ уже как @icon. Почему-то TUP не может найти icon.asm, возможно, нужно его перезагрузить.

Attachments:
icon_new.png
icon_new.png [ 44.43 KiB | Viewed 1402 times ]

Author:  Leency [ Fri Mar 15, 2019 4:55 pm ]
Post subject:  Re: Icon - менеджер иконок рабочего стола

Бага: Иконки были перемещены в одно место и наложены друг на друга(все 15 иконок), после нажатия - "Выровнять по сетке", иконки выровнялись по сетке в пространстве одной иконки.
Нужно добавить проверку наложения иконки на иконку.

Page 30 of 30 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/