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

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 2044
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 200 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 20 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: 2044
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 200 times
Contact:

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

Post by buniak_a_h »

Latest post of the previous page:

Завтра. Сегодня я уже в полном офф-лайне…
Компактный список сильно помог бы.
User avatar
HaRT
Moderator
Posts: 9527
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 228 times

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

Post by HaRT »

buniak_a_h wrote: Fri 25 Oct, 2019 00:04 Было бы здорово.
Не исправлено в версии 1.3.4:
1. (В диалоговом режиме)
Taciturn wrote: Wed 23 Oct, 2019 20:08 buniak_a_h, Alt+клик по букве диска и двоеточию всегда перебрасывает в корень, а не показывает список подкаталогов, как клик по первому «\». Нельзя ли исправить?
2. (Родственно предыдущему, сокращение и выделение моё)
HaRT wrote: Thu 24 Oct, 2019 18:46
buniak_a_h wrote: Thu 24 Oct, 2019 02:37 Исправлена ошибка, в результате которой […] при вращении колёсика мыши над буквой диска вместо списка подкаталогов корневого каталога происходил переход в корневой каталог или вызывался диалог выбора диска. […]
Увы, это только в непосредственном режиме. В диалоговом же то нежелательное поведение остаётся.
3. (По факту очень неприятная штука)
HaRT wrote: Thu 24 Oct, 2019 14:54косметический изъян: если в заголовке панели усечённый путь, то при входе в диалоговый режим он смещается на один символ (на левой панели влево, на правой — в зависимости от того, показано ли главное меню). Некрасиво. :(
[…]
Хуже того, на левой панели или при постоянно показанном главном меню из-под диалога справа теперь торчит исходный текст заголовка панели.
4. (Это, возможно, более старая ошибка)
HaRT wrote: Thu 24 Oct, 2019 21:54
Yegor wrote: Thu 24 Oct, 2019 21:29 В режиме редактирования щелчок на пробеле после слеша вызывает выбор, а в обычном режиме нет?
В диалоговом режиме так и должно быть.
А вот то, что в непосредственном режиме щелчок по пробелу после пути не вызывает меню выбора подпапок, — это явно баг.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
zg
zero-gravity
Posts: 5866
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 155 times
Contact:

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

Post by zg »

local OldFarVersion = (tonumber(far.AdvControl(F.ACTL_GETFARMANAGERVERSION):match"^3%.0%.0%.(%d*)%.0$") <= 5459) -- 3.0.0.5478.0
последняя цифра может быть от 0 до 5.
buniak_a_h
Posts: 2044
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 200 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Thu 24 Oct, 2019 19:05
Что-то у меня на колёсико не реагирует от слова совсем. Т.е. я смотрю, что передаётся в DlgProc, так вот там для вращения колёсика передаётся Param2={EventType=0} (т.е. ВООБЩЕ БЕЗ ПОЛЕЙ EventType и ButtonState !!! Да и Param2.EventType какой-то странный... Вам не кажется, что что-то тут не то?
Last edited by buniak_a_h on Fri 25 Oct, 2019 06:51, edited 1 time in total.
buniak_a_h
Posts: 2044
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 200 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Fri 25 Oct, 2019 00:20 3. (По факту очень неприятная штука)
HaRT wrote: Thu 24 Oct, 2019 14:54косметический изъян: если в заголовке панели усечённый путь, то при входе в диалоговый режим он смещается на один символ (на левой панели влево, на правой — в зависимости от того, показано ли главное меню). Некрасиво. :(
[…]
Хуже того, на левой панели или при постоянно показанном главном меню из-под диалога справа теперь торчит исходный текст заголовка панели.
Я не знаю, как и возможно ли вообще с этим бороться. Причина в том, что справа от заголовка панели (если он настолько длинный, что усекается) не остаётся места для пустого места и кнопки. Но при первоначальном показе DI_EDIT-а я намеренно переношу каретку в конец. В результате смещается...
При включённом МЕНЮ показу не мешают часики справа. По-моему, потому и не смещается. Правда, есть подозрение, что про часики-то я забыл...
Ситуацию, когда из-под диалога торчит кусок заголовка, мне повторить не удалось. Возможно, потому что сделал учёт часиков.
buniak_a_h
Posts: 2044
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 200 times
Contact:

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

Post by buniak_a_h »

Для тестирования (если кто сможет). Не писал хелп .
Исправлено, вроде, все, перечисленное здесь (кроме п.3), а также Здесь
ClickToTitleDir-1.3.5.lua.7z
(11.12 KiB) Downloaded 10 times
Last edited by buniak_a_h on Fri 25 Oct, 2019 07:03, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 9527
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 228 times

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

Post by HaRT »

buniak_a_h wrote: Fri 25 Oct, 2019 05:12 Вам не кажется, что что-то тут не то?
Определённо что-то не то. У меня в Far Manager, version 3.0.0.5493 x86 под Win 8.1 x64 работает ожидаемо (иначе как бы я отлаживал свой код). У вас это, надеюсь, без ConEmu?
buniak_a_h wrote: Fri 25 Oct, 2019 06:25 не остаётся места для пустого места и кнопки
Как же? Вот, например, как выглядит заголовок панели: ╔ C:\…MSVC\14.16.27023\bin\Hostx64\x64 ╗
Если разрешить кнопкам располагаться на углах рамки, то всё прекрасно разложится без вылезания «из-под пятницы субботы».
buniak_a_h wrote: Fri 25 Oct, 2019 06:25 я намеренно переношу каретку в конец
И в чём проблема разместить диалог так, чтобы концевая часть строки оставалась ровно на том же месте, где она отображалась в заголовке?
buniak_a_h wrote: Fri 25 Oct, 2019 06:25 При включённом МЕНЮ показу не мешают часики справа. По-моему, потому и не смещается.
Ещё как смещается, посмотрите внимательнее (с усечённым путём).
buniak_a_h wrote: Fri 25 Oct, 2019 06:25 Ситуацию, когда из-под диалога торчит кусок заголовка, мне повторить не удалось. Возможно, потому что сделал учёт часиков.
Так ведь на левой панели тоже торчит последний символ заголовка (но только для усечённых путей).
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 9527
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 228 times

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

Post by HaRT »

buniak_a_h wrote: Fri 25 Oct, 2019 07:02 Исправлено, вроде, все, перечисленное здесь (кроме п.3)
П.4 исправлен, п.1,2 — нет (правильно работает только в корне диска). И зачем было писать, что 1 и 2 исправлены…
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2044
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 200 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Fri 25 Oct, 2019 11:33
buniak_a_h wrote: Fri 25 Oct, 2019 05:12 Вам не кажется, что что-то тут не то?
Определённо что-то не то. У меня в Far Manager, version 3.0.0.5493 x86 под Win 8.1 x64 работает ожидаемо (иначе как бы я отлаживал свой код). У вас это, надеюсь, без ConEmu?
Было под ConEmu, теперь попробовал без - без разницы. Утилиту, которая у меня перехватывала колёсико (KatMouse) я вырубил.
Windows 10 Pro, ФАР и 5493, и 5494.
HaRT wrote: Fri 25 Oct, 2019 11:33
buniak_a_h wrote: Fri 25 Oct, 2019 06:25 не остаётся места для пустого места и кнопки
Как же? Вот, например, как выглядит заголовок панели: ╔ C:\…MSVC\14.16.27023\bin\Hostx64\x64 ╗
Если разрешить кнопкам располагаться на углах рамки, то всё прекрасно разложится без вылезания «из-под пятницы субботы».
Вроде, сделал...
HaRT wrote: Fri 25 Oct, 2019 11:33
buniak_a_h wrote: Fri 25 Oct, 2019 06:25 Ситуацию, когда из-под диалога торчит кусок заголовка, мне повторить не удалось. Возможно, потому что сделал учёт часиков.
Так ведь на левой панели тоже торчит последний символ заголовка (но только для усечённых путей).
Вот этой ситуации я повторить не смог… Возможно, проблема уже ушла с новыми правками
HaRT wrote: Fri 25 Oct, 2019 13:10
buniak_a_h wrote: Fri 25 Oct, 2019 07:02 Исправлено, вроде, все, перечисленное здесь (кроме п.3)
П.4 исправлен, п.1,2 — нет (правильно работает только в корне диска). И зачем было писать, что 1 и 2 исправлены…
Может, я чего не понял?
п.1 : Клик по букве и двоеточию выбрасывают в корень (как и должны) за исключением случая, когда мы и так в корне. В этом случае выводится меню. У меня работает так, и так и задумано.
п.2 проверить не могу, т.к. он относится к колёсику в диалоговом режиме, а я писал, что не получаю Param2.EventFlags = F.MOUSE_WHEELED
User avatar
HaRT
Moderator
Posts: 9527
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 228 times

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

Post by HaRT »

buniak_a_h wrote: Fri 25 Oct, 2019 13:25 Может, я чего не понял?
п.1 : Клик по букве и двоеточию
Я с трудом сдерживаюсь от обидных комментариев. Ну прочитайте, пожалуйста, внимательно: Alt+клик!
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 9527
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 228 times

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

Post by HaRT »

buniak_a_h wrote: Fri 25 Oct, 2019 13:25 Вроде, сделал...
Спасибо, большей частью исправлено. Остался только случай (назовём его 3.1), когда показано главное меню, на правой панели усечённый путь, и там мы активизируем диалоговый режим — путь смещается на 1 символ влево.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 9527
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 228 times

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

Post by HaRT »

buniak_a_h wrote: Fri 25 Oct, 2019 13:25 Вроде, сделал...
А, нет, ещё проблемы, когда панель на всю ширину окна:
3.2. Если левая панель «широкая» (и активна), то путь смещается влево на 1 символ.
3.2. Если правая панель «широкая» (и активна), то попытка войти в диалоговый режим щелчком на правой части заголовка приводит к
3.3. Если правая панель «широкая» (и активна) и войти в диалоговый режим щелчком на левой части заголовка, то диалог
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2044
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 200 times
Contact:

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

Post by buniak_a_h »

HaRT, по поводу колёсика мыши в редакторе: всё портил, как оказалось, макрос от то ли SUSim, то ли SimSU Common_MouseWheel.lua . Ладно, буду разбираться...
User avatar
HaRT
Moderator
Posts: 9527
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 228 times

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

Post by HaRT »

Ох, столько факторов уже влияют на работу скрипта! Впору профессионально и систематично составлять план тестирования. Но совершенно не до того. Вот бы нашёлся волонтёр…
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2044
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 200 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Fri 25 Oct, 2019 14:39 Ох, столько факторов уже влияют на работу скрипта! Впору профессионально и систематично составлять план тестирования. Но совершенно не до того. Вот бы нашёлся волонтёр…
Да на самом деле Common_MouseWheel.lua написан некорректно. Понятно, конечно - лениво было всё расписывать... Но condition можно было расписать подробнее. Ну, хотя бы чтоб в диалогах вызывался только для скроллируемых объектов (типа DI_LIST и DI_COMBOBOX)
Вопрос: не знаете ли Вы способ временно запретить вызов макроса (по key-ю)? В Info есть поле disabled - оно как-то влияет? Это был бы самый правильный путь...
User avatar
HaRT
Moderator
Posts: 9527
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 228 times

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

Post by HaRT »

buniak_a_h wrote: Fri 25 Oct, 2019 15:00 не знаете ли Вы способ временно запретить вызов макроса (по key-ю)? В Info есть поле disabled - оно как-то влияет? Это был бы самый правильный путь...
Увы, не знаю. Закиньте вопрос в «Macros & Scripts — Нужна помощь» — там больше шансов на содержательный ответ.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

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