ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Макрос навеян этим:
PieApple wrote: Thu 23 Jan, 2014 12:57 Еще хотел бы поделиться идеей, реализованной в Проводнике с Windows 7, Total Commander, что если нажать мышкой на имя папки в адресной строке сверху, то происходит переход вверх на эту папку.
На самом деле получилось прикольно и, возможно, полезно (если Вы любите настольных грызунов).
Суть:
Клик мышой на заголовке панели, содержащей имя папки, вызывает переход (как в проводнике). А если клик приходится на разделитель (бэкслэш), то предоставляется выбор, в какую папку перейти.
Первоначальный макрос сваян «на коленке» за полчасика, потому не судите строго. Если будут отзывы и замечания — попробую «докрутить».

Начиная с этой версии я перестал выкладывать текст скрипта в сообщении (уж больно трудоёмко стало, т.к. он вырос). Тем более что “Select all” на сайте опять перестал работать. Теперь только во вложении в виде 7z-архива.
Сведения о версии:
Версия 1.4.12.
  1. Исправлена ошибка процедуры настройки, возникшая из-за изменения интерфейса. Ошибка проявлялась при вызове настройки сликом средней клавиши (колёсиком) на заголовке панели.
  2. Сделана возможность вызова диалога настройки скрипта через меню настроек плагинов.
ClickToTitleDir-1.4.12.7z
(24.95 KiB) Downloaded 32 times

Вместе с файлом самого скрипта поставляются языковые файлы ClickToTitleDirRus.lng и ClickToTitleDirEng.lng и файл помощи ClickToTitleDirRus.hlf.
Last edited by buniak_a_h on Mon 25 Dec, 2023 02:15, edited 69 times in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Latest post of the previous page:

HaRT wrote: Thu 10 Oct, 2019 23:13 Кстати, скажите, а для чего вы так настаиваете на наличии там у поля ввода флага DIF_CENTERGROUP?
По лени. Чтоб не рассчитывать положения радиобутонов в зависимости от длины их капшенов и текста-заголовка. Которые, кстати, берутся из lng-файла. Т.е. без этого флага сначала прочитать, потом посчитать, потом внести в DlgItems...
HaRT wrote: Thu 10 Oct, 2019 23:13 лишнее предупреждение от LuaCheck порождает из-за длинной строки.
У меня нет ни предупреждений, ни ошибок. Просто всё чисто.
Last edited by buniak_a_h on Thu 10 Oct, 2019 23:24, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Wed 09 Oct, 2019 05:30 Глюк с кликом на последнем символе имени каталога у меня не повторяется. Возможно, у меня он уже был исправлен...
Увы, не исправлен (версия 1.2.2).
Как проверяю:
1. Запускаю Фар: start "" "C:\Program Files (x86)\Far Manager\far.exe" /p"%FarHome%\Plugins\LuaMacro" -s %TEMP%\farprofile\%RANDOM%.
2. Для определённости выставляю там размер консоли: mode con cols=120 lines=30.
3. Подкладываю ему в профиль в Macros\scripts файлы ClickToTitleDir, перезагружаю там макросы: lm:load.
4. Перехожу в директорию C:\Program Files (x86)\Far Manager\Addons (неважно, на какой панели).
5. Вхожу в диалоговый режим, там щёлкаю ЛКМ по ) (закрывающей скобке).
Ожидаю: переход в C:\Program Files (x86).
Получаю: переход в C:\Program Files (x86)\Far Manager.
С другими путями аналогично.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Thu 10 Oct, 2019 23:18 Повторить логику ФАРа я не смогу
Она совсем не сложная, было бы желание.
buniak_a_h wrote: Thu 10 Oct, 2019 23:18 для плагиновых панелей - совсем тоска
Вариант был отвергнут ещё до объявления функциональности для плагиновых панелей.
buniak_a_h wrote: Thu 10 Oct, 2019 23:22 Чтоб не рассчитывать положения радиобутонов в зависимости от длины их капшенов и текста-заголовка.
Речь про основной диалог, а не про настройки: я в версии 1.1.2 этот флаг убрал и позже пояснил, почему, а вы его снова вернули. Вот я и спрашиваю: зачем он там?
buniak_a_h wrote: Thu 10 Oct, 2019 23:22 У меня нет ни предупреждений, ни ошибок. Просто всё чисто.
У меня с настройками по умолчанию
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

HaRT wrote: Thu 10 Oct, 2019 23:51
buniak_a_h wrote: Wed 09 Oct, 2019 05:30 Глюк с кликом на последнем символе имени каталога у меня не повторяется. Возможно, у меня он уже был исправлен...
Увы, не исправлен (версия 1.2.2)
Видимо, я не заметил, что глюк касается только диалогового режима. Во всяком случае, у меня в диалоговом воспроизвелось, в непосредственном - нет.
Гляну...
HaRT wrote: Thu 10 Oct, 2019 23:57
buniak_a_h wrote: Thu 10 Oct, 2019 23:22 Чтоб не рассчитывать положения радиобутонов в зависимости от длины их капшенов и текста-заголовка.
Речь про основной диалог, а не про настройки: я в версии 1.1.2 этот флаг убрал и позже пояснил, почему, а вы его снова вернули. Вот я и спрашиваю: зачем он там?
Не нужен. Убрал, спасибо.
В первый раз не стал брать этот кусок от Вас, т.к. не понял, зачем мне DI_DOUBLRBOX. Вы пояснили, я добавил, а остальное забыл взять - думал, что уже и так взято.
Хотя про слишком длинные строки я всё равно не понял. 123 символа - это слишком длинная строка?
HaRT wrote: Thu 10 Oct, 2019 23:57
buniak_a_h wrote: Thu 10 Oct, 2019 23:22 У меня нет ни предупреждений, ни ошибок. Просто всё чисто.
У меня с настройками по умолчанию
Я сразу запретил сообщение о слишком длинной строке. В конфигурационном файле вставил строку
max_line_length=false; -- BAX Иначе я на любой свой текст получал кучу незначащих сообщений, которые ни на что не влияют. Я так и не понял, зачем нужен контроль длины строки, если интерпретатор LUA позволяет длиннее, чем проверяется.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Fri 11 Oct, 2019 00:39 зачем нужен контроль длины строки, если интерпретатор LUA позволяет длиннее, чем проверяется
Это не для интерпретатора, а для людей, читающих код. Индивидуальное восприятие различается, да, но для каждого человека есть предельная длина строки, после которой читаемость кода резко падает. И лично для меня это как раз где-то 120 символов (то же, что по умолчанию в LuaCheck).

И обратите внимание, что там есть и два предупреждения другого типа.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

HaRT wrote: Fri 11 Oct, 2019 00:46 И обратите внимание, что там есть и два предупреждения другого типа.
Про sDeb я уже исправил.
Про unused_args у меня тоже заблокировано сообщение; у меня привычка (полезная) если интерфейсом предусмотрен параметр, то он должен присутствовать в списке. А если в теле процедуры он не потребовался, то (а) это не ошибка и (б) не приводит к излишнему расходованию ресурсов. К счастью, в LUA ненужный параметр можно указать подчёрком, но если потом потребуется, то гимор будет больше, чем если предусмотреть сразу. Поэтому считаю более стилистически оправданным перечислять все параметры, а сообщение о неиспользованном параметре просто игнорировать.
Вот прикрутить скрипт к стабильной версии - это было бы здорово. Но... Что-то не удаётся пока :-(
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Fri 11 Oct, 2019 03:28 это не ошибка
Нередко такие ситуации свидетельствуют именно об ошибке: либо опечатка, либо копипасту не исправил, либо ещё что-то не сделал, что собирался.
buniak_a_h wrote: Fri 11 Oct, 2019 03:28 ненужный параметр можно указать подчёрком
Можно просто вынести в комментарий.
buniak_a_h wrote: Fri 11 Oct, 2019 03:28 сообщение о неиспользованном параметре просто игнорировать
Я выше написал, чем это может быть чревато.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Taciturn
Posts: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by Taciturn »

HaRT wrote: Thu 10 Oct, 2019 20:31
Taciturn wrote: Thu 10 Oct, 2019 08:32 ClickToTitleDir.1.2.2.lua.7z в scripts
Не поделитесь архивом версии?
HaRT, так ведь он в шапке есть. Но без проблем:
https://taciturn-shadow.spb.ru/far/ClickToTitleDir.1.2.2.lua.7z
Last edited by Taciturn on Fri 11 Oct, 2019 08:31, edited 2 times in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Вышла версия 1.2.3 Что там:
1. Исправлена ошибка диалогового режима, проявлявшаяся при клике на последний символ имени каталога.
2. Переделана организация работы в диалоговом режиме. В результате стало возможным зациклить выбор вложенных папок из МЕНЮ.
3. В непосредственном режиме для плагиновой панели реализована возможность как перехода в корневую папку (по клику на имени хост-файла), так и выхода из архива (по клику по префиксу).
4. В диалоговом режиме для плагиновой панели в элемент (редактор) пути добавляется префикс плагина и имя хост-файла (если есть). В результате реализован как переход в корневую папку, так и выход из архива по клику по имени хост-файла и по префиксу соответственно.
Last edited by buniak_a_h on Fri 11 Oct, 2019 14:32, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Выложил версию 1.2.4. Основная задача - работоспособность в версии ФАРа ранее 3.0.5460 . Пришлось "симулировать" синтаксические разборы функциями match и т.п., т.к. до 3459 они не работали с не-ASCII строками. Возможны проблемы с каталогами, имена которых содержат символы псевдографики и т.п. - не проверял.
Taciturn, в простейшем случае скрипт заработал на стабильной версии. Если будет возможность - проверьте, пож.
User avatar
Taciturn
Posts: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by Taciturn »

buniak_a_h, да, теперь никакие ошибки не вылазят, спасибо.
Хотя, если честно, я так и не понял зачем вообще нужен правый клик.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Taciturn wrote: Sat 12 Oct, 2019 05:53 зачем вообще нужен правый клик.
Например,для перехода на папку, которой не видно на экране. При ооооооо-очень большой вложенности и узкой консоли
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Выпустил версию 1.2.5 .
1. Непосредственный режим: исправлена ошибка , в результате которой скрипт
не выходил из архива по клику на префиксе плагина, если в заголовке
панели отсутствует имя хост-файла или текущая папка архива была
корневой.
2. Непосредственный режим: добавлена возможность немедленного выхода из
архива при клике непосредственно перед заголовком панели.

Я иссяк. Работает в моих условиях без странностей, перспектив для улучшения не вижу. Да и интерес к скрипту, видимо, иссяк. В общем, пока - это всё.
User avatar
Taciturn
Posts: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by Taciturn »

buniak_a_h, если хочется идей, то я бы не отказался от выпадающего меню по правой кнопке, как при клике по стрелке в Explorer'е. Пример:
Image
Сейчас такое есть по правому клику на текущую папку, а вот для каталогов уровнем выше ничего не происходит.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Taciturn wrote: Sat 12 Oct, 2019 20:13 меню по правой кнопке,
Т.е. Вы предлагаете, чтоб вместо попыток попасть точно по слэшу тыкать ПКМ в папку с тем же эффектом, правильно я понял? Прям щас правая кнопка занята, и даже кому-то диалоговый режим понравился (особенно после того, как я его зациклил). Можно, наверно, сделать ещё настройку (например, правая кнопка - меню, левая с шифтом - диалог). Без настройки уже никак...
На самом деле я старался именно "симулировать" проводник. Для меню надо только в слэш прицелиться хорошенько. Он в шапке панели играет роль "подкнопки" со стрелочкой. Идея не моя была изначально...
ВО! Прям щас сделаю это по ЛКМ с ALt-ом! Переделок почти не потребуется, и настройка будет не нужна. Ну а насчёт настройки кнопок - пока не уверен... Впрочем, настройку, наверно, делать буду. Мне, например, очень не нравится вызов настройки "средней" кнопкой (изначально вообще не планировал на что-то сажать, думал - Scripts Browser-а хватит). Хотя в такое и не верится, но вдруг кто-то жалеет старую привычную мышку с двумя клавишами (и без колёсика)...
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Sat 12 Oct, 2019 19:50 интерес к скрипту, видимо, иссяк
У меня есть пара небольших дополнений по коду, один полубезнадёжный багрепорт и одна идея, но с телефона писать неудобно, а за компом я окажусь не раньше понедельника.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Обсуждение макросов”