View Issue Details

IDProjectCategoryView StatusLast Update
0002812WishesCopy/Movepublic2015-01-12 14:21
Reporterfml2Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0002812: Копирование файла в панель другого Фара
DescriptionЕсли запущено несколько экземпляров Фара, то хотелось бы иметь возможность скопировать файл из активной панели не только в пассивную, но и в каталоги, отображенные в других экземплярах Фара.

Обсуждение на форуме: http://forum.farmanager.com/viewtopic.php?f=7&t=8946

Там это предлагалось оформить в виде плагина, но т.к. подходящей существующей категории для оформления хотелки нет, то я записываю это в категорию общих пожеланий.
TagsNo tags attached.
Build

Activities

fml2

2015-01-12 14:21

reporter   bugnote:0013396

Несколько недель назад я поковырялся с этим. Получилось немного. Но т.к. в ближайшее время заниматься этим у меня не будет ни времени, ни желания, то выкладываю результаты сюда в надежде, что кто-нибудь продолжит.

Общая идея описана на форуме: http://forum.farmanager.com/viewtopic.php?style=3&p=124897#p124897 Цитата оттуда:

Нужно реализовать межпроцессовую коммуникацию. Можно сделать это так: при старте Фара создается канал (Named Pipe) с именем, в котором имеется номер текущего процесса Фара. Далее запускается отдельный поток (threaad). В Этом потоке цыполняется бесконечный цикл. В цикле поток пытается прочитать из канала (блокирующая операция! -- поэтому и нужен отдельный поток), читает данные, интерпретирует их как команду (о формате надо договориться) и пишет результат обратно в канал.

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

Я создал плагин, состоящий из клиентской и серверной части. Клиентскую часть должны будут использовать все модули/плагины, которые захотят общаться с другими экземплярами Фара.

В принципе, с Фаром сможет общаться любой процесс, соблюдающий протокол общения.

fml2

2015-01-12 14:21

reporter  

FarPipeRPC.zip (13,031 bytes)

Issue History

Date Modified Username Field Change
2014-09-30 23:24 fml2 New Issue
2015-01-12 14:21 fml2 Note Added: 0013396
2015-01-12 14:21 fml2 File Added: FarPipeRPC.zip