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

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 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 26 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: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

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

Post by HaRT »

Latest post of the previous page:

buniak_a_h wrote: Fri 04 Oct, 2019 02:30 прошу оценить (на предмет полезности включения в функционал) - это зацикленность меню выбора каталога: если выбрали, то после перехода на выбранный можно перейти на следующий уровень вложенности.
Что-то я не понимаю, какую задачу решают предлагаемые изменения. Не могли бы вы написать словами предполагаемый сценарий использования? И чем список директорий в виде меню лучше списка директорий на панели (за исключением тех редких случаев, когда директории не сгруппированы в начале)?
Last edited by HaRT on Fri 04 Oct, 2019 11:11, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Fri 04 Oct, 2019 11:11 Не могли бы вы написать словами предполагаемый сценарий использования?
Текущий каталог - C:\Program Files\Far Manager\Enciclopedia
Хочется быстро перейти в C:\Program Files\Far Manager\Plugins\Editor\ESC_TSC
Сейчас: вернуться назад и затем в панели идти вперёд. При этом (а) на панели много элементов: (б) особо неприятно, если точно не помнишь имя. Можно, конечно, искать "быстрым" поиском, но если то, что помнишь, встречается часто, то поиском неудобно. Можно включить автофильтр (стоит у меня такой то ли макрос, то ли плагин - не помню уже). Но для него надо помнить сочетание, которое этот фильтр включает. В меню компактнее (меньше элементов, правда, вытянутые вертикально), и фильтр включается легко и быстро (Ctrl+Alt+F или RAlt).
Возможно, это субъективно: я часто пользуюсь фильтром в МЕНЮ, а вот автофильтр иногда у меня как-то включаетс случайно, и потом я его долго выключаю - горячих кнопок не помню за редкостью)
На самом деле, как выяснилось, у меня почему-то переход в таком МЕНЮ происходит намного быстрее, чем в панелях (возможно потому, что мышку переносить не надо) . Поэтому я решился сделать полноценную настройку и там сделать включение-выключение зацикливания. Ну и некоторые особенности интерфейса...
Last edited by buniak_a_h on Fri 04 Oct, 2019 11:27, edited 2 times in total.
User avatar
John Doe
Бюрократ
Posts: 12896
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

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

Post by John Doe »

buniak_a_h wrote: Fri 04 Oct, 2019 11:27 Но для него надо помнить сочетание, которое этот фильтр включает.
Это верно)
Last edited by John Doe on Fri 04 Oct, 2019 11:37, edited 1 time in total.
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »

John Doe wrote: Fri 04 Oct, 2019 10:33 При желании есть удобный способ:
Вы имеете в виду использовать систему контроля версий (в частности, git)? Ну как-то смешно - из пушки по воробьям... Проект из одного файла...
John Doe wrote: Fri 04 Oct, 2019 10:33 В условиях вместо сравнения с nil идиоматичнее рассматривать его как false:
Увы, это не всегда возможно. Например, настройка bool. nil - не меняли (брать умолчательное значение); true - надо; false - не надо. Возможно, вот прямо сейчас такого ещё не было, но уже есть (не опубликовывал - настройка не готова)
Last edited by buniak_a_h on Fri 04 Oct, 2019 11:55, edited 2 times in total.
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

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

Post by HaRT »

buniak_a_h, я так и не смог понять, чем список в меню принципиально удобнее/быстрее, чем таковой в панели. Одним словом, я к целевой аудитории этой фичи не отношусь. Пусть другие выскажутся. Я же только прошу оставить возможность переходитьdd отображаемые директории в один клик.
buniak_a_h wrote: Fri 04 Oct, 2019 11:27 Ну и некоторые особенности интерфейса...
Просьба прежняя: задокументируйте, пожалуйста, русским языком, что по каким действиям происходит, чтобы можно было и оценить удобство лишний раз, и отличить багу от фичи.
Last edited by HaRT on Fri 04 Oct, 2019 12:11, edited 2 times in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 12896
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

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

Post by John Doe »

buniak_a_h wrote: Fri 04 Oct, 2019 11:55 Вы имеете в виду использовать систему контроля версий (в частности, git)?
Нет, не имею.
Хотя и для одного файла есть смысл, но речь не о том.
buniak_a_h wrote: Fri 04 Oct, 2019 11:55
John Doe wrote: Fri 04 Oct, 2019 10:33 В условиях вместо сравнения с nil идиоматичнее рассматривать его как false:
Увы, это не всегда возможно. Например, настройка bool.
Разумеется не всегда. Надо различать когда можно.
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

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

Post by HaRT »

buniak_a_h, обнаружилась некрасивая ошибка: при постоянно показанном главном меню интерактивные элементы диалога (по ПКМ) съезжают на строку ниже, а в заголовке панели остаётся только закрашенный фон.
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Fri 04 Oct, 2019 14:50 buniak_a_h, обнаружилась некрасивая ошибка: при постоянно показанном главном меню интерактивные элементы диалога (по ПКМ) съезжают на строку ниже, а в заголовке панели остаётся только закрашенный фон.
Ой, дважды прибавил настройку.
Прям сейчас в строках, присваивающих DlgItems[1] - DlgItems[3] замените Y0 на просто 0.
В скрипт я внесу соответствующее изменение. Просто мне сейчас немножко некогда...
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

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

Post by HaRT »

buniak_a_h wrote: Fri 04 Oct, 2019 15:04 мне сейчас немножко некогда...
Не к спеху, сейчас мне тоже не до того. Просто написал, чтобы не забылось.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Yegor
Posts: 1092
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 15 times
Been thanked: 26 times

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

Post by Yegor »

Последняя ф-ть: "зацикленность меню выбора каталога" - очень полезна (для меня). Думаю в заголовке этого диалога не нужно показывать полный путь, т.к. он соответствует пути в заголовке панели.
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »

Yegor wrote: Mon 07 Oct, 2019 06:25 Последняя ф-ть очень полезна (для меня) <...> Думаю в заголовке этого диалога не нужно показывать полный путь
Вот потому я и решился на настройку. У меня уже готова, хелп только не написан...
Выглядеть будет так:

Code: Select all

╔═══════════ Настройка скрипта ClickToTitleDir ════════════╗
║                        Тип рамки                         ║
║         ( ) без рамки (•) одинарная ( ) двойная          ║
║    [ ] Рисовать поля      [x] С заголовком               ║
║    [ ] Автоматически назначить "горячие" клавиши         ║
║    [x] "Зацикливать" выбор подкаталога                   ║
╟──────────────────────────────────────────────────────────╢
║              { Ok } [ Cancel ] [ Default ]               ║
╚══════════════════════════════════════════════════════════╝
Что неприятно: мелкий скрипт постепенно превращается в проект из одного lua, одного или нескольких lng, одного hlf, да ещё и модули. Если кто-то брал мои скрипты, то с модулями знаком. Можно, конечно, тупо перетащить функции из модулей в этот же файл. Станет мобильнее, но мне очень не хочется - у меня-то эти модули есть! Вот хочу спросить в этом смысле совета у опытных.
John Doe wrote: Fri 04 Oct, 2019 10:33 А вообще причешите шапку и перенесём в подфорум готовых макросов.
Вот как раз в этом плане: имеет смысл включать модули, или функции вставить в текст макроса?
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

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

Post by HaRT »

buniak_a_h wrote: Mon 07 Oct, 2019 09:28 мелкий скрипт постепенно превращается в проект из одного lua, одного или нескольких lng, одного hlf, да ещё и модули.
Не пора ли перенести его на какой-нибудь SourceForge, GitHub или BitBucket?

Кстати, у меня локально есть кое-какие небольшие исправления для диалогового режима, но я пока их не выкладываю, поскольку вижу активные изменения на вашей стороне.

P.S. Мне кажется, в диалоге настроек лучше будет так: Тип рамки: ( ) без рамки (•) одинарная ( ) двойная.
Last edited by HaRT on Mon 07 Oct, 2019 11:03, edited 1 time in total.
Reason: Добавлен P.S. про диалог настроек
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 12896
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

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

Post by John Doe »

buniak_a_h wrote: Mon 07 Oct, 2019 09:28 Вот как раз в этом плане: имеет смысл включать модули, или функции вставить в текст макроса?
Если модуль - это хорошо спроектированная библиотека функций, то имеет смысл включить (или даже выкладывать отдельно).

Если же это модуль - случайный набор удобных функций для личного пользования, то лучше вставить в макрос.
Yegor
Posts: 1092
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 15 times
Been thanked: 26 times

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

Post by Yegor »

HaRT wrote: Mon 07 Oct, 2019 10:17GitHub
+1
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Mon 07 Oct, 2019 10:17 Не пора ли перенести его на какой-нибудь SourceForge, GitHub или BitBucket?
Yegor wrote: Mon 07 Oct, 2019 17:29
HaRT wrote: Mon 07 Oct, 2019 10:17GitHub
+1
Это, наверно, не ко мне. Я не в курсе и изучать неохота. Если кто поможет - спасибо.
HaRT wrote: Mon 07 Oct, 2019 10:17 Кстати, у меня локально есть кое-какие небольшие исправления для диалогового режима, но я пока их не выкладываю, поскольку вижу активные изменения на вашей стороне.
Вот, всё кажется. В первом сообщении темы. Добавляйте...
HaRT wrote: Mon 07 Oct, 2019 10:17 P.S. Мне кажется, в диалоге настроек лучше будет так: Тип рамки: ( ) без рамки (•) одинарная ( ) двойная.
Извините, поздно заметил Ваш P.S. . Да, так краше. В следующей версии (если будет) учту.
User avatar
John Doe
Бюрократ
Posts: 12896
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

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

Post by John Doe »

buniak_a_h wrote: Tue 08 Oct, 2019 10:02 Это, наверно, не ко мне. Я не в курсе и изучать неохота. Если кто поможет - спасибо.
Для начала можно попробовать https://gist.github.com

Изучать ничего не надо, достаточно вставить текст (и обновлять).
При этом у всех заинтересованных будет возможность наглядно увидеть изменения между версиями (diff).

Каждый gist изнутри представляет собой git-репозиторий, но это необязательно использовать.

Edit
Если смущает именно git, но есть опыт работы с svn, то github это позволяет.
Last edited by John Doe on Tue 08 Oct, 2019 11:27, edited 1 time in total.
Post Reply

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