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

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Sun 29 Sep, 2019 07:51

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

Начиная с этой версии я перестал выкладывать текст скрипта в сообщении (уж больно трудоёмко стало, т.к. он вырос). Тем более что “Select all” на сайте опять перестал работать. Теперь только во вложении в виде 7z-архива.


Так как проект несколько разросся, то теперь вместе с файлом самого скрипта поставляются языковой файл ClickToTitleDirRus.lng и файл помощи ClickToTitleDirRus.hlf.

ClickToTitleDir-1.2.10.7z
(16.06 KiB) Downloaded 2 times
Last edited by buniak_a_h on Sun 20 Oct, 2019 22:23, edited 35 times in total.

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Переход к папкам по щелчку на заголовке панели

Post by buniak_a_h » Thu 03 Oct, 2019 15:59

Latest post of the previous page:

Опубликовал версию 1.0.9, практически полностью написанную уже HaRT-ом. От себя доделал для единообразия «диалоговый» режим: клик левее буквы - выбор диска; на букве и двоеточии - переход в корень. Ну, т.е. как в lite-режиме.

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

Переход к папкам по щелчку на заголовке панели

Post by HaRT » Thu 03 Oct, 2019 17:58

«Остапа несло.»
Last edited by HaRT on Thu 03 Oct, 2019 19:21, edited 1 time in total.
Reason: Исправлено позиционирование в меню при щелчке на последнем разделителе
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12366
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 171 times

Переход к папкам по щелчку на заголовке панели

Post by John Doe » Thu 03 Oct, 2019 18:18

Рекомендую сходить по ссылке semver.

Yegor
Posts: 1020
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 8 times
Been thanked: 16 times

Переход к папкам по щелчку на заголовке панели

Post by Yegor » Thu 03 Oct, 2019 20:00

Feature request:
После нажатия ПКМ в блоке редактирования, есть возможность двигать курсор стрелками, хотелось бы чтобы работал и Enter (как ЛКМ).

Мечты: В идеале, чтобы курсор двигался не посимвольно, а между объектами пути (папка -> \ -> c: -> ' ')
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Переход к папкам по щелчку на заголовке панели

Post by buniak_a_h » Thu 03 Oct, 2019 20:43

Yegor wrote:
Thu 03 Oct, 2019 20:00
После нажатия ПКМ в блоке редактирования, есть возможность двигать курсор стрелками, хотелось бы чтобы работал и Enter (как ЛКМ).
Вообще-то у меня работал... Испортилось, что ли? Ой, точно испортилось...
Last edited by buniak_a_h on Thu 03 Oct, 2019 20:44, edited 1 time in total.

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

Переход к папкам по щелчку на заголовке панели

Post by HaRT » Thu 03 Oct, 2019 20:52

buniak_a_h wrote:
Thu 03 Oct, 2019 20:43
Вообще-то у меня работал...
Задокументировать бы…
А насчёт перемещения в диалоговом режиме у меня есть свои соображения, но обсуждать их сегодня я уже не могу.
buniak_a_h wrote:
Thu 03 Oct, 2019 15:59
т.е. как в lite-режиме
Предлагаю назвать его «непосредственным» режимом.

(Не)кстати, выше нам намекнули, что мы неправильно используем semver…
Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

Переход к папкам по щелчку на заголовке панели

Post by buniak_a_h » Thu 03 Oct, 2019 21:02

HaRT wrote:
Thu 03 Oct, 2019 20:52
А насчёт перемещения в диалоговом режиме у меня есть свои соображения, но обсуждать их сегодня я уже не могу.
На самом деле "ловля" позиции по Enter-у или по клику сделана пер-анально. Если сразу после клика пытаться запросить, то получаю позицию, которая была ДО клика. Если повесить на DN_ENTERIDLE, то перед действием заметна конкретная задержка в пол-секунды. Вот повесил на DN_DRAWDLGITEMDONE. Но забыл, что по ENTER-у поле не перерисовывается. Если сразу скажете, как надо - переделаю. Иначе ещё поэкспериментирую...
Yegor, забыл написать... Начинает работать, если после строки Need = 1 вставить if Param2.EventType == F.KEY_EVENT then hDlg:send("DM_REDRAW") end
Last edited by buniak_a_h on Thu 03 Oct, 2019 21:06, edited 1 time in total.

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Thu 03 Oct, 2019 21:26

HaRT wrote:
Thu 03 Oct, 2019 20:52
(Не)кстати, выше нам намекнули, что мы неправильно используем semver…
Из той классификации, что на сайте semver, я не понял, к чему относятся исправления ошибок. Они явно обратно совместимые (т.к. нет сохранения настроек, то версии вообще независимы). Из "добавленного функционала" вспоминается два: я добавил "диалоговый" режим (на самом деле он у меня был всегда, просто в первых двух версиях не публиковал, т.к. не проверено было) и список окон-задач, которые добавили Вы. Стоит ли огород городить?
Мы, получается, идем в одной струе с основным ФАРом: он уже давно имеет версию 3.0.┉. Хотя там за это время не только добавлялись новые возможности, но даже производились обратно-несовместимые изменения... Предлагаю оставить нумерацию "простейшей" - просто увеличивать номер. Тем более, что проект, на мой взгляд, приближается к финишу (версию HaRT-а 1.0.10 ещё не смотрел...

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Fri 04 Oct, 2019 02:30

Предлагаю несколько исправленный, дополненный («расширенный и углубленный» ©Горбачёв) вариант скрипта. Основное, что прошу оценить (на предмет полезности включения в функционал) - это зацикленность меню выбора каталога: если выбрали, то после перехода на выбранный можно перейти на следующий уровень вложенности. Кроме того, в этом случае я предлагаю добавлять в список перехода «..» для выхода на уровень выше.
Last edited by buniak_a_h on Fri 04 Oct, 2019 15:05, edited 6 times in total.

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Fri 04 Oct, 2019 07:28

Yegor wrote:
Thu 03 Oct, 2019 20:00
Мечты: В идеале, чтобы курсор двигался не посимвольно, а между объектами пути (папка -> \ -> c: -> ' ')
Для этого есть Ctrl+стрелки... Да и на слэш (для вывода списка вложенных папок) так будет не попасть.
Правда, я сделал выбор по Ctrl+Down, так что этот аргумент стал неактуален...

User avatar
John Doe
Бюрократ
Posts: 12366
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 171 times

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

Post by John Doe » Fri 04 Oct, 2019 09:38

buniak_a_h wrote:
Thu 03 Oct, 2019 21:26
Из той классификации, что на сайте semver, я не понял, к чему относятся исправления ошибок.

Code: Select all

Учитывая номер версии МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ, следует увеличивать:

МАЖОРНУЮ версию, когда сделаны обратно несовместимые изменения API.
МИНОРНУЮ версию, когда вы добавляете новую функциональность, не нарушая обратной совместимости.
ПАТЧ-версию, когда вы делаете обратно совместимые исправления.
Дополнительные обозначения для предрелизных и билд-метаданных возможны как дополнения к МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ формату.
Перевожу:
- При изменении функциональности чаще всего используется второй компонент версии.
- Третий компонент нужен только в том случае, если нет других изменений кроме исправления ошибок.
buniak_a_h wrote:
Thu 03 Oct, 2019 21:26
Мы, получается, идем в одной струе с основным ФАРом: он уже давно имеет версию 3.0.┉.
Фар не придерживается semver.

buniak_a_h
Posts: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Fri 04 Oct, 2019 09:55

John Doe wrote:
Fri 04 Oct, 2019 09:38

Фар не придерживается semver.

Да я уж догадался. И мы не придерживались поначалу. Так стоит ли теперь начинать? И что делать с уже записанными "неправильными" версиями?
Вообще проект на стадии разработки (т.е. новые фичи появляются практически в каждой версии; по терминологии FAR-а ещё нет ни одной стабильной версии), я опубликовал скрипт в качестве идеи (для обсуждения) и не ожидал, что он заживёт и начнёт развиваться. Поэтому единственные два требования к номеру версии у меня были - уникальность и возрастание. Слова про "первую опубликованную" версию - не мои, я писал просто "стартовый вариант".
А ссылка на сайт попадает в скрипт при вызове (по-моему, Вашего же) макроса ScriptsBrowser\InsertInfo.lua.
Регистратору (regscript) соблюдение правил semver важно?
На самом деле по этой системе у меня много вопросов. Как соберу все - задам в соответствующей теме (пока Вы меня снова не забанили за оффтопик)


User avatar
John Doe
Бюрократ
Posts: 12366
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 171 times

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

Post by John Doe » Fri 04 Oct, 2019 10:33

buniak_a_h wrote:
Sun 29 Sep, 2019 07:51
Начиная с этой версии я перестал выкладывать текст скрипта в сообщении (уж больно трудоёмко стало, т.к. он вырос).
При желании есть удобный способ: viewtopic.php?f=10&t=11408
Ещё пример: viewtopic.php?p=152633#p152633 (кнопка с цитатой покажет исходник сообщения).

А вообще причешите шапку и перенесём в подфорум готовых макросов.

По стилю есть пожелания:

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

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

Post by HaRT » Fri 04 Oct, 2019 11:11

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: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Fri 04 Oct, 2019 11:27

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: 12366
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 171 times

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

Post by John Doe » Fri 04 Oct, 2019 11:37

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: 904
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 78 times
Been thanked: 28 times
Contact:

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

Post by buniak_a_h » Fri 04 Oct, 2019 11:55

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.

Post Reply

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