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

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

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

Post by IgorZ » Fri 24 Jan, 2014 09:51

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

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

Attachments
BookmarkManager.2.4.1.7z
(18.3 KiB) Downloaded 35 times

User avatar
Dennis_Moore
Posts: 205
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 4 times
Been thanked: 8 times

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

Post by Dennis_Moore » Wed 10 May, 2017 10:17

Latest post of the previous page:

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

IgorZ
Posts: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Thu 11 May, 2017 06:13

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

Skaramush
Posts: 43
Joined: Mon 16 May, 2011 04:03
Has thanked: 3 times

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

Post by Skaramush » Thu 11 May, 2017 13:06

Несколько ночных билдов назад (текущий - 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: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Fri 12 May, 2017 07:28

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

User avatar
DrKnS
Posts: 4538
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

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

Post by DrKnS » Fri 12 May, 2017 07:44

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

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

IgorZ
Posts: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Fri 12 May, 2017 11:34

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: 4538
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

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

Post by DrKnS » Fri 12 May, 2017 19:02

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

IgorZ
Posts: 448
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 5 times
Been thanked: 8 times

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

Post by IgorZ » Mon 15 May, 2017 07:33

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

Post Reply

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

Who is online

Users browsing this forum: No registered users and 1 guest