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

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

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

Postby IgorZ » Mon 10 Feb, 2014 11:14

Latest post of the previous page:

John Doe wrote:
IgorZ wrote:Ради интереса попробовал заменить io.line на чтение всего файла целиком и затем лущение полученной строки с помощью gmatch. io.line работает даже чуть быстрее (примерно на 10%). Издержки интерпретации, однако...
Интересно. Из PIL можно сделать другие выводы. Полноценно тестировать лень, и в любом случае для мелких файлов разницы не будет.
А разницу во времени выполнения dofile и вашей новой функции вы измеряли?

Через dofile примерно в 15 раз быстрее. Но и то, и другое порядка 1 мс.

Shmuel
Posts: 4911
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 118 times

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

Postby Shmuel » Thu 26 Jun, 2014 19:53

Насчёт io.lines(file) - она не закрывает хэндл файла после выхода из цикла. Это сделает только сборщик мусора, причём неизвестно когда. В результате и файл, и папка scripts, и папка Macros оказываются залоченными, их нельзя даже переименовать.

Поэтому: открывайте файл с помощью io.open, читайте строки с помощью метода lines, затем закрывайте методом close.

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

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

Postby IgorZ » Fri 27 Jun, 2014 04:42

Shmuel wrote:Насчёт io.lines(file) - она не закрывает хэндл файла после выхода из цикла. Это сделает только сборщик мусора, причём неизвестно когда. В результате и файл, и папка scripts, и папка Macros оказываются залоченными, их нельзя даже переименовать.

Поэтому: открывайте файл с помощью io.open, читайте строки с помощью метода lines, затем закрывайте методом close.

Понял, спасибо, переделаю. Заодно ещё кое-что добавлю, до чего руки не доходили.

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

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

Postby IgorZ » Mon 30 Jun, 2014 04:04

Версия 1.2 - Расширение формата каталога. Теперь можно явно указывать панели: активную, пассивную, левую, правую (подробности в справке по F1 в диалоге редактирования закладки). Если текущего языка Far-а в локализациях скрипта нет, подгружается английский, при загрузке настроек язык не подгружается, если не менялся. Изгнание io.lines и другие мелкие правки.

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

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

Postby IgorZ » Mon 29 Dec, 2014 11:53

Перед Новым Годом привожу выкладки в порядок.
Версия 1.2.1 - Срабатывание быстрых клавиш в меню RCtrl+/ (то есть, набираем RCtrl+<нужная последовательность>), рефакторинг, добавим uid-ы в макросы и пункт в меню плагинов.

User avatar
sToLp
Posts: 691
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 31 times
Been thanked: 5 times

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

Postby sToLp » Mon 29 Dec, 2014 21:59

IgorZ wrote:Версия 1.2.1

Замечательно! Похоже, что данный менеджер закладок с учётом всех предоставляемых им пользователю удобств становится наиболее предпочтительным.


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

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

Postby IgorZ » Fri 30 Jan, 2015 20:40

Версия 1.2.2 - "&" в меню отрабатывался как акселератор, а не символ. Запрет вводить символы, которые нельзя ввести в сочетании с Ctrl.


sToLp wrote:а) меню, вызываемое по RCtrl+/, редактируется и через него можно добавлять закладки. Но по RCtrl+Shift/RAlt+последовательность клавиш вылезает ошибка:

Code: Select all

╔══════════════════════════════════════ LuaMacro ═══════════════════════════════════════╗
║ ...киВпанелях[BookmarkManager1.2.1](IgorZ)she.lua:178: invalid flag combination       ║
║ stack traceback:                                                                      ║
║    [C]: in function 'CreateSettings'                                                  ║
║    ...киВпанелях[BookmarkManager1.2.1](IgorZ)she.lua:178: in function <...киВпанелях[ ║
║ BookmarkManager1.2.1](IgorZ)she.lua:164>                                              ║
╟───────────────────────────────────────────────────────────────────────────────────────╢
║                                        { OK }                                         ║
╚═══════════════════════════════════════════════════════════════════════════════════════╝

Ни разу не удалось повторить. Более того, строка 178, в которой якобы происходит ошибка, в версии 1.2.1 содержит только комментарий, так что либо речь идёт о старой версии, либо Вы модифицировали скрипт самостоятельно, либо нарушили нормальную работу системы каким-то способом. Во всех этих случаях претензии - не к скрипту и не ко мне.
sToLp wrote:б) небольшой нюанс касательно использования в меню менеджера амперсанда & для обозначения хоткеев — кажется он учитывается при сортировке шорткатов и занимаемое им знакоместо идёт в зачёт размера шортката.
в) шорткаты вводятся в меню только в верхнем регистре. А хотелось бы, чтобы можно было вводить и в нижнем регистре тоже. Тогда проще будет различить раскладки.

По обеим пунктам. В комбинации с Ctrl любая клавиша вводит только латиницу в верхнем регистре или цифру. Поэтому другие символы (в том числе и "&") в закладке недопустимы. То, что их можно было вводить - ошибка. В новой версии она исправлена.

aflexus
Posts: 35
Joined: Sat 12 Mar, 2011 16:57
Has thanked: 4 times

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

Postby aflexus » Tue 03 Feb, 2015 09:00

Хотел перейти на данный скрипт с ansi-шного HotDir, но вылазит та же ошибка, что и у sToLp: invalid flag combination.. Версия скрипта 1.2.2. Версия фара последняя ночная 4260. Проверил еще на Far30b4230 - история та же.

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

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

Postby John Doe » Tue 03 Feb, 2015 10:51

Подтверждаю, ошибка в строке 178:

Code: Select all

obj = far.CreateSettings(nil,UseLocal and UseGlobal and DefaultBMProfile or UseLocal or UseGlobal) -- откроем настройки


Проявляется в случае когда не задана отдельная папка для локального профиля.

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

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

Postby IgorZ » Fri 06 Feb, 2015 07:10

Версия 1.2.3 - В версии 1.2.1 была поломана загрузка части параметров, в результате чего при некоторых комбинациях настроек скрипт падал при попытке создать новую закладку.

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

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

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

Postby John Doe » Wed 18 Mar, 2015 12:46

Если в любом меню нажать F11, то там зачем-то будет пункт "BookmarkManager: menu".

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

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

Postby BFDA » Tue 31 Mar, 2015 16:08

Версия 1.2.3. При попытки добавить закладку падает :(

...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>

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

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

Postby John Doe » Tue 31 Mar, 2015 18:04

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

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

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

Postby BFDA » Tue 31 Mar, 2015 18:34

:(

Нажимаю 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: 11029
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 61 times

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

Postby John Doe » Tue 31 Mar, 2015 19:37

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

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

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

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

Postby BFDA » Wed 01 Apr, 2015 08:57

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

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

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

Postby John Doe » Thu 02 Apr, 2015 07:43

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


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

Who is online

Users browsing this forum: No registered users and 3 guests