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

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 2079
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 206 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 25 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.
User avatar
HaRT
Moderator
Posts: 9552
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 230 times

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

Post by HaRT »

Latest post of the previous page:

buniak_a_h wrote: Mon 14 Oct, 2019 18:40 Просто потому что у меня есть указанный выше скрипт для "ускорения колёсика мыши) от то ли SimSU, то дли SUSim ...
Глянул я сейчас в — так там даже специально предусмотрена . Учитывая, что он в области Common, стоит ли вносить усложнение в код ClickToTitleDir, которое у других пользователей всё равно может не сработать при специфической настройке того макроса? Просто получается логическая завязка «с душком»…
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2079
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 206 times
Contact:

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

Post by buniak_a_h »

HaRT, если не влом...
Перед строкой 570 (if not DestPan.Plugin and (PanTitle:sub(PanTitle_X+2,PanTitle_X+3)== ':\\') then -- Клик левее буквы диска — смена диска, п.1 из) вставьте две строчки:

Code: Select all

   if PanTitle_X < 0 or PanTitle_X > PanTitle:len()+1 then
    Keys"F9"
, а в самой строке замените if на elseif
Чтоб меньше сливать...
User avatar
HaRT
Moderator
Posts: 9552
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 230 times

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

Post by HaRT »

buniak_a_h wrote: Mon 14 Oct, 2019 20:26 если не влом...
Ща сделаю…
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2079
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 206 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Mon 14 Oct, 2019 20:05 почему для вас так ценна поддержка т.н. «стабильной» версии
1. Получил замечание
2. На самом деле это - правильно. Думаю, многих само сочетание "Ночные сборки" отпугивает. Чувствуешь себя не пользователем, а бета-тестировщиком...
John Doe wrote: Mon 14 Oct, 2019 20:13 Если этот скрипт заведомо должен иметь высший приоритет, то его надо сразу и выставить.
В самой таблице вызова Macro я не стал задавать, т.к. значением имеет только для колёсика.
John Doe wrote: Mon 14 Oct, 2019 20:13 возможно повышенный приоритет нужен лишь в определённых ситуациях, а в других напротив будет мешать. Тогда значение должно определяться в condition
Я именно так и сделал
HaRT wrote: Mon 14 Oct, 2019 20:22предусмотрена возможность сконфигурировать приоритет
Не заметил я такой возможности... Комментарии в конце строки - это не возможность конфигурирования... А в таблице S (которая по умолчанию готовится функцией Settings) не предусмотрены такие поля и, соответственно, использование нарушает моё чувство стиля...
HaRT wrote: Mon 14 Oct, 2019 20:22 Учитывая, что он в области Common, …
Вот тут я не понял. Именно потому, что он в Common, он действует и в Shell. Значит, надо.
Ну, на самом деле я же делал это не из любви к написанию кода. . Нарвался на выбор, а он ну совершенно тут ненужный (даже неприятный!). Очень неожиданно при поворачивании колёсика получить меню - совершенно не то, что ожидаешь.
Last edited by buniak_a_h on Mon 14 Oct, 2019 20:54, edited 1 time in total.
LAT
Posts: 325
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 19 times
Been thanked: 34 times

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

Post by LAT »

buniak_a_h wrote: Mon 14 Oct, 2019 20:50 Думаю, многих само сочетание "Ночные сборки" отпугивает. Чувствуешь себя не пользователем, а бета-тестировщиком...
Да вряд ли. Кроме свежеприсоединившихся, все тут в теме. А новичков вряд ли много: FAR - он же для маргиналов :). Зачем тратить усилия на поддержку заведомо устаревших версий?
ЗЫ. Это не желание переубедить. Ваше время - Ваше дело.
buniak_a_h
Posts: 2079
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 206 times
Contact:

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

Post by buniak_a_h »

John Doe wrote: Mon 14 Oct, 2019 20:13
buniak_a_h wrote: Mon 14 Oct, 2019 18:36 Мне кажется, лучше, чтобы пользователь единожды увидел конфликт и выставил приоритет сам
Зачем это пользователю?
Если этот скрипт заведомо должен иметь высший приоритет, то его надо сразу и выставить. Может не 80 а 55–60.

Кроме того, возможно повышенный приоритет нужен лишь в определённых ситуациях, а в других напротив будет мешать. Тогда значение должно определяться в condition.
Вообще-то это не я писал. Я тоже считаю, что некрасиво будет, если неожиданно появляется меню выбора.
User avatar
HaRT
Moderator
Posts: 9552
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 230 times

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

Post by HaRT »

buniak_a_h, у меня с MsWheelDown происходидит какая-то лажа: для этого события в ф-ии Cond координаты Mouse.X и Mouse.Y отсчитываются с 1, а не с 0. У вас такого нет?
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2079
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 206 times
Contact:

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

Post by buniak_a_h »

HaRT!
1. Попробовал и при включённом верхнем МЕНЮ, и при выключенном... Работает как надо. Есть минус (непринципиальный): по вращению колёсика не над заголовком, а над верхней рамкой, то попадаю в верхнее меню (вроде как лишнее, но в Cond очень не хочется определять ещё и горизонтальное условие. Хотя можно, конечно).
2. Я не совсем понял про "координаты отсчитываются". Но я вывел Mouse.X и Mouse.Y и проверил при клике ЛКМ и ПКМ и при колёсике (прицеливаясь в один и тот же символ) - получил одно и то же...
User avatar
HaRT
Moderator
Posts: 9552
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 230 times

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

Post by HaRT »

buniak_a_h wrote: Mon 14 Oct, 2019 22:52 Работает как надо
А вот у меня как раз НЕ работает.
buniak_a_h wrote: Mon 14 Oct, 2019 22:52 Я не совсем понял про "координаты отсчитываются"
Главное меню выключено, кручу над рамкой — Mouse.Y == 1, щёлкаю — Mouse.Y == 0 (это всё в Cond).
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2079
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 206 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Mon 14 Oct, 2019 23:02 кручу над рамкой — Mouse.Y == 1
Нет, у меня - 0. Я не знаю, от чего это зависит, но точно не от этого скрипта. Что-то влияет...
Ну, что делать - Вы знаете лучше меня... ;-)
buniak_a_h
Posts: 2079
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 206 times
Contact:

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

Post by buniak_a_h »

HaRT, P/S попробовал и из ConEmu, и прямо - разницы нет.
А вот после перехода в текстовый режим консоли (Alt+Enter) всё ломается. Причём после восстановления графического уже не восстанавливается. Но это, видимо, проблема не ФАРа: ломается и скроллинг колёсиком мышки тоже.
User avatar
HaRT
Moderator
Posts: 9552
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 230 times

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

Post by HaRT »

Версия 1.2.8:
1. В диалоговом режиме добавлен вызов Справки по F1, а Настройки — по Alt+Shift+F9 или СКМ.
2. Исправлена диагностика файла Справки (например, когда интерфейс Eng, а Справка — Rus).
3. Дополнена и исправлена Справка, унифицировано форматирование.
4. Упрощены логические условия в коде, улучшены идентификаторы.
ClickToTitleDir-1.2.8.7z
(15.11 KiB) Downloaded 19 times
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2079
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 206 times
Contact:

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

Post by buniak_a_h »

HaRT, спасибо, взято.
Чем кончилась эпопея с Mouse.X и Mouse.Y при прокручивании колёсика?
User avatar
HaRT
Moderator
Posts: 9552
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 230 times

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

Post by HaRT »

buniak_a_h wrote: Tue 15 Oct, 2019 02:11 спасибо, взято
Я сообразил, что забыл в истории изменений упомянуть исправление ошибки про доступ к главному меню. Если ещё не спите и пока 0 скачиваний, может, добавите каким-нибудь пунктом?
buniak_a_h wrote: Tue 15 Oct, 2019 02:11 Чем кончилась эпопея с Mouse.X и Mouse.Y при прокручивании колёсика?
Пока ничем, когда будут результаты, напишу. А пока не могли бы вы чуть более пристально проверить эту функцию?
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2079
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 129 times
Been thanked: 206 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Tue 15 Oct, 2019 03:11 А пока не могли бы вы чуть более пристально проверить эту функцию?
Я не понял, какую функцию. "прикрутить" Cond так, чтоб работало конкретно у Вас - наверно, не вопрос. В крайнем случае будет выпадать меню папок при прокручивании не только на строен заголовка панели, но и на строке заголовка столбцов. Вряд ли это будет кому-то мешать, но хотелось бы понять, почему у Вас Mouse_Y на 1 больше реальной. Может, лело в параметрах консоли? Например, буфер больше размера и в результате сначала происходит скроллинг, а уже потом - вызов этого макроса? Я попробовал поменять (увеличить) вертикальный размер буфера - у меня вообще вся работа с колёсиком сломалась.
Last edited by buniak_a_h on Tue 15 Oct, 2019 06:54, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 9552
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 230 times

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

Post by HaRT »

buniak_a_h wrote: Tue 15 Oct, 2019 06:53 Я не понял, какую функцию
Раскрытие списка вращением колёсика. Я-то у себя это не смог протестировать.
buniak_a_h wrote: Tue 15 Oct, 2019 06:53 буфер больше размера
Да, это мой случай (буфер 9999 строк), но прокрутка буфера не происходит. Я позже на неделе покопаюсь, пока не надо ничего специально под это затачивать.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

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