Вывод под панели

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
User avatar
sicvolo
Posts: 126
Joined: Tue 05 Feb, 2008 01:47
Been thanked: 1 time

Вывод под панели

Post by sicvolo »

Борюсь с проблемой Фара под линуксом. При запуске комманд из коммандной строки весь stdout/stderr улетает в консоль из которой был пущен сам ФАР, минуя при этом ФАР.

Сочинил вот такой костыль по мотивам http://forum.farmanager.com/viewtopic.php?f=57&t=8869

Code: Select all

Macro {
  area="Shell"; key="Enter";
  description="Capture stdout";
  flags="NotEmptyCommandLine";
  action=function() 
	local exec = require "execute"
	panel.GetUserScreen()
	exec(CmdLine.Value,"c:\\",function(out) io.write(out) end)
	io.write("\n")
	panel.SetUserScreen()
  end
}
(execute module от zg)

Работает, но не знаю как:
1. Отличить внешнюю комманду от внутренней команды Фара или CMD, которым костыль только мешает
2. Показывать UTF8 и уважать линуксовый EOL.
3. После panel.SetUserScreen() панели погашенны и командная строка не видна. Нужно как было до Enter.

Pls, help
ФАРева
Post Reply

Return to “Нужна помощь”