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:

DV wrote: Tue 14 Apr, 2020 16:30 по нажатию как левой, так и правой кнопки мыши с этого момента показывается главное меню FAR
Подтверждаю. Far Manager v3.0 build 5578 x86 (2020-04-03)
Фар есть инструмент, а не нянька. © 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 »

DV, HaRT, у меня не получилось повторить, но у меня несколько изменённый скрипт ("заточенный" под мой панельный модуль для просмотра таблицы _G). Не знаю, что влияет, на всякий случай закачал версию 1.4.8 .
Если беда продолжится - придётся как-то отлаживать.
P/S. Припоминаю - была беда, что после каких-то действий функционировать вообще переставало (до перезагрузки макросов). И я, вроде, с этим боролся. Может, забыл выложить - не знаю. Попробуйте, напишите…
DV
Posts: 437
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 23 times
Been thanked: 15 times

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

Post by DV »

buniak_a_h wrote: Tue 14 Apr, 2020 18:54закачал версию 1.4.8
У меня то же самое :( Но это, похоже, уникально для Windows 10. Потому что под Windows 8.1 и под Windows 7 не воспроизводится. Все системы 64-bit.
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 »

DV, не, у меня Win-10 …
citRiks
Posts: 899
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 274 times
Been thanked: 47 times

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

Post by citRiks »

Я в строку 1086 версии 1.4.7 впендюрил "Select All",
чтобы интуитивно выделить и скопировать весь путь:

Code: Select all

..
    elseif Param2.EventType == F.KEY_EVENT and
           (key == 'CtrlA' or key == 'RCtrlA' ) then
     local sz_path_text = hDlg:send(F.DM_GETTEXT, Pth)
     hDlg:send(F.DM_SETSELECTION, Pth, {BlockStartPos = 1, BlockWidth = sz_path_text:len(), BlockStartLine = -1, BlockHeight = 1, BlockType = 1})
     return true
     ..
Отмечу что скрипт прекрасен, даже цвета настраиваются, замечательно.
чтобы было видно когда фокус ушел туда, поменял там расцветку на очень расцвеченную
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
Taciturn
Posts: 423
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 35 times
Been thanked: 12 times
Contact:

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

Post by Taciturn »

Берём какой-нибудь Far, например Far3_stable.Crash.7z, распаковывам туда ClickToTitleDir-1.4.8.7z, запускаем Far, кликаем левее или правее пути, на символ ═ или ╗╔, появляется стандартное верхнее меню Far'а (то, что по F9), макрос больше не работает. При этом если вызывать меню по F9, то ничего не ломается — но и не чинится, если до этого было сломано кликом.
Last edited by Taciturn on Tue 28 Apr, 2020 19:50, 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 »

Taciturn, у меня когда-то такое было, лечилось перезагрузкой макросов. Не проверите?
P/S. Я, вроде, поборол тогда (у себя. Не уверен, что выкладывал, и не помню, в чём было дело Не в самом скрипте - точно; возможно в модуле. Постараюсь вспомнить).
User avatar
Taciturn
Posts: 423
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 35 times
Been thanked: 12 times
Contact:

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

Post by Taciturn »

buniak_a_h, да, после перезагрузки работает. Но хотелось бы без перезагрузки.
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 »

DV, HaRT, Taciturn, citRiks, попробуйте версию 1.4.9 .
Last edited by buniak_a_h on Sat 02 May, 2020 05:29, edited 1 time in total.
User avatar
Taciturn
Posts: 423
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 35 times
Been thanked: 12 times
Contact:

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

Post by Taciturn »

buniak_a_h, больше не ломается, спасибо!
DV
Posts: 437
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 23 times
Been thanked: 15 times

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

Post by DV »

buniak_a_h wrote: Sat 02 May, 2020 05:23попробуйте версию 1.4.9
Детальный отчёт:
1. эта версия определённо исправила ситуацию с "кликом не туда": теперь и под Windows 7, и под Windows 8.1 после клика вне рабочей области скрипта (например, по рамке файловой панели) он (скрипт) продолжает работать;
2. под WIndows 10 клик в рабочей области правой панели всё так же не работают, однако при этом работоспособность кликов в левой панели сохраняется (то есть после нерабочего клика в правой панели скрипт продолжает работать в левой панели).
Что наталкивает на мысль о том, что для окончательной победы нужен ещё один фикс, подобный сделанному в версии 1.4.9, в каком-то ещё месте скрипта.
DV
Posts: 437
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 23 times
Been thanked: 15 times

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

Post by DV »

Новые данные:
Я понатыкал far.Message() в разных местах скрипта, и вот, что я обнаружил:
1. Для правой панели функция ParseLine возвращает пустоту
2. Вызов NewParse из ParseLine для правой панели отличается от левой панели тем, что строка Line для правой панели заканчивается текущим временем вида "12:07 PM". То есть без углового символа '╗' в конце. Должно быть, это потому, что в настройках системы выбран формат "English (United States)" для даты.
А под Windows 7 и Windows 8.1 у меня выбран формат "Russian (Russia)" - и, хотя в правой панели FAR всё так же отображается текущее время вида "12:07", в строке Line в функции ParseLine это время непостижимым образом отсутствует, и вся строка Line для правой панели выглядит вот так: "╔═════════════ C:\FAR3\Profile\Macros ════════════╗".
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 »

Я писал-писал, а оказалось всё просто …
Увы, это так. Но я просто не знаю, как ещё распарсить строку консоли, чтоб определить границы заголовка. Я просил сделать функцию - аналог far.SaveScreen, но чтоб там для каждой позиции было бы содержимое и (внимание!) цветовые характеристики . Увы, глас вопиющего остался вопить.
За проведённую работу спасибо, сделаю "заплатку" для конкретной настройки этого формата даты. Не знаю, как будет работать в других условиях…
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 04 May, 2020 10:41 Я просил сделать функцию - аналог far.SaveScreen, но чтоб там для каждой позиции было бы содержимое и (внимание!) цветовые характеристики
ffi?
https://docs.microsoft.com/en-us/window ... tattribute
https://t.me/FarManager — Telegram чат
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, Спасибо. Не сразу, но допишу чтение с консоли текста и цвета.
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 04 May, 2020 10:59 чтение с консоли текста и цвета.
Пример чтения текста (но не цвета) есть в скрипте BufferScroll.
https://t.me/FarManager — Telegram чат
Post Reply

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