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

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 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.12.
  1. Исправлена ошибка процедуры настройки, возникшая из-за изменения интерфейса. Ошибка проявлялась при вызове настройки сликом средней клавиши (колёсиком) на заголовке панели.
  2. Сделана возможность вызова диалога настройки скрипта через меню настроек плагинов.
ClickToTitleDir-1.4.12.7z
(24.95 KiB) Downloaded 32 times

Вместе с файлом самого скрипта поставляются языковые файлы ClickToTitleDirRus.lng и ClickToTitleDirEng.lng и файл помощи ClickToTitleDirRus.hlf.
Last edited by buniak_a_h on Mon 25 Dec, 2023 02:15, edited 69 times in total.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 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
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

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

Post by buniak_a_h »

DV, HaRT, у меня не получилось повторить, но у меня несколько изменённый скрипт ("заточенный" под мой панельный модуль для просмотра таблицы _G). Не знаю, что влияет, на всякий случай закачал версию 1.4.8 .
Если беда продолжится - придётся как-то отлаживать.
P/S. Припоминаю - была беда, что после каких-то действий функционировать вообще переставало (до перезагрузки макросов). И я, вроде, с этим боролся. Может, забыл выложить - не знаю. Попробуйте, напишите…
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 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.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

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

Post by buniak_a_h »

DV, не, у меня Win-10 …
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 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: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 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.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

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

Post by buniak_a_h »

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

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

Post by Taciturn »

buniak_a_h, да, после перезагрузки работает. Но хотелось бы без перезагрузки.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 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: 600
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

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

Post by Taciturn »

buniak_a_h, больше не ломается, спасибо!
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 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: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 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 ════════════╗".
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

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

Post by buniak_a_h »

Я писал-писал, а оказалось всё просто …
Увы, это так. Но я просто не знаю, как ещё распарсить строку консоли, чтоб определить границы заголовка. Я просил сделать функцию - аналог far.SaveScreen, но чтоб там для каждой позиции было бы содержимое и (внимание!) цветовые характеристики . Увы, глас вопиющего остался вопить.
За проведённую работу спасибо, сделаю "заплатку" для конкретной настройки этого формата даты. Не знаю, как будет работать в других условиях…
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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 чат
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

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

Post by buniak_a_h »

John Doe, Спасибо. Не сразу, но допишу чтение с консоли текста и цвета.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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 “Обсуждение макросов”