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

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

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

Post by IgorZ »

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

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

Attachments
BookmarkManager.3.0.5.7z
(24.77 KiB) Downloaded 31 times
Last edited by IgorZ on Fri 22 May, 2020 07:34, edited 19 times in total.

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

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

Post by sToLp »

Latest post of the previous page:

IgorZ wrote:
sToLp wrote:Нельзя ли сделать некую опцию для экспорта/импорта настроек макроса?
В общем, вот.
Круто! И эффектно! И эффективно! Порадовали! Спасибо! :Yahoo!:

Скачав и установив, тут же перенёс настройки на трёх переносных дисках на одной машине, и на двух стационарных дисках на двух других машинах. Везде Win10x64. Завтра посмотрю на Win10x32, Win7x64 и Win7x32. И, предчувствую, что результат будет неизменно превосходным.

IgorZ
Posts: 689
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 60 times

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

Post by IgorZ »

Версия 2.3.0 - Теперь можно использовать в командной строке конструкции вида "bm:<метка><подкаталог>", к примеру, "bm:фильмы\Мульфильмы\Фиксики". Nfo. Смена места хранения данных. Разделение префиксов. При выводе справки используется язык справки фара. Улучшение быстрого позиционирования в главном меню. Мелкие правки.
Внимание: в связи со сменой места хранения данных рекомендую перенести настройки скрипта при помощи специальной утилиты. Хотя, в принципе, должен и старые настройки находить, если новых нет. Но не гарантирую, что в любых обстоятельствах, и что так будет и в последующих версиях.

IgorZ
Posts: 689
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 60 times

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

Post by IgorZ »

Версия 2.3.1 - В прошлой версии забыл сменить uid на id в зависимости от версии LuaMacro. Изменено определение Info.

Fedia
Posts: 30
Joined: Tue 06 Oct, 2009 12:22

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

Post by Fedia »

Поставил, возникло пару вопросов:
1. Чем скрипт отличается от штатного "Меню пользователя"?
2. Пытаюсь добавить записи из плагина Network:
- захожу на ресурс из панели Network, вызываю "Менеджер закладок: меню закладок" жму Ins (думал скрипт сюда подставит текущий путь, но нет) добавляю запись "net:\\192.168.1.1\files\". Но при вызове по Etner ничего не происходит. Как правильно добавить запись для Network?
3. Как добавить запись из плагина NetBox?

IgorZ
Posts: 689
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 60 times

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

Post by IgorZ »

Fedia wrote:Поставил, возникло пару вопросов:
1. Чем скрипт отличается от штатного "Меню пользователя"?
2. Пытаюсь добавить записи из плагина Network:
- захожу на ресурс из панели Network, вызываю "Менеджер закладок: меню закладок" жму Ins (думал скрипт сюда подставит текущий путь, но нет) добавляю запись "net:\\192.168.1.1\files\". Но при вызове по Etner ничего не происходит. Как правильно добавить запись для Network?
3. Как добавить запись из плагина NetBox?
1. Практически всем, кроме схожего внешнего вида.
2, 3. Удобнее делать это из панелей. Как именно - описано в справке скрипта.

User avatar
Dennis_Moore
Posts: 287
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 14 times

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

Post by Dennis_Moore »

При попытке удаления закладки (Local bookmarks) выскакивает ошибка [FAR3 b4944]:


IgorZ
Posts: 689
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 60 times

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

Post by IgorZ »

Dennis_Moore wrote:При попытке удаления закладки (Local bookmarks) выскакивает ошибка [FAR3 b4944]:

Недоправил когда-то. Надо заменить в строке 362
local key = obj:OpenSubkey(obj:OpenSubkey(0,Author) or 0,KeysPart) -- раздел
на
local key = ob:OpenSubkey(ob:OpenSubkey(0,Author) or 0,KeysPart) -- раздел. Или, иначе говоря, позаменять в ней (и только в ней) obj на ob.

User avatar
Dennis_Moore
Posts: 287
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 14 times

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

Post by Dennis_Moore »

Спасибо, работает!

IgorZ
Posts: 689
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 60 times

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

Post by IgorZ »

Версия 2.4.0 - Скрипт можно вызывать из меню дисков; показываются только актуальные пункты (если закладка настроена только для правой панели, нет смысла показывать её для левой). Исправлены замеченные ошибки. Мелкие правки.

Skaramush
Posts: 48
Joined: Mon 16 May, 2011 04:03
Has thanked: 3 times
Been thanked: 1 time

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

Post by Skaramush »

Несколько ночных билдов назад (текущий - 3.0 build 4956 x64) появилась проблема: при переходе по любой закладке вида

Code: Select all

  ╔═════════════════════════════════════ Менеджер закладок ═════════════════════════════════════╗  
  ╟───────────────────────────────────────── Закладки ──────────────────────────────────────────╢  
  ║  LOC-LYNCPHOTO │ D:\info\фото\lync_photos                                                   ║

появляется окно вида

Code: Select all

   ╔══════════════════════════════╗   
   ║ <A> D:\info\фото\lync_photos ║   
   ╚══════════════════════════════╝  
и не исчезает до нажатия любой клавиши. После нажатия любой клавиши окно закрывается, переход происходит, а внизу в командной строке появляется наименование клавиши, нажатием на которую, было закрыто окно:

Code: Select all

║errorreporting.ad
╟─────────────────
║..               
╚═════════════════
D:\distr\1>Shift 
Проблема воспроизводится как на версии скрипта 2.3.1, так и на версии 2.4.0.
ОС: Win10 Корп x64

IgorZ
Posts: 689
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 60 times

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

Post by IgorZ »

Skaramush wrote:Несколько ночных билдов назад (текущий - 3.0 build 4956 x64) появилась проблема:
Не моё. У меня там вообще вывода никакого в принципе нет. Получается, это eval или Keys так глючить начал. А сообщение не исчезает - это к mf.waitkey вопрос. Что уж там нарефакторили - не знаю. Судя по сообщению на Ru.Board, "сильно вероятно что это последствия b4952".

User avatar
DrKnS
Posts: 5600
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 298 times

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

Post by DrKnS »

IgorZ wrote: Не моё
Таки ваше.
Если вы хотите "<0 - message will be not displayed" - то сообщение вообще не надо выводить, а не выводить и делать waitkey c отрицательным временем, надеясь, что оно как бы сразу истечёт и сообщение закроется.

Waitkey никогда логику "отрицательное время - это типа оно сразу истекло" не поддерживал, а "работало" оно только потому, что время в этом случае было представлено 32-битной величиной, при прибавлении к которой (unsigned)-1 == 4294967295 происходило целочисленное переполнение.
Теперь время в этом случае 64-битное, переполнения не происходит и сообщение будет честно висеть запрошенные 49 дней и 17 часов.

IgorZ
Posts: 689
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 60 times

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

Post by IgorZ »

DrKnS wrote:
IgorZ wrote: Не моё
Таки ваше.
Если вы хотите "<0 - message will be not displayed" - то сообщение вообще не надо выводить, а не выводить и делать waitkey c отрицательным временем, надеясь, что оно как бы сразу истечёт и сообщение закроется.

Waitkey никогда логику "отрицательное время - это типа оно сразу истекло" не поддерживал, а "работало" оно только потому, что время в этом случае было представлено 32-битной величиной, при прибавлении к которой (unsigned)-1 == 4294967295 происходило целочисленное переполнение.
Теперь время в этом случае 64-битное, переполнения не происходит и сообщение будет честно висеть запрошенные 49 дней и 17 часов.
"Не моё" относилось к выводу нажатой клавиши. Специально сейчас проверил с последней ночнушкой - если поставить, к примеру, 10000 и нажать клавишу до исчезновения сообщения, она таки выводится в командной строке.
За пояснение относительно waitkey спасибо.

User avatar
DrKnS
Posts: 5600
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 298 times

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

Post by DrKnS »

IgorZ wrote: "Не моё" относилось к выводу нажатой клавиши. Специально сейчас проверил с последней ночнушкой - если поставить, к примеру, 10000 и нажать клавишу до исчезновения сообщения, она таки выводится в командной строке.
Это тоже ваше.
Я в луа понимаю, как свинья в апельсинах, но:
  1. for c in seq:gmatch(".") do -- для каждой ранее нажатой клавиши
  2.   if eval(mod..c,2)<0 then Keys(mod..c)
seq здесь - строка с именем клавиши, которую вы попросили waitkey() вам вернуть. Вы её посимвольно проходите и каждый символ исполняете. Что просили - то и получили.

IgorZ
Posts: 689
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 13 times
Been thanked: 60 times

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

Post by IgorZ »

Обидно чувствовать себя балбесом. Таки ошибки были действительно свои, причём одна из них была предусмотрена, исключена, а затем снова привнесена путём опечатки (причиной другой была честная лень). Так что
Версия 2.4.1 - Исправлены свежевыявленные ошибки.
Ищите новые...

vasyabelkin
Posts: 1
Joined: Mon 31 Jul, 2017 20:11
Has thanked: 1 time

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

Post by vasyabelkin »

IgorZ, Если вызвать меню сразу после установки плагина, получим

Code: Select all

 C:\progs\conTools\Far\Plugins\LuaMacro\LuaMacro.dll:
 ...g\far\Macros\scripts\BookmarkManager\BookmarkManager.lua:427: attempt to get length of local 'l' (a nil value)
 stack traceback:
    ...g\far\Macros\scripts\BookmarkManager\BookmarkManager.lua:427: in function 'prep_menu'
    ...g\far\Macros\scripts\BookmarkManager\BookmarkManager.lua:488: in function 'BMMenu'
    ...g\far\Macros\scripts\BookmarkManager\BookmarkManager.lua:605: in function 'action'
    C:\progs\conTools\Far\Plugins\LuaMacro\LuaMacro.lua:426: in function <C:\progs\conTools\Far\Plugins\LuaMacro\LuaMacro.lua:380>
Гляньте, пожалуйста

Post Reply

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