View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002812 | Wishes | Copy/Move | public | 2014-09-30 19:24 | 2015-01-12 11:21 |
Reporter | fml2 | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | new | Resolution | open | ||
Summary | 0002812: Копирование файла в панель другого Фара | ||||
Description | Если запущено несколько экземпляров Фара, то хотелось бы иметь возможность скопировать файл из активной панели не только в пассивную, но и в каталоги, отображенные в других экземплярах Фара. Обсуждение на форуме: http://forum.farmanager.com/viewtopic.php?f=7&t=8946 Там это предлагалось оформить в виде плагина, но т.к. подходящей существующей категории для оформления хотелки нет, то я записываю это в категорию общих пожеланий. | ||||
Tags | No tags attached. | ||||
Build | |||||
|
Несколько недель назад я поковырялся с этим. Получилось немного. Но т.к. в ближайшее время заниматься этим у меня не будет ни времени, ни желания, то выкладываю результаты сюда в надежде, что кто-нибудь продолжит. Общая идея описана на форуме: http://forum.farmanager.com/viewtopic.php?style=3&p=124897#p124897 Цитата оттуда: Нужно реализовать межпроцессовую коммуникацию. Можно сделать это так: при старте Фара создается канал (Named Pipe) с именем, в котором имеется номер текущего процесса Фара. Далее запускается отдельный поток (threaad). В Этом потоке цыполняется бесконечный цикл. В цикле поток пытается прочитать из канала (блокирующая операция! -- поэтому и нужен отдельный поток), читает данные, интерпретирует их как команду (о формате надо договориться) и пишет результат обратно в канал. Если какой-то Фар хочет опросить другие экземпляры Фара, какие в них высвечиваются каталоги, он ищет все процессы Фара и посылает соответствующую команду в соответствующий канал (имя которого можно вычислить, зная номер процесса). Дальше уже дело GUI, как полученную информацию использовать. Я создал плагин, состоящий из клиентской и серверной части. Клиентскую часть должны будут использовать все модули/плагины, которые захотят общаться с другими экземплярами Фара. В принципе, с Фаром сможет общаться любой процесс, соблюдающий протокол общения. |
|
|