Копирование файла в панель другого Фара

Хотите предложить идею нового плагина или знаете, что улучшить в существующем? Пишите сюда.
Maximus5
Posts: 3291
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Копирование файла в панель другого Фара

Post by Maximus5 » Thu 02 Oct, 2014 09:02

Latest post of the previous page:


fml2
Posts: 490
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 1 time
Been thanked: 5 times

Re: Копирование файла в панель другого Фара

Post by fml2 » Thu 02 Oct, 2014 12:50

Но, черт побери, КАК??? И работает ли это без ConEmu?

Maximus5
Posts: 3291
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Копирование файла в панель другого Фара

Post by Maximus5 » Thu 02 Oct, 2014 12:56

ConEmu и так собирает требуемую инфу по папкам (не только в фаре, но и в cmd/powershell/etc). Показать её в меню для последующей вставки не сложно.
Без ConEmu естно не работает.

User avatar
sToLp
Posts: 691
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 31 times
Been thanked: 5 times

Re: Копирование файла в панель другого Фара

Post by sToLp » Thu 02 Oct, 2014 17:57

fml2 wrote:КАК??? И работает ли это без ConEmu?
Например, fmlua-макросом плагина MacroLib:

Code: Select all

Macro Area="Dialog.{FCEF11C4-5490-451D-8B4A-62FA03F52759}" Key="CtrlShift5" DisableOutput=0
Descr="ComEmu: выбор адреса из списка панелей Фара для вставки в диалог копирования"
{{
  Plugin.Call("4b675d80-1d4a-4ea9-8436-fdc23f2fc14b",11)
}}

Просто жмёте шорткат CtrlShift5 в диалоге копирования и затем выбираете путь из предлагаемого списка панелей работающих копий Фара.

Соответственно, Фар`ы должны быть запущены из под "плагина" ConEmu.

Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Contact:

Re: Копирование файла в панель другого Фара

Post by Kildor » Fri 03 Oct, 2014 07:01

Maximus5 wrote:Как-то так
А драгндроп в пределах одного конэму между вкладками фара можно сделать? Сейчас приходится вначале сделать драг, затем, не отпуская файл переключить консоль, и тогда уже скинуть. А хотелось бы автопереключение вкладок при перетаскивании между вкладками файлов.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru


fml2
Posts: 490
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 1 time
Been thanked: 5 times

Копирование файла в панель другого Фара

Post by fml2 » Wed 29 Oct, 2014 18:34

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

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

Как "серверная", так и "клиентская" части этого обмена преполагается реализовать в виде скрипта или плагина.

Какие у вас на этот счет соображения? Можно ли обойтись без специального потока на "сервере"?

User avatar
DrKnS
Posts: 4535
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

Копирование файла в панель другого Фара

Post by DrKnS » Wed 29 Oct, 2014 20:53

fml2 wrote: В цикле поток пытается прочитать из канала (блокирующая операция! -- поэтому и нужен отдельный поток)
Чтение бывает и неблокирующим.

fml2
Posts: 490
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 1 time
Been thanked: 5 times

Копирование файла в панель другого Фара

Post by fml2 » Thu 30 Oct, 2014 09:08

DrKnS wrote:Чтение бывает и неблокирующим.
Вы это просто так абстракто написали (тогда я полностью согласен -- конечно бывает)? Или имеете в виду какой-то конкретный способ, как это применить в данном случае? Я такого способа пока не вижу. Буду признателен за разъяснения.

fml2
Posts: 490
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 1 time
Been thanked: 5 times

Копирование файла в панель другого Фара

Post by fml2 » Mon 12 Jan, 2015 12:24

Я немного позанимался этой темой. Результаты (исходники) только что запихнул в хотелку (http://bugs.farmanager.com/view.php?id=2812). Работающего пока ничего нет, хотя, по идее, до этого уже не должно быть далеко.

User avatar
John Doe
Бюрократ
Posts: 11078
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Копирование файла в панель другого Фара

Post by John Doe » Mon 12 Jan, 2015 12:42

fml2, я очень сомнеаюсь, что это обязательно встраивать в фар.
Как идея для плагина - отлично, но при чём тут мантис...

fml2
Posts: 490
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 1 time
Been thanked: 5 times

Копирование файла в панель другого Фара

Post by fml2 » Mon 12 Jan, 2015 15:47

John Doe wrote: я очень сомнеаюсь, что это обязательно встраивать в фар
А я и не считаю нужным встраивать это в Фар. Это должен быть плагин.
John Doe wrote: но при чём тут мантис...
При том, что хотелка описана там. Или надо было выложить исходники в форуме? Я сначала так и хотел сделать, но потом подумал, что на Мантис будет более правильно. Или надо было создать какой-то отдельный проект? Где?

User avatar
John Doe
Бюрократ
Posts: 11078
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Копирование файла в панель другого Фара

Post by John Doe » Mon 12 Jan, 2015 15:56

fml2 wrote: А я и не считаю нужным встраивать это в Фар. Это должен быть плагин.
Должен ли этот плагин входить дистрибутив фара, и поддерживаться силами FAR Team?

Если да, то мантис это правильное место.

fml2
Posts: 490
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 1 time
Been thanked: 5 times

Копирование файла в панель другого Фара

Post by fml2 » Mon 12 Jan, 2015 22:25

Пока что это только хотелка, поэтому я думаю, что Мантис -- не совсем неправильно. А дальше пусть решают "боссы".

iva
Posts: 123
Joined: Sat 02 Nov, 2013 21:32
Been thanked: 3 times

Копирование файла в панель другого Фара

Post by iva » Mon 12 Jan, 2015 23:26

Я, конечно, может и не прав, но мне кажется, что реализовать эту "хотелку" можно было бы, если бы можно было запускать макрос по событию FE_REDRAW из панелей. Тогда этот макрос мог бы записывать, например, в специальный файл пути к директориям отображаемым в панелях, а другой экземпляр Far при необходимости этот файл бы считывал.
Если я не ошибаюсь с таким сценарием, то может быть можно пересмотреть вот это
Сообщение Shmuel » Ср 06 фев, 2013 03:59

John Doe писал(а):Действительно ли в перспективе все эти события станут доступны макросам?


Что касается панельных событий, то они предназначены для плагинов, создающих панели. А остальное по идее можно реализовать.

.

User avatar
John Doe
Бюрократ
Posts: 11078
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Копирование файла в панель другого Фара

Post by John Doe » Tue 13 Jan, 2015 08:47

iva wrote: если бы можно было запускать макрос по событию FE_REDRAW из панелей.
Об этом есть запись на багтрекере: http://bugs.farmanager.com/view.php?id=2826
iva wrote: Если я не ошибаюсь с таким сценарием,
Тут основная задача в другом: грамотно реализовать межпроцессное взаимодействие (IPC)

User avatar
Max Rusov
Posts: 3599
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 6 times
Contact:

Копирование файла в панель другого Фара

Post by Max Rusov » Tue 13 Jan, 2015 08:50

John Doe wrote:Тут основная задача в другом: грамотно реализовать межпроцессное взаимодействие (IPC)
Проще всего - через Shared Memory.

Post Reply

Return to “Предложения и идеи”

Who is online

Users browsing this forum: No registered users and 1 guest