Менеджер закладок для папок

Здесь выкладываются готовые к использованию макросы и скрипты.
Post Reply
IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Менеджер закладок для папок

Post by IgorZ »

Данный скрипт позволяет назначать на папки и файлы закладки (закладка может содержать ссылки как на одну, так и на несколько целей, для разных панелей; подробнее во встроенной справке скрипта) и переходить по ним (или запускать их средствами ОС), а также по переменным окружения, содержащим пути. Идея взята у Shell Bookmark (с) Max Rusov, текст написан с нуля.
Скрипт содержит три макроса.
  • Сохранение текущей папки в новой закладке.
    Клавиша вызова: RCtrl+Shift/RAlt+последовательность клавиш.
  • Переход по закладке.
    Клавиша вызова: RCtrl+последовательность клавиш.
  • Меню закладок и настроек.
    Клавиша вызова: RCtrl+/.

Требуемая версия Far 3.0.4324+.

Attachments
BookmarkManager.3.0.3.7z
(24.5 KiB) Downloaded 75 times
Last edited by IgorZ on Mon 09 Dec, 2019 12:26, edited 16 times in total.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Менеджер закладок для папок

Post by IgorZ »

Latest post of the previous page:

Mauro72 wrote:Same errors IgorZ
Try to replace string 228 from

Code: Select all

  l = obj:Enum(key)
to

Code: Select all

  if key then l = obj:Enum(key) end -- если есть - прочитаем содержимое

User avatar
Mauro72
Posts: 216
Joined: Wed 11 Aug, 2010 00:23
Location: Rosario, Argentina
Been thanked: 9 times

Менеджер закладок для папок

Post by Mauro72 »

Excellent IgorZ!
No more errors. Thanks men!

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Менеджер закладок для папок

Post by IgorZ »

Версия 2.0.1 - Исправление обнаруженных ошибок, чуть оптимизации

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Менеджер закладок для папок

Post by IgorZ »

Версия 2.1.0 - Добавлена работа из командной строки через префиксы. Можно переходить по закладкам и переменным окружения, добавлять/редактировать в диалоге/удалять закладки. Рефакторинг. Исправление кучи внезапно обнаруженных ошибок.
Пара замечаний.
1. Поскольку изначальный способ работы со скриптом - нажатие Ctrl-комбинаций, то все вводимые имена закладок преобразуются в допустимые символы. К примеру, Игры->BUHS (то есть, команда bm:Игры полностью аналогична по эффекту команде bm:BUHS.
2. Также при переделке были обнаружены несколько потенциальных ошибок, как мелких, так и довольно неприятных. Самое загадочное - как на них до сих пор никто не напоролся? Видимо, народ не пользуется возможностью задавать небуквенные закладки. На всякий случай: в диалоге редактирования или вставки новой закладки в поле имени можно проверить, какие символы доступны для имён закладок. Заодно, может, ещё какие-нибудь интересные не отловленные ошибки вылезут.

GAAlex
Posts: 17
Joined: Sun 16 Aug, 2015 05:48
Been thanked: 2 times

Менеджер закладок для папок

Post by GAAlex »

Вопрос: а возможно реализовать вложенность меню? было бы очень удобно

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Менеджер закладок для папок

Post by sToLp »

Поскольку изначальный способ работы со скриптом - нажатие Ctrl-комбинаций, то все вводимые имена закладок преобразуются в допустимые символы. К примеру, Игры->BUHS (то есть, команда bm:Игры полностью аналогична по эффекту команде bm:BUHS
Это весьма полезное свойство, т.к. оно удобно для тех, кому приходится часто работать в русской раскладке тоже.
И поэтому указание на это свойство макроса, имхо, хорошо бы поместить в шапку и справку.

И нельзя ли ещё для удобства добавить также возможность вызова макроса по префиксу :?
То есть чтобы, к примеру, закладку "Игры" можно было вызывать командой ::Игры (или ::Buhs), а меню макроса просто командой ::
(Если я не ошибаюсь, ныне префикс : плагинами не занят, а раньше, в Фар1, он применялся в плагине Alias)

User avatar
HaRT
Moderator
Posts: 9336
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 100 times
Been thanked: 213 times

Менеджер закладок для папок

Post by HaRT »

sToLp wrote: (Если я не ошибаюсь, ныне префикс : плагинами не занят, а раньше, в Фар1, он применялся в плагине Alias)
Так ведь и сейчас кто-то наверняка пользуется этим плагином уже в Фар 3. Поэтому, считаю, нехорошо по умолчанию занимать этот префикс. Но ничего не имею против возможности задать его осознанно явно.
Фар есть инструмент, а не нянька. © 2009 DrKnS

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Менеджер закладок для папок

Post by IgorZ »

GAAlex wrote:Вопрос: а возможно реализовать вложенность меню? было бы очень удобно
Технически возможно всё. Ну или практически всё. Но Ваше предложение противоречит назначению скрипта: быстрому созданию закладок и переходу по ним. Меню здесь - вспомогательный инструмент, и усложнять основную функциональность ради какой-то не особо важной фишки в дополнительной я не буду. К тому же неясно, зачем вообще вложенные меню. Вы собираетесь завести себе сотни закладок, раз боитесь потеряться в отсортированном плоском списке?
P. S. Впрочем, если Вы сумеете переубедить меня, разумно и логично обосновав необходимость вложенных меню если не для всех, то хотя бы для многих, то, возможно, сделаю.

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Менеджер закладок для папок

Post by IgorZ »

sToLp wrote:
Поскольку изначальный способ работы со скриптом - нажатие Ctrl-комбинаций, то все вводимые имена закладок преобразуются в допустимые символы. К примеру, Игры->BUHS (то есть, команда bm:Игры полностью аналогична по эффекту команде bm:BUHS
Это весьма полезное свойство, т.к. оно удобно для тех, кому приходится часто работать в русской раскладке тоже.
И поэтому указание на это свойство макроса, имхо, хорошо бы поместить в шапку и справку.

И нельзя ли ещё для удобства добавить также возможность вызова макроса по префиксу :?
То есть чтобы, к примеру, закладку "Игры" можно было вызывать командой ::Игры (или ::Buhs), а меню макроса просто командой ::
(Если я не ошибаюсь, ныне префикс : плагинами не занят, а раньше, в Фар1, он применялся в плагине Alias)
1. Допишу. Будет в следующей версии.
2. Вызов меню префиксом сделаю.
3. Насчёт префикса ":" - не знаю, проверю, получится ли.

P. S.
Проверил.
П. 2 уже работает. При наборе bm: выводится меню со списком всех закладок и переменных окружения. Правда, там возможно только переходить, функции добавления/редактирования/удаления недоступны. Оставить так, или необходима полная функциональность?
П. 3 не получится. Добавить префикс ":" не выходит, он тупо не появляется в списке доступных. Дополнительная проверка показала, что односимвольные префиксы вообще не работают, хоть и появляются в списке префиксов плагина (кроме ":").

GAAlex
Posts: 17
Joined: Sun 16 Aug, 2015 05:48
Been thanked: 2 times

Менеджер закладок для папок

Post by GAAlex »

IgorZ
Смысл в том, что у меня портабельная сборка, лежащая в Dropbox, да еще я ее таскаю для настройки компов.
Соответственно пункты меню примерно такие:
1. Работа
2. Дом
2.1 Фильмы
2.1.1 Фильмы на D диске
2.1.2 Фильмы на F диске
3 Общие
4 Служебные каталоги для настройки

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Менеджер закладок для папок

Post by IgorZ »

GAAlex wrote:IgorZ
Смысл в том, что у меня портабельная сборка, лежащая в Dropbox, да еще я ее таскаю для настройки компов.
Соответственно пункты меню примерно такие:
1. Работа
2. Дом
2.1 Фильмы
2.1.1 Фильмы на D диске
2.1.2 Фильмы на F диске
3 Общие
4 Служебные каталоги для настройки
Для начала, компьютерозависимые закладки посоветую вынести в локальные (и вообще разделить локальную и переносимую части профиля, если это не было сделано раньше). Это позволит выкинуть в каждом случае заведомо ненужные ссылки (зачем на работе ссылки на фильмы с домашнего компьютера?). Кстати, по фильмам: они что, лежат каждый в своей папке, и Вы их регулярно пересматриваете? Вряд ли, значит там не так много ссылок. Теперь считаем, сколько ссылок имеем на одном компьютере и прикидываем, все ли они нужны. На используемые раз в месяц вряд ли имеет смысл делать закладки. В общем, если Вы не помните каждую закладку на память, то у Вас их, скорее всего, слишком много, или Вы используете возможности скрипта нерационально.
И ещё. В скрипте с недавних пор есть механизм выбора. Вы набираете часть имени закладки, и скрипт выдаёт Вам список, отфильтрованный по введённому шаблону. Если Вы дёте закладкам осмысленные имена, то это позволит Вам получать каждый раз небольшой список (даже если всего у Вас будет несколько сот закладок).
В общем, попробуйте сначала рационально использовать уже имеющиеся возможности.

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Менеджер закладок для папок

Post by sToLp »

IgorZ wrote:При наборе bm: выводится меню со списком всех закладок и переменных окружения. Правда, там возможно только переходить, функции добавления/редактирования/удаления недоступны. Оставить так, или необходима полная функциональность?
Разумеется, более широкая функциональность меню была бы удобнее. И, прежде всего, хотелось бы иметь возможность использовать хоткеи для переходов по закладкам прямо из этого меню. Ну и, конечно, добавлять/редактировать/удалять закладки.

Полагаю, что раз уж Вы спросили об этом, то наверняка имеете представление о том, как это сделать.

Касательно же префикса : будем надеяться, что фартим подскажет, или найдёт способ. Раньше ведь этот префикс использовался. Значит, в принципе, возможно? В крайнем случае, можно будет попробовать эмулировать его алиасом. К примеру, алиас :=lua:Plugin.Menu("4EBBEFC8-2084-4B7F-94C0-692CE136894D","7CD7B065-FC92-4859-AFB1-F042485542B5") отлично вызывает меню макроса.
Last edited by sToLp on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Добавлена ссылка на отделённую тему

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Менеджер закладок для папок

Post by IgorZ »

sToLp wrote:
IgorZ wrote:При наборе bm: выводится меню со списком всех закладок и переменных окружения. Правда, там возможно только переходить, функции добавления/редактирования/удаления недоступны. Оставить так, или необходима полная функциональность?
Разумеется, более широкая функциональность меню была бы удобнее. И, прежде всего, хотелось бы иметь возможность использовать хоткеи для переходов по закладкам прямо из этого меню. Ну и, конечно, добавлять/редактировать/удалять закладки.
Начиная с версии 1.2.1 хоткеи в меню поддерживаются. Нажмите RCtrl и набирайте с ним желаемую закладку. В справке, кстати, это есть, хоть и несколько коряво изложено.
Кстати, добавлять/редактировать/удалять закладки охота только из полного меню, или из сокращённого тоже? С сокращённым могут быть подводные камни.
sToLp wrote:Полагаю, что раз уж Вы спросили об этом, то наверняка имеете представление о том, как это сделать.
Полагаю, что раз уж я написал этот скрипт, то имею представление о том, как внести желаемые изменения. :) Тем более, что в данном случае они будут минимальны.
sToLp wrote:Касательно же префикса : будем надеяться, что фартим подскажет, или найдёт способ. Раньше ведь этот префикс использовался. Значит, в принципе, возможно? В крайнем случае, можно будет попробовать эмулировать его алиасом. К примеру, алиас :=lua:Plugin.Menu("4EBBEFC8-2084-4B7F-94C0-692CE136894D","7CD7B065-FC92-4859-AFB1-F042485542B5") отлично вызывает меню макроса.
Поживём - увидим. У префикса ":" есть один недостаток. Поскольку он очень удобен для набора, больше, чем какой-либо другой, то претендовать на него будут все. Я бы предложил сделать его вызовом последнего набранного префикса или чем-то в этом роде.

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

Менеджер закладок для папок

Post by sToLp »

IgorZ wrote: Начиная с версии 1.2.1 хоткеи в меню поддерживаются.
Увидел, что , и подумал, что их нет. Теперь, кажется, разобрался, что есть. Спасибо за подсказку!
Кстати, добавлять/редактировать/удалять закладки охота только из полного меню, или из сокращённого тоже?
Главное, чтобы команды можно было вызывать из меню макроса, вызываемое через меню плагинов. Но ведь это тоже уже и сейчас делается вроде бы клавишами F4, F5, Ins и Del. А что такое "сокращённое меню"?

IgorZ
Posts: 679
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 56 times

Менеджер закладок для папок

Post by IgorZ »

sToLp wrote:
Кстати, добавлять/редактировать/удалять закладки охота только из полного меню, или из сокращённого тоже?
Главное, чтобы команды можно было вызывать из меню макроса, вызываемое через меню плагинов. Но ведь это тоже уже и сейчас делается вроде бы клавишами F4, F5, Ins и Del.
Тогда я вообще не понял, о чём была хотелка.
sToLp wrote:А что такое "сокращённое меню"?
На картинке Ваше меню? Тогда, если Вы при нажатом RCtrl наберёте TE и отпустите RCtrl, то выйдет сокращённое меню из пунктов TEST,SystemDrive,SystemRoot,TEMP. В нём можно только перейти по закладке или отказаться от перехода, редактирование, добавление и удаление недоступны. То же самое произойдёт при наборе в командной строке bm:te. Сокращённые меню присутствуют с версии 2.0, в истории версий упомянуты.

Arama
Posts: 114
Joined: Mon 01 Jun, 2015 12:14
Has thanked: 8 times
Been thanked: 4 times

Менеджер закладок для папок

Post by Arama »

Отличный макрос!
Но нельзя ли как-нибудь отключить RCtrl+последовательность клавиш и оставить только RCtrl+/.
У меня после установки перестали работать хоткеи RCtrl+L, RCtrl+O к которым я очень привык.
Сам я не силен в написании макросов.
Хотелось бы иметь версию lite, где можно было бы только вызывать по RCtrl+/ и стрелочками выбирать куда переходить.

Post Reply

Return to “Полезные макросы и скрипты”