вроде раньше в истории последняя строка была пустой.
Re: Улучшение макросов из поставки фара
Posted: Wed 24 Apr, 2013 08:21
by HaRT
t-rex wrote:вроде раньше в истории последняя строка была пустой.
Ни в 1.75 (build 2634), ни в 2.0 (build 1694) пустой строки в истории нет.
John Doe wrote:Для чего может понадобиться макрос, открывающий предпоследний файл истории?
Чтобы в самом деле открыть предпоследний файл. Я регулярно подобным пользуюсь, когда надо по очереди менять пару файлов и что-то вне фара перепроверять.
Re: Улучшение макросов из поставки фара
Posted: Wed 24 Apr, 2013 09:02
by John Doe
HaRT wrote:Чтобы в самом деле открыть предпоследний файл. Я регулярно подобным пользуюсь, когда надо по очереди менять пару файлов и что-то вне фара перепроверять.
Не возражаю против того, чтобы пользоваться "подобным", но как пользоваться именно "этим" я не понял, хотя поставил, и честно пытался применять.
Поведение не очень предсказуемо, а мануал не прилагается.
Предлагаю убрать из поставки, или заменить на подобное, если у кого есть.
P.S.
Во втором посте другие претенденты на удаление.
Re: Улучшение макросов из поставки фара
Posted: Wed 24 Apr, 2013 09:06
by DrKnS
HaRT wrote:
t-rex wrote:вроде раньше в истории последняя строка была пустой.
Ни в 1.75 (build 2634), ни в 2.0 (build 1694) пустой строки в истории нет.
Потому что она была убрана гораздо раньше, в 2562/850 соответственно.
Улучшение макросов из поставки фара
Posted: Wed 24 Apr, 2013 09:50
by Skirda
John Doe wrote:Смысла View.CtrlUpDown.lua я вообще не понял.
В редакторе Ctrl-Down что делает? Правильно, скроллирует текст вверх, оставляя позицию курсора на месте относительно лево-верха консольного окна.
Во вьювере руки машинально сами тянуться нажать ту же комбинацию, но результат иной.
Собственно это ради таких "криворучек", как я
John Doe wrote:Предлагаю убрать из поставки, или заменить на подобное, если у кого есть.
Ну что за мания всё удалять... предложи замену, а не удаление.
Re: Улучшение макросов из поставки фара
Posted: Wed 24 Apr, 2013 09:59
by John Doe
Skirda wrote:Во вьювере руки машинально сами тянуться нажать ту же комбинацию, но результат иной.
Тогда другое дело, но в таком случае надо описание подправить, и имя файла, чтобы не возникало вопросов о назначении.
Skirda wrote:Ну что за мания всё удалять... предложи замену, а не удаление.
Замену "чего"? Поставьте задачу.
Сейчас выяснили, что Up просто лишний. Значит макрос служит для открытия последнего закрытого файла.
Имеет право быть, наверно...
Или давайте желаемое поведение - предложим замену.
Re: Улучшение макросов из поставки фара
Posted: Wed 24 Apr, 2013 10:08
by Skirda
John Doe wrote:
Skirda wrote:Во вьювере руки машинально сами тянуться нажать ту же комбинацию, но результат иной.
Тогда другое дело, но в таком случае надо описание подправить, и имя файла, чтобы не возникало вопросов о назначении.
Предложения?
"Скроллинг на одну строку, как в редакторе...."
John Doe wrote:Сейчас выяснили, что Up просто лишний. Значит макрос служит для открытия последнего закрытого файла.
Имеет право быть, наверно...
В те далекие лихие годы, когда земля была горячей... Изначально, когда была пустая строка в историях, макрос исполнял свою задачу - открывал последний файл. Потом просто забыли его поправить - бывает же такое
John Doe wrote:Или давайте желаемое поведение - предложим замену.
Up убери и получишь нужное поведение (Opening last...).
С Up`ом, как писали выше, мы получаем поведение "открыть предпоследний файл".
Re: Улучшение макросов из поставки фара
Posted: Wed 24 Apr, 2013 10:13
by John Doe
Skirda wrote:Предложения?
"Скроллинг на одну строку, как в редакторе...."
Учитывая, что правки нужны всем дистрибутивным макросам я это сам поправлю, главное было понять цель.
t-rex wrote:вроде раньше в истории последняя строка была пустой.
Ни в 1.75 (build 2634), ни в 2.0 (build 1694) пустой строки в истории нет.
John Doe wrote:Для чего может понадобиться макрос, открывающий предпоследний файл истории?
Чтобы в самом деле открыть предпоследний файл. Я регулярно подобным пользуюсь, когда надо по очереди менять пару файлов и что-то вне фара перепроверять.
Macro {
description="Opening previous view/edit (from history)";
area="Viewer Editor Shell QView Tree Info Search"; key="Ctrl'";
flags="NoSendKeysToPlugins";
action=function()
Far.DisableHistory(0x4)
Keys"AltF11"
local pos = 0
repeat
for i=1,pos do Keys"Up" end
Keys"Enter"
if Area.Dialog then --already opened
Keys"Esc AltF11"
pos = pos+1
end
until Menu.Id~=far.Guids.HistoryEditViewId
end;
}
Предлагаю такой макрос взамен малофункциональному текущему (AltF11 Up Enter)
С каждым нажатием будет открываться следующий файл из истории.
Улучшение макросов из поставки фара
Posted: Tue 04 Sep, 2018 09:45
by John Doe
John Doe wrote: ↑Tue 04 Sep, 2018 09:04
взамен малофункциональному текущему (AltF11 Up Enter)
Эксперименты показали, что текущий тоже становится более осмысленным, если добавить в его начало Far.DisableHistory().
После этого он ведёт себя идентично моему, за исключением того, что нижняя строка пропускается всегда (что было правильным только пока она была пустой).
Но я хотел бы акцентировать внимание на другом, на том что Far.DisableHistory() в данном случае открывает перед нами фичу, в других случаях не проявляющуюся: если файл открыт из истории, то порядок истории не меняется, причём повторно история открывается с курсором, установленным на только что открытый файл.
Определённо это не случайно, когда-то было намеренно реализованно именно так, а впоследствии поломалось.
Предлагаю рассмотреть возможность исправления.
Впрочем, не факт, фича вроде бы доступна по Shift+Enter.
Улучшение макросов из поставки фара
Posted: Tue 04 Sep, 2018 10:02
by John Doe
С учётом выясненного, исправить исходный макрос можно проще:
local lastitem
Macro {
description="Opening previous file from view/edit history";
area="Viewer Editor Shell QView Tree Info Search"; key="Ctrl'";
flags="NoSendKeysToPlugins";
action=function()
Keys"AltF11"
if Menu.Value==lastitem then
Keys"Up"
end
lastitem = Menu.Value
Keys"ShiftEnter"
end;
}
Улучшение макросов из поставки фара
Posted: Tue 04 Sep, 2018 10:50
by Shmuel
Общее соображение по поводу макросов из поставки - у них 2 цели: (1) собственно возможное полезное применение и (2) как наглядное пособие для юзеров-неспециалистов в макросах. 2-я цель мне представляется не менее важной, чем 1-я. Ясно, что если там будут навороченные макросы (как правило, с недостаточным количеством комментариев), то 2-я цель не достигается. Поэтому я не уверен в том, что стоит эти макросы сильно совершенствовать.
Улучшение макросов из поставки фара
Posted: Tue 04 Sep, 2018 11:06
by John Doe
Абсолютно согласен, что слишком наворачивать не стоит (хотя в поставке есть и сложные).
Сам стараюсь упрощать (пусть и в ущерб универсальности), но ведь в любом случае, макрос прежде всего должен выполнять заявленную функцию, поэтому тут всегда будет некий компромисс.
John Doe wrote: ↑Tue 04 Sep, 2018 10:02
С учётом выясненного, исправить исходный макрос можно проще:
local initial
Macro {
description="Opening previous file from view/edit history";
area="Viewer Editor Shell QView Tree Info Search"; key="Ctrl'";
flags="NoSendKeysToPlugins";
action=function()
Keys"AltF11"
initial = Object.Eof and not initial
if not initial then Keys"Up" end
Keys"ShiftEnter"
end;
}
Проще можно было бы сделать только если в фаре вернётся пустая нижняя строка историй (чего я уверен не случится).
P.S.
Что до комментариев, то кое-где можно было бы добавить ссылки на форум.
Но не уверен что надо.