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

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 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.8.
  1. При входе в диалоговый режим предусмотрено гашение выделения текста (неудачная попытка была предпринята в версии 1.4.6).
  2. Стилистические правки в файлах помощи и языковом
  3. Перекомпонован диалог настройки таким образом, чтоб всё помещалось
  4. В настроечном диалоге реализована краткая контекстная подсказка (аналог Hint, но не всплывающая, а выводимая в «подвале» формы.
Версия 1.4.9.
  • Исправлена ошибка, приводившая к "блокировке" скрипта в случае клика по рамке панели вне заголовка (вне «чувствительной зоны»).
    (Блокировка - неработоспособность скрипта до перезагрузки макросов командой macro:load)
Версия 1.4.10.
  • Изменён алгоритм синтаксического разбора строки заголовка для корректной обработки времени, заданного в американском формате (2:10 AM) при клике по правой панели
ClickToTitleDir-1.4.10.7z
(23.92 KiB) Downloaded 17 times

Вместе с файлом самого скрипта поставляются языковые файлы ClickToTitleDirRus.lng и ClickToTitleDirEng.lng и файл помощи ClickToTitleDirRus.hlf.
Last edited by buniak_a_h on Mon 04 May, 2020 12:18, edited 65 times in total.

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 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: 9446
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 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: 9446
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 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

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 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: 9446
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 times

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

Post by HaRT »

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

И обратите внимание, что там есть и два предупреждения другого типа.
Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 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: 9446
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 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: 419
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 33 times
Been thanked: 11 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.

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 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.

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 times
Contact:

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

Post by buniak_a_h »

Выложил версию 1.2.4. Основная задача - работоспособность в версии ФАРа ранее 3.0.5460 . Пришлось "симулировать" синтаксические разборы функциями match и т.п., т.к. до 3459 они не работали с не-ASCII строками. Возможны проблемы с каталогами, имена которых содержат символы псевдографики и т.п. - не проверял.
Taciturn, в простейшем случае скрипт заработал на стабильной версии. Если будет возможность - проверьте, пож.

User avatar
Taciturn
Posts: 419
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 33 times
Been thanked: 11 times
Contact:

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

Post by Taciturn »

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

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 times
Contact:

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

Post by buniak_a_h »

Taciturn wrote:
Sat 12 Oct, 2019 05:53
зачем вообще нужен правый клик.
Например,для перехода на папку, которой не видно на экране. При ооооооо-очень большой вложенности и узкой консоли

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 times
Contact:

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

Post by buniak_a_h »

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

Я иссяк. Работает в моих условиях без странностей, перспектив для улучшения не вижу. Да и интерес к скрипту, видимо, иссяк. В общем, пока - это всё.

User avatar
Taciturn
Posts: 419
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 33 times
Been thanked: 11 times
Contact:

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

Post by Taciturn »

buniak_a_h, если хочется идей, то я бы не отказался от выпадающего меню по правой кнопке, как при клике по стрелке в Explorer'е. Пример:
Image
Сейчас такое есть по правому клику на текущую папку, а вот для каталогов уровнем выше ничего не происходит.

buniak_a_h
Posts: 1883
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 120 times
Been thanked: 170 times
Contact:

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

Post by buniak_a_h »

Taciturn wrote:
Sat 12 Oct, 2019 20:13
меню по правой кнопке,
Т.е. Вы предлагаете, чтоб вместо попыток попасть точно по слэшу тыкать ПКМ в папку с тем же эффектом, правильно я понял? Прям щас правая кнопка занята, и даже кому-то диалоговый режим понравился (особенно после того, как я его зациклил). Можно, наверно, сделать ещё настройку (например, правая кнопка - меню, левая с шифтом - диалог). Без настройки уже никак...
На самом деле я старался именно "симулировать" проводник. Для меню надо только в слэш прицелиться хорошенько. Он в шапке панели играет роль "подкнопки" со стрелочкой. Идея не моя была изначально...
ВО! Прям щас сделаю это по ЛКМ с ALt-ом! Переделок почти не потребуется, и настройка будет не нужна. Ну а насчёт настройки кнопок - пока не уверен... Впрочем, настройку, наверно, делать буду. Мне, например, очень не нравится вызов настройки "средней" кнопкой (изначально вообще не планировал на что-то сажать, думал - Scripts Browser-а хватит). Хотя в такое и не верится, но вдруг кто-то жалеет старую привычную мышку с двумя клавишами (и без колёсика)...

User avatar
HaRT
Moderator
Posts: 9446
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 106 times
Been thanked: 223 times

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

Post by HaRT »

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

Post Reply

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