Пользовательское меню и символ @
Пользовательское меню и символ @
Уже довольно большое количество билдов, в том числе в последнем стабильном, лог отрабатывания консольных приложений из пользовательского меню отражается при включенных панелях. Панели уезжают вверх, пока не будет евент их перерисовки, а также история не сохраняется - по CtrlO лога не видно.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Пользовательское меню.
Latest post of the previous page:
tstrА разве это замечание автоматически попало в svn?
Вывода ПОВЕРХ панелей быть не должно. Объясните зачем он вам.Smitis wrote:Какая разница, что там выводят консольные программы и куда? Почему это должно мешать восстановить полностью панели?John Doe wrote:Подумайте откуда на экране мусор.
Нормален ли вообще вывод ПОВЕРХ панелей, пусть даже фар в конце и перерисует панели как надо.
Если незачем, то примите меры, т.е. или перенаправьте в nul, или уберите @
Да, фар мог бы определять что выполняемая команда - это консольное приложение, и сам глушить его вывод, или хотя бы перерисовывать панели после.
Но как верно сказано, это НЕШТАТНАЯ ситуация, и всякие дополнительные фичи вокруг неё не просто имеют мало смысла, но и могут навредить.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: Пользовательское меню.
Как раз мне вывод в данной ситуации и не нужен. Но это может произойти совершенно случайно (например, скрипт не должен ничего выводить, но осталась команда, выводящая отладочную информацию в ситуации, возникающей раз в полгода и т.п.)John Doe wrote:Вывода ПОВЕРХ панелей быть не должно. Объясните зачем он вам.
Разум когда-нибудь победит.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Пользовательское меню.
Вот как раз об этой ситуации я и говорю: если программа нештатно выводит на экран какие-то данные, то затирать их не годится.
Re: Пользовательское меню.
а разве кто-то предложил патч?John Doe wrote:tstr
А разве это замечание автоматически попало в svn?
В реальном мире немного по-другому. Несмотря на ИИ ФАРа приложения пишут поверх панелей. это факт. пока нет "дополнительных фичей" ищем воркараунд. Ваше настойчивое "или перенаправьте в nul, или уберите @" не помогает (и не должно в общем случае).John Doe wrote:Вывода ПОВЕРХ панелей быть не должно. Объясните зачем он вам.Smitis wrote:Какая разница, что там выводят консольные программы и куда? Почему это должно мешать восстановить полностью панели?John Doe wrote:Подумайте откуда на экране мусор.
Нормален ли вообще вывод ПОВЕРХ панелей, пусть даже фар в конце и перерисует панели как надо.
Если незачем, то примите меры, т.е. или перенаправьте в nul, или уберите @
Да, фар мог бы определять что выполняемая команда - это консольное приложение, и сам глушить его вывод, или хотя бы перерисовывать панели после.
Но как верно сказано, это НЕШТАТНАЯ ситуация, и всякие дополнительные фичи вокруг неё не просто имеют мало смысла, но и могут навредить.
это вопрос спорный.John Doe wrote:Вот как раз об этой ситуации я и говорю: если программа нештатно выводит на экран какие-то данные, то затирать их не годится.
если бы можно было отдельные команды LuaMacro исполнять в общем контексте запуска, то это решило бы задачу и многострочного хранения, и сабжа, напр. так:
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Пользовательское меню.
Выше я просил привести пример, никто не привёл.tstr wrote:В реальном мире немного по-другому. Несмотря на ИИ ФАРа приложения пишут поверх панелей. это факт. пока нет "дополнительных фичей" ищем воркараунд. Ваше настойчивое "или перенаправьте в nul, или уберите @" не помогает (и не должно в общем случае).
А в общем случае - должно помогать.
А второй вопрос - не спорный. Или я не вижу спорящих.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: Пользовательское меню.
Привожу примерJohn Doe wrote:Выше я просил привести пример, никто не привёл.
GtrlG
@pause
В ком. строке появляется "Для продолжения нажмите любую клавишу . . ."
Пока всё нормально, что хотели, то и получили. Нажимаем anykey, управление возврашается ФАРу, но в ком. строке продолжает висеть совершенно ненужное и просто мешающее "Для продолжения нажмите любую клавишу . . .". Совершенно фантомное, его даже по AltIns не скопировать.
(Пример минимизирован для демонстрации)
Разум когда-нибудь победит.
Re: Пользовательское меню.
о том и речь что вопрос не в запуске и работе внешних факторов (программ, скриптов), а о восстановлении панелей ФАРом после завершения их вывода/работы. так какие примеры здесь уместны?John Doe wrote:Выше я просил привести пример, никто не привёл.
А в общем случае - должно помогать.
вывод команд меню пользователя "@lm:post os.execute("net use");" и "lm:post os.execute("net use");"
как и всё, что отдаёт скрипт или команды через io.write _одинаково_ портят содержание панелей, в отличие от ожидаемого результата (не говорим пока о перерисовке) при "@net use" и "net use".
John Doe wrote:А второй вопрос - не спорный. Или я не вижу спорящих.
мне также мешает мусор скриптов и программ, которые используют для вывода не вполне стандартные потоки в не вполне стандартные консоли. ведь пока из меню пользователя нет возможности перерисовать панели принудительно?Smitis wrote:Какая разница, что там выводят консольные программы и куда? Почему это должно мешать восстановить полностью панели?
Last edited by tstr on Thu 23 May, 2013 11:16, edited 1 time in total.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: Пользовательское меню.
Нет. Одно я получил то, что хотел - негашение панелей. Другое - то, что не хотел - остаток ненужной надписи на экране. И не пытайтесь меня убедить, что это какая-то жутко нужная надпись.John Doe wrote:Для чего вы использовали здесь @?
Чтобы не гасить панели.
То и получили.
Разум когда-нибудь победит.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Пользовательское меню.
Примеры в которых нельзя избавиться от мусора при штатном использовании.tstr wrote:так какие примеры здесь уместны?
Насчёт lm:post я уже писал выше.
net use - не надо запрещать гашение панелей, или перенаправляйте в nul
При нестандартном выводе программы просто не запрещайте гашение панелей, что непонятно? Уже пятый раз пишу одно и то же, и все игнорируют.tstr wrote:мне также мешает мусор скриптов и программ, которые используют для вывода не вполне стандартные потоки в не вполне стандартные консоли. ведь пока из меню пользователя нет возможности перерисовать панели принудительно?
Перерисовать сами панели - запросто, но речь обо всём экране.
LuaFAR предоставляет средства для сохранения восстановления, но использовать их в юзерменю я не пробовал.
P.S.
Почему бы вам не почитать мануал?
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Пользовательское меню.
Не пытайтесь меня убедить, что вы используете функцию негашения панелей по назначению.Smitis wrote:Нет. Одно я получил то, что хотел - негашение панелей. Другое - то, что не хотел - остаток ненужной надписи на экране. И не пытайтесь меня убедить, что это какая-то жутко нужная надпись.
Да, никто этого вам запретить не может, но тогда уж позаботьтесь об обновлении экрана сами.
Советов не даю, ведь скрипт вы не показали.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Пользовательское меню.
Попробовал.John Doe wrote:LuaFAR предоставляет средства для сохранения восстановления, но использовать их в юзерменю я не пробовал.
Сохранение и восстановление экрана должны происходить в рамках одного запуска lm.post
В противном случае, даже если хэндл передаётся через глобальную переменную, восстановление не срабатывает (хотя и far.RestoreScreen и возвращает true)
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: Пользовательское меню.
Модификатор '@' предназначен для графических приложений, ничего в консоль не выводящих, запускающихся в отдельном окне и не блокирующих фар на время своего исполнения.
Например, @notepad !.!
Ставя его перед консольными приложениями, вы сами ищете приключений.
Например, @notepad !.!
Ставя его перед консольными приложениями, вы сами ищете приключений.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Пользовательское меню.
Дополню.
Гашение панелей предназначено для того, чтобы видеть вывод консольных программ.
Именно в этом его назначение.
Если программа ничего не выводит, то гасить панели нет необходимости, и @ позволяет этого добиться.
Всё остальное может быть тоже интересно, но уже выходит за рамки задуманного и поддерживаемого.
Гашение панелей предназначено для того, чтобы видеть вывод консольных программ.
Именно в этом его назначение.
Если программа ничего не выводит, то гасить панели нет необходимости, и @ позволяет этого добиться.
Всё остальное может быть тоже интересно, но уже выходит за рамки задуманного и поддерживаемого.
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: Пользовательское меню.
Надо куда-нибудь в FAQ. Или HELP.DrKnS wrote:Модификатор '@' предназначен для графических приложений, ничего в консоль не выводящих, запускающихся в отдельном окне и не блокирующих фар на время своего исполнения.
Например, @notepad !.!
Ставя его перед консольными приложениями, вы сами ищете приключений.
Разум когда-нибудь победит.
- John Doe
- Бюрократ
- Posts: 13867
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: Пользовательское меню.
Вроде самоочевидно. Поддерживается то, что заявлено.
Что не заявленно - никто и не обещал.
Вообще в хелпе про @ по-моему нет нигде кроме EditorSettings и ViewerSettings.
А после возврата из внешних редакторов/вьюверов экран вроде как перерисовывается.
Что не заявленно - никто и не обещал.
Вообще в хелпе про @ по-моему нет нигде кроме EditorSettings и ViewerSettings.
А после возврата из внешних редакторов/вьюверов экран вроде как перерисовывается.