Пользовательское меню и символ @

Здесь можно сообщить о найденных багах в Far.
Release
Posts: 18
Joined: Tue 21 May, 2013 05:59
Has thanked: 1 time
Been thanked: 1 time

Пользовательское меню и символ @

Post by Release »

Уже довольно большое количество билдов, в том числе в последнем стабильном, лог отрабатывания консольных приложений из пользовательского меню отражается при включенных панелях. Панели уезжают вверх, пока не будет евент их перерисовки, а также история не сохраняется - по CtrlO лога не видно.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Пользовательское меню.

Post by NightRoman »

А какие именно приложения? Я такое с некоторыми наблюдаю, но, думаю, это те, которые сами с консолью напрямую работают. С "обычными" вроде такого не наблюдается.

И разве это только из меню? А если из комстроки запустить, не то же самое будет?
2useven10
Posts: 5232
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

Re: Пользовательское меню.

Post by 2useven10 »

у меня не уезжают.
давайте детали.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Пользовательское меню.

Post by NightRoman »

2useven10 wrote:у меня не уезжают.
давайте детали.
Ждем подробностей от автора. Свой пример я выложить не могу, приложение весьма специальное, просто так не запустится.

И я не думаю, что дело в "последних" билдах.
Release
Posts: 18
Joined: Tue 21 May, 2013 05:59
Has thanked: 1 time
Been thanked: 1 time

Re: Пользовательское меню.

Post by Release »

NightRoman wrote:А какие именно приложения?
Пакетный файл, вызовом консольных команд: copy, move, net и т.п.

Пока делал скрины, писал ответ, пришла идея, что это может быть из-за спец символа предпроцессора @. Я им скрываю отображение строки выполнения самого пакетного файла.
Проверил, так и есть. Так что может это и не баг, а фича - "не мигать" панелями. Не критично, но раньше было для меня удобней. Пока убрал @ из команды меню.
NightRoman wrote:А если из комстроки запустить, не то же самое будет?
В ком.строке с @ также отрабатывает, просто никогда не использовал его там.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Пользовательское меню.

Post by t-rex »

Там опосля надо видимо всё таки перерисовывать экран.
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Пользовательское меню.

Post by John Doe »

Release wrote:Так что может это и не баг, а фича - "не мигать" панелями. Не критично, но раньше было для меня удобней. Пока убрал @ из команды меню.
А почему тогда не перенаправить вывод в nul?
Release
Posts: 18
Joined: Tue 21 May, 2013 05:59
Has thanked: 1 time
Been thanked: 1 time

Re: Пользовательское меню.

Post by Release »

John Doe wrote:А почему тогда не перенаправить вывод в nul?
Потому что мне надо скрыть не лог выполнения команды, а саму строку запуска с параметрами.
Например:

Code: Select all

D:\>net use                                                               <- Эту строку скрываем, а то что ниже нет
Новые подключения будут запомнены.


Состояние   Локальный  Удаленный                 Сеть

-------------------------------------------------------------------------------
OK           X:        \\***************\****      Microsoft Windows Network
Отсоединен   Z:        \\***********\*****         Microsoft Windows Network
Отсоединен             \\***.***.***.***\****      Microsoft Windows Network
Команда выполнена успешно.
t-rex wrote:Там опосля надо видимо всё таки перерисовывать экран.
Для меня важнее, что историю (пример выше) выполнения не посмотреть в консоли после перерисовывания. Можно конечно перенаправлять вывод в файл, но для меня было удобно так, как было раньше.
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Пользовательское меню.

Post by John Doe »

Release wrote:

Code: Select all

D:\>net use                                                               <- Эту строку скрываем, а то что ниже нет
[...]но для меня было удобно так, как было раньше.
Не было такого. И вообще польза сомнительна.
t-rex wrote:Там опосля надо видимо всё таки перерисовывать экран.
Незачем перерисовывать, пользователь может и сам перенаправить в nul либо убрать @
Release
Posts: 18
Joined: Tue 21 May, 2013 05:59
Has thanked: 1 time
Been thanked: 1 time

Re: Пользовательское меню.

Post by Release »

John Doe wrote:Не было такого. И вообще польза сомнительна.
Да, прошу прощения, видимо до этого пользовался без @ - проверил в 2 отрабатывает также.
Release wrote:Незачем перерисовывать, пользователь может и сам перенаправить в nul либо убрать @
А вот с этим не согласен, пользователь много чего может, но... с таким подходом и данный сабж не нужен, можно и проводником пользоваться или консолью.
А в данном случае поклацать дважды CtrrlO.
К тому же, есть приложения, которым "глубоко положить", куда вы там пытаетесь перенаправить вывод.
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Пользовательское меню.

Post by John Doe »

Похоже вы не совсем понимаете чего хотите.

1. Хотите видеть вывод - не добавляйте @
2. Не хотите - перенаправляйте в nul
Если в nul невозможно (а это редкость), значит остаётся вариант 1

А перерисовывать тут негде, третьего варианта нет
User avatar
HaRT
Moderator
Posts: 10868
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Пользовательское меню.

Post by HaRT »

Да человек просто хочет, чтобы ‘@’ перед командой работала так же, как в BAT/CMD-скрипте — не выводить в консоль саму команду (echo off для одной строки), а ввод-вывод как обычно. Учитывая, что через пользовательское меню может выполняться несколько команд подряд, желание вполне закономерное.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Пользовательское меню.

Post by John Doe »

Я вообще-то отвечал на предыдущее сообщение
Release
Posts: 18
Joined: Tue 21 May, 2013 05:59
Has thanked: 1 time
Been thanked: 1 time

Re: Пользовательское меню.

Post by Release »

John Doe wrote:А перерисовывать тут негде, третьего варианта нет
Честно говоря, не понял где это "тут негде", но предположу... Far, вроде как, все равно "дожидается" окончания выполнения команды меню. Что мешает вставить в конце вызов метода обновления панелей? (хотя кода я, конечно, не видел.)
HaRT wrote:Да человек просто хочет, чтобы ‘@’ перед командой работала так же, как в BAT/CMD-скрипте — не выводить в консоль саму команду (echo off для одной строки), а ввод-вывод как обычно. Учитывая, что через пользовательское меню может выполняться несколько команд подряд, желание вполне закономерное.
Спасибо, именно это меня максимально устроило бы. Честно говоря, я изначально предполагал, что оно именно так и должно было бы работать, по аналогии. Потому и воспринял данную фичу, как баг.

Наберусь наглости предложить, реализовать два варианта: или опционально, через настройки как сейчас и понятно озвученным HaRT, или через @ 2-й вариант, а через @@ (или другой символ) существующий вариант (можно и наоборот, чтобы не ломать текущее состояние - может кто-то пользуется им так, как он работает сейчас).
User avatar
John Doe
Бюрократ
Posts: 13862
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Пользовательское меню.

Post by John Doe »

Release wrote:Что мешает вставить в конце вызов метода обновления панелей? (хотя кода я, конечно, не видел.)
Ничего не мешает. Только объясните что это вам даст. В каких случаях это может быть полезно?
Post Reply

Return to “Глюки и баги”