Latest post of the previous page:
sToLp, на обсуждение хотелок сейчас времени нет, так что без меня. В заключение, если сочтёте нужным - на мантис.Поведение, когда нужно сделать выбор из нескольких макросов
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Поведение, когда нужно сделать выбор из нескольких макросов
идея возможно хорошая. я понимаю, что хранение клавиши в конце описания макроса оправдано простотой реализации в качестве макроса. но зачем предлагать это тащить в «коробку»? просто дополнительное поле postkey, в котором хранить или строку или массив строк — гораздо лучше и масштабируемее.sToLp wrote: ↑Sun 22 Oct, 2017 10:223. Стационарные макросы дополнить проверенной временем полезной функциональностью, уже более двух лет реализуемой сервисным макросом, обеспечивающим запуск макросов из меню выбора макросов, при наличии в конце поля description обозначения запускающего ключа. По возможности, предпочтительнее было бы иметь эту функциональность "из коробки".
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Поведение, когда нужно сделать выбор из нескольких макросов
Когда-то обсуждали, что было бы удобно иметь возможность задавать дополнительные поля в таблице макроса.
На мантисе не нашёл, стоит завести виш. Edit: http://forum.farmanager.com/viewtopic.php?f=15&t=10966
Если для описаний, то и description можно сейчас многострочный создавать.
Почему не написать макрос для перемещения к началу определения?
Last edited by John Doe on Mon 23 Oct, 2017 13:59, edited 1 time in total.
Поведение, когда нужно сделать выбор из нескольких макросов
Именно так. К примеру, текущая реализация меню выбора макросов на хоткей F5 у меня выглядит И наибольшее удобство для меня представляют хоткеи/шорткаты, завершающие строки этого меню. По ним можно запускать соответствующие позиции, и их не нужно всякий раз вытягивать из памяти, поскольку они перед глазами.
Если, при этом, хоткеи/шорткаты, первые из содержащихся в этом поле (т.е. проставленные пользователем в самом его начале), будут дополнительно выводиться в конце строк данного меню (вслед за содержанием поля description), то я двумя руками за такое решение. Поскольку, к тому же, похоже, что такое поле одновременно стало бы реализацией и второй хотелки.
С учётом вышеизложенного, по данной позиции так и сделал.
Кажется, я пропустил информацию об этом.
Но коли так, то передо мною встаёт проблема выбора: либо использовать description как на иллюстрации выше (под спойлером), либо дополнять его необходимой поясняющей пользовательской информацией. Ведь одновременно то эти позиции, кажется, не совместимы? Тем с большей надеждой буду ждать результатов реализации виша по предыдущей позиции.
Хотелка вынесена на обсуждение, чтобы выяснить: не предпочтительнее ли и для других форумчан был бы переход к началу макроса, а не к позиции action? Если же ответ нет (т.е. переход к action предпочтительнее) или ответ не однозначен, то и виш заводить не стоит. И тогда решением будет макрос.
Last edited by sToLp on Sun 22 Oct, 2017 20:30, edited 1 time in total.
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Поведение, когда нужно сделать выбор из нескольких макросов
Совсем автоматически не будут, но ваш скрипт может и это делать.
Но я тут подумал, что с дополнительным полем не так всё просто: сторонний скрипт (ваш) должен как-то получить к нему доступ, и мне пока не ясно как.
Одно из возможных направлений — возможность заменить меню конфликта макросов своей функцией (ещё одна тема для мантиса).
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Поведение, когда нужно сделать выбор из нескольких макросов
Не было об этом никакой специальной информации.
Любая строка может содержать символы перевода строки, вот и всё. Но как вы это собрались использовать я не знаю.
Ничего об этом не знаю. Вы просили только многострочное поле, которое можно будет где-то там как-то использовать.
Если что, то такая возможность есть давным давно, если использовать rebind + альтернативные макробраузеры (на выбор: macrobrowseralt или luamanager).
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Поведение, когда нужно сделать выбор из нескольких макросов
Редактирование макроса из Macro Browser: переходить к началу спецификации, а не к определению action (отделил обсуждение, поскольку вопрос касается не только меню конфликта макросов)
Вопрос описания макросов тоже выходит за рамки данной темы, к тому же существует специальная: Скрипты: система их названий и описаний. Обсуждение продолжил там.
Вопрос описания макросов тоже выходит за рамки данной темы, к тому же существует специальная: Скрипты: система их названий и описаний. Обсуждение продолжил там.
Поведение, когда нужно сделать выбор из нескольких макросов
Сейчас при наличии в конкретной макрообласти более одного макроса с одинаковым ключом и с одинаковым наибольшим приоритетом выводится меню выбора макроса. А макросы с меньшими приоритетами остаются как бы "спрятанными" за его пределами. И вызвать их можно только через макробраузеры или по другим ключам.
А нельзя ли функцию
Чтобы
Это не только дало бы возможность по-быстрому вызывать макросы с любыми приоритетами. Но и кроме того позволило бы активно использовать штатное поле
Например, редко используемые макросы, справочные макросы и макросы, дублирующие нативные команды Far`а, можно было бы помечать пониженным приоритетом и в нужные моменты оперативно дополнять ими "базовые" меню выбора и также изымать их оттуда. И делать это можно было бы простыми макросами-переключателями, применяя эту самую
А нельзя ли функцию
eval(S[,Mode[,Lang]])
дополнить ещё одним опциональным параметром что-то типа: eval(S[,Mode[,Lang[,Prior]]])
, с допустимыми значениями параметра Prior
0 и 1, где 0: значение по умолчанию, а 1: игнорировать priority
? Чтобы
eval
могла отключать влияние priority
и, тем самым позволяла бы выводить в меню выбора макросов макросы с каждым приоритетом. Это не только дало бы возможность по-быстрому вызывать макросы с любыми приоритетами. Но и кроме того позволило бы активно использовать штатное поле
priority
для вывода ещё более гибких меню выбора макросов, удобно добавляя к обычным также и расширенные их варианты. Например, редко используемые макросы, справочные макросы и макросы, дублирующие нативные команды Far`а, можно было бы помечать пониженным приоритетом и в нужные моменты оперативно дополнять ими "базовые" меню выбора и также изымать их оттуда. И делать это можно было бы простыми макросами-переключателями, применяя эту самую
eval
, дополненную новым параметром.- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Поведение, когда нужно сделать выбор из нескольких макросов
Безотносительно сути пожелания: функцию eval необходимо оставить в покое.
Она и так страшна, поскольку (а) совмещает черезчур много функций (б) в целях совместимости поддеживаются и экзотические, в современной практике ненужные.
Вот как раз функционал работы с макросами имхо стоит реализовать заново, отдельной функцией, предусмотрев потенциальные интересные возможности.
Поведение, когда нужно сделать выбор из нескольких макросов
Спасибо за информацию! Для получения первого опыта я привёл длину строк в макросах своего сообщения в соответствие с этой величиной. И заодно сделал в них некоторые маленькие оформительские поправки без изменения функциональности.
Что же касается сути проблемы ситуативного включения в меню выбора макросов также и макросов с пониженным приоритетом, то, на мой взгляд, решение этого вопроса, получившееся благодаря изобретательности John Doe, всё же больше подходит для отдельных энтузиастов, а не для массы "рядовых" пользователей. Исходя из моего опыта, предпочтительнее было бы иметь "централизованное" решение. И желательно бы в форме некой новой команды, подаваемой клавишей или клавишесочетанием (м.б. даже тем же двойным нажатием Shift`а) непосредственно в меню выбора макросов, и обеспечивающей включение и выключение показа в этом меню макросов с пониженным приоритетом.
И если Вы не против, то я всё-таки отправил бы такой виш на мантис.
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Поведение, когда нужно сделать выбор из нескольких макросов
sToLp, для отправки виша на мантис не нужно разрешения.
За всей вашей перепиской с John Doe я не очень тщательно следил, поэтому желательно сформулировать виш на мантисе, желательно отделив главное от менее главного. Если ваш пост выше излагает всё, что требуется, то это выглядит не слишком сложно для реализации.
За всей вашей перепиской с John Doe я не очень тщательно следил, поэтому желательно сформулировать виш на мантисе, желательно отделив главное от менее главного. Если ваш пост выше излагает всё, что требуется, то это выглядит не слишком сложно для реализации.
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Поведение, когда нужно сделать выбор из нескольких макросов
На мой взгляд перед массой рядовых пользователей вопрос это просто не стоит, а ваш случай весьма специфичен.
Имхо, конечно.
Поведение, когда нужно сделать выбор из нескольких макросов
Со стороны, возможно, виднее. Однако первое, что я предполагаю сделать, когда будет реализован виш, это спрятать "подпол" почти всю уйму моих банальных макросов, дублирующих нативные команды Far`а. И, насколько я знаю, у многих рядовых пользователей таких команд тоже поднакапливается немало. А к специфичным подобные макросы навряд ли можно отнести. Во всяком случае, вреда от реализации виша я не предполагаю.
Спасибо за совет! Обязательно попробую сделать.
Подумаю и попытаюсь, но не уверен, что это у меня получится.
А вот по этому пункту без Вашей помощи я точно пока что ни чего не смогу сделать, поскольку ни того, ни другого ни разу и не пробовал даже, кажется.
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Поведение, когда нужно сделать выбор из нескольких макросов
Редкоиспользуемые команды накапливается конечно, но то как с этим справляетесь вы - весьма специфично.
Обычно же приоритеты используются для того, чтобы отсеять ненужные в данном контексте макросы (в идеале до 1 макроса, который сразу же и запустится, без меню).
Я не утверждаю, что ваш способ плох, отнюдь. Просто он не универсален.
Поведение, когда нужно сделать выбор из нескольких макросов
Так он же никогда и не претендовал на универсальность. Однако, согласитесь, что он и не противоречит указанному Вами способу, позволяющему "отсеять ненужные в данном контексте макросы", не препятствует его применению. А, как раз, дополняет его и, тем самым, расширяет возможности применения приоритетов. А это и есть ни что иное как некоторое прибавление (небольшое, но заметное) к универсальности полю priority.