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

Здесь выкладываются готовые к использованию макросы и скрипты.
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 74 times
Last edited by IgorZ on Mon 09 Dec, 2019 12:26, edited 16 times in total.

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

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

Post by John Doe »

Latest post of the previous page:

BFDA, не воспроизводится.
Приведите точную последовательность шагов, приводящую к проблеме.

BFDA
Posts: 19
Joined: Tue 04 Jul, 2006 10:21
Location: Москва

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

Post by BFDA »

:(

Нажимаю Ctrl-/
Появляется окно:

Code: Select all

╔════════════ Bookmark manager ════════════╗
╟──────────────── Options ─────────────────╢
║√ Use local bookmarks                     ║
║√ Use global bookmarks                    ║
║  Jump to folder message delay (ms): 1000 ║
║  Save bookmark message delay (ms): 500   ║
╚══════ Enter, Esc, F1, F4, Ins, Del ══════╝
Нажимаю Ins, набираю:

Code: Select all

 ╔════════════════ Edit bookmark ════════════════╗
 ║ Bookmark: SERVER1-C                           ║
 ║ Folder:   \\server1\c$                        ║
 ║ (•) Local bookmark    ( ) Global bookmark     ║
 ╟───────────────────────────────────────────────╢
 ║               { OK } [ Cancel ]               ║
 ╚═══════════════════════════════════════════════╝
Нажимаю Enter, получаю:

Code: Select all

╔════════════════════════════════════════════════════ LuaMacro ════════════════════════════════════════════════════╗
║ ...g\Far Manager\Profile\Macros\scripts\BookmarkManager.lua:308: bad argument #1 to 'Set' (number expected, got  ║
║ nil)                                                                                                             ║
║ stack traceback:                                                                                                 ║
║    [C]: in function 'Set'                                                                                        ║
║    ...g\Far Manager\Profile\Macros\scripts\BookmarkManager.lua:308: in function 'edit_bm'                        ║
║    ...g\Far Manager\Profile\Macros\scripts\BookmarkManager.lua:336: in function <...g\Far Manager\Profile\       ║
║ Macros\scripts\BookmarkManager.lua:235>                                                                          ║
╟──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║                                                      { OK }                                                      ║
╚══════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Far Manager, version 3.0 (build 4328) x64
Кстати, в поле Bookmark на втором скриншоте название вводится только большими буквами, это так и задумано?

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

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

Post by John Doe »

У меня не воспроизводится, зато нашёл другой баг: в существующей закладке нельзя отредактировать поле Bookmark.
(Вместо изменения существующей создаётся новая закладка)

P.S.
Ещё заметил что в меню закладок ширина для столбца Bookmark может отличаться (Local bookmarks одна ширина, а Global bookmarks другая).
Напрасно это.

BFDA
Posts: 19
Joined: Tue 04 Jul, 2006 10:21
Location: Москва

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

Post by BFDA »

В поле Bookmark название вводится только большими буквами, это так и задумано? Или это только у меня?

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

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

Post by John Doe »

BFDA wrote: В поле Bookmark название вводится только большими буквами
Так и задумано, см. стр. 285.
Суть видимо в том, что это не столько имя, сколько последовательность нажатий.

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

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

Post by IgorZ »

John Doe wrote:У меня не воспроизводится, зато нашёл другой баг: в существующей закладке нельзя отредактировать поле Bookmark.
(Вместо изменения существующей создаётся новая закладка)
Это не баг, это фича :). Так и задумано. Точнее, сознательно не удаляется старая закладка. Если действительно мешает, могу сделать старое поведение по F5, а по F4 удалять старую закладку, чтоб не плодить.
John Doe wrote:Ещё заметил что в меню закладок ширина для столбца Bookmark может отличаться (Local bookmarks одна ширина, а Global bookmarks другая).
Напрасно это.
А это бага, задумывалась одинаковая ширина. Спасибо, у себя не замечал - все имена примерно одной длины, так что не было видно.
John Doe wrote:
BFDA wrote: В поле Bookmark название вводится только большими буквами
Так и задумано, см. стр. 285.
Суть видимо в том, что это не столько имя, сколько последовательность нажатий.
Совершенно верно. Там допустимы только те символы, которые вводятся при нажатии совместно с Ctrl.

User avatar
John Doe
Бюрократ
Posts: 12738
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 36 times
Been thanked: 280 times

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

Post by John Doe »

IgorZ wrote: Если действительно мешает
Не то чтобы мешало, но ведь факт: действие не соответствует заявленному.

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

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

Post by IgorZ »

Версия 1.2.4 - Скрипт зачем-то вызывался из любых меню. Исправлено. В целях унификации с другими скриптами автора (и потенциально большей универсальности) изменен механизм языковой настройки. Языковой файл от предыдущих версий не подходит!!! Исправлена ошибка с разной шириной столбца закладок для локальных и глобальных закладок. Теперь в менеджере закладок по F4 закладка не копируется при её изменении. Для копирования закладки теперь надо жать F5.

skipik
Posts: 181
Joined: Wed 03 Jun, 2015 15:24
Has thanked: 23 times
Been thanked: 20 times

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

Post by skipik »

Имеется проблема со скриптом, в версии 1.2.4 не исправилось.
Подробнее здесь: http://bugs.farmanager.com/view.php?id=3001

skipik
Posts: 181
Joined: Wed 03 Jun, 2015 15:24
Has thanked: 23 times
Been thanked: 20 times

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

Post by skipik »

Исправлено в очередной ночной сборке.
Есть ещё вопрос, что такое символ А в одинарных кавычках в значении пути папки. Оно и в подсказках отображается при переходе.

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

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

Post by IgorZ »

BFDA wrote::(

Нажимаю Ctrl-/


Far Manager, version 3.0 (build 4328) x64
Глянул ещё раз. Попробуйте в функции edit_bm строку local key = obj:OpenSubkey(0,KeysPart) заменить на local key = obj:CreateSubkey(0,KeysPart). Для версии 1.2.4 это строка 273. Если поможет, внесу соответствующее исправление в следующую версию.

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

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

Post by IgorZ »

Версия 2.0.0 - Помимо закладок поддерживаются переменные окружения (только переход на папки). Если закладка или переменная набрана частично, выводится список всех, содержащих набранный фрагмент. Мелкие правки.

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

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

Post by Mauro72 »

Any help with this:

Code: Select all

      C:\Far Manager32\Plugins\LuaMacro\LuaMacro.dll:                                                                         
      C:\Far Manager32\Profile\Macros\scripts\BookmarkManager.lua:262: bad argument #1 to 'Get' (number expected, got nil)    
      stack traceback:                                                                                                        
      [C]: in function 'Get'                                                                                               
      C:\Far Manager32\Profile\Macros\scripts\BookmarkManager.lua:262: in function 'prep_menu'                             
      C:\Far Manager32\Profile\Macros\scripts\BookmarkManager.lua:352: in function 'BMMenu'                                
      C:\Far Manager32\Profile\Macros\scripts\BookmarkManager.lua:465: in function 'action'                                
      C:\Far Manager32\Plugins\LuaMacro\LuaMacro.lua:408: in function <C:\Far Manager32\Plugins\LuaMacro\LuaMacro.lua:364> 
Thanks!

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

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

Post by IgorZ »

Mauro72 wrote:Any help with this:


Thanks!
Try to replace string 262 from

Code: Select all

    local folder = v.Value or obj:Get(key,v.Name,F.FST_STRING) -- папка очередной закладки
to

Code: Select all

    local folder = not lg and v.Value or obj:Get(key,v.Name,F.FST_STRING) -- папка очередной закладки
and report about result.

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

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

Post by Mauro72 »

Same errors IgorZ

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

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

Post by IgorZ »

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 -- если есть - прочитаем содержимое

Post Reply

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