Страница 1 из 1

Переход к "симметричному" файлу в противоположной панели

Добавлено: Сб июл 28, 2012 18:35
LonerD
Объединю в теме два похожих вопроса по навигации между панелями.
Метод реализации - скрипт (желательно портабельный), TCFS2, другие методы?

(в тексте под словом "объект" подразумевает непосредственно файл или папка/виртуальная папка/диск/сетевая папка... - в общем, то, на что можно поместить курсор).

1. Нужно перейти в противоположную панель на ту же позицию сверху, которая активна в текущей панели.
В активной панели курсор на третьем сверху объекте - переходим на противоположную панель тоже на третий сверху объект.
Если в противоположной панели меньше объектов, чем в текущей, и в текущей панели курсор находится на объекте, которому нет соответствия в противоположной панели, - то переход осуществляется на последний объект противоположной панели. То есть в активной панели десять объектов, и курсор на седьмом, а в неактивной всего пять объектов - то переходим на пятый (последний) объект неактивной панели.

2. Нужно переместить курсор в противоположную панель симметрично разделителю панелей. То есть примерно то, что в противоположном запросе, но учитываются только файлы, которые отображаются на панелях.
На скриншоте. Курсор на правой панели на файле Taskman.exe. После вызова команды (скрипта) / нажатия хоткея - курсор должен оказаться на правой панели на папке 1049
Изображение
У меня смутное подозрение, что такое можно решить только через AHK путём вычисления координат, но может есть и более простые решения.

[mod="Avada"]Тема перенесена из "Общих вопросов" в "Автоматизацию".[/mod]

Добавлено: Сб июл 28, 2012 18:54
Flasher
LonerD
Во-первых, какой в этом смысл?
Во-вторых, что тема делает в общих вопросах?

"переместить курсор ... параллельно разделителю панелей" - вообще не понял...

А делать по 1-му пункту можно только с прочтением списков в обеих панелях. Не знаю, как в на AutoIt, а в VBS такое осуществимо только Хелпером.

Добавлено: Сб июл 28, 2012 19:35
LonerD
Во-вторых, что тема делает в общих вопросах?
А в каких?
Это как бы и не автоматизация какой-то задачи, а навигация.
В запрос скриптов? А вдруг можно без скриптов сделать... через TCFS2 или батником...
вообще не понял...
Добавил скрин и пояснение к нему.

Добавлено: Сб июл 28, 2012 19:52
Mellomann
LonerD
А что стоит просто ткнуть мышкой?

Добавлено: Сб июл 28, 2012 20:10
Flasher
LonerD писал(а):Это как бы и не автоматизация какой-то задачи, а навигация.
Сравнивать желаемое действие с реализацией этого действия некорректно. Ещё при том, что изначально был указан метод этой реализации.
LonerD писал(а):А вдруг можно без скриптов сделать... через TCFS2 или батником...
TCFS2 и батники - это та же автоматизация. TCFS2 тут никак не поможет. Батники (они же сценарии) без утилит и подавно.

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

Ответа на первый вопрос так и не увидел..

Добавлено: Сб июл 28, 2012 21:21
LonerD
А что стоит просто ткнуть мышкой?
Вот потому я и предполагаю, что решение второй задачи можно свести к эмуляции "тыканья" через AHK и повесить эту эмуляцию на хоткей.

При работе с клавиатурой - не хочется тянуться к мыши.
Я тут пытаюсь перейти от мышачества к клавожатию. Не надо переманивать меня обратно :) Мне и так многого не хватает (в частности есть ещё желание повесить на хоткей прокрутку активной панели без необходимости смещения курсора на последний файл панели, но это уже совсем другая история).
речи быть не может.
поправил заголовок и описание.
это та же автоматизация.
Ок. Тогда, думаю, Avada перенесёт тему в нужный раздел.
Батники (они же сценарии) без утилит и подавно.
Против задействования сторонних небольших утилит ничего не имею.
Не знаю, как в на AutoIt, а в VBS такое осуществимо только Хелпером.
Я не против Хэлпера, а если с поддержкой портабельности - ещё лучше.
Во-первых, какой в этом смысл?
Два каталога со схожими файлами. Имена файлов в двух панелях разные.
Простейшие примеры со смыслом:
- документы. В одной панели - отчёты за один год по месяцам, во второй панели - за другой год. Надо быстро перейти к аналогичному отчёту (за тот же месяц другого года) во второй панели. Нажать Tab и зажать стрелочку вниз, следя за тем, чтобы попасть именно на нужный файл - занимает время, тянуться к мыши - тоже. Хочется хоткеем.
- изображения. В одной панели оригиналы. Во второй - обработанные. Выбрать на одной панели изображение, посмотреть его, нажать хоткей - и перейти к такому же обработанному изображению на другой панели.
- электронные версии журналов. В одной панели открыты варианты в pdf, во второй - в djvu, или же разного качества сканы, или же за разные годы...
- иконки. В одном каталоге - несколько сот иконок 32х32, в другом - 24х24. Выбираем нужную иконку в одном каталоге, жмём хоткей - и переходим к такой же иконке во второй панели.

Добавлено: Сб июл 28, 2012 22:12
Mellomann
LonerD писал(а):прокрутку активной панели без необходимости смещения курсора на последний файл панели
А ScrollLock тебе на что? По крайней мере в M$ Excel крутит на ура.

Добавлено: Сб июл 28, 2012 22:30
Flasher
LonerD писал(а):Против задействования сторонних небольших утилит ничего не имею.
Всё равно делать это через консоль бессмысленно.

Приведённые примеры за исключением одного могут вполне сопоставляться по именам файлов, для этого вовсе не требуется сортировать аналогичным образом файлы в панелях и иметь аналогичное число элементов в обоих списках.

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_EXE% /O
/R=%T%N\' %Z /P=R
wcmicons.dll,48
Перейти на одноимённый файл в правую панель
в левую соотв. > /L=%T%N\' /P=L

Касаемо pdf/djvu и подобных случаев нужен скрипт.

Добавлено: Сб июл 28, 2012 22:34
LonerD
А ScrollLock тебе на что?

1. Это совсем другая история, в данной теме это уже офтоп. Конкретный запрос сформулировал тут, и не думаю, что его можно решить чем-то кроме AHK.
2. Про функционал ScrollLockа я не знал :) , да и в любом случае в панелях он не срабатывает тем же образом, что и в Excellе.
3. Даже если бы и срабатывал в панелях Тотала - это не выход, ибо его надо включать-выключать, и такой вариант на хоткей не повесить.

Добавлено: Вс июл 29, 2012 04:13
LonerD
вполне сопоставляться по именам файлов
Не всегда. Имена файлов, как правило, разные.

Приведённую тобой команду можно сделать чуть менее красивой, но более универсальной через TCFS2, получается одна команда для обеих панелей.

Код: Выделить всё

[em_SameName]
cmd=%commander_exe% /O /S
param=/L=%T%N\' %Z
[em_GoToSameName]
cmd=%commander_path%\Plugins\exe\TCFS2\TCFS2.exe /ef tem(em_SameName) "tcm(4002), eval(L_isActive) | tcm(4001)"

Добавлено: Вс июл 29, 2012 13:28
Flasher
LonerD
Я это хотел предложить, но мысль в том, что лучше под эти команды иметь 2 хоткея со стрелочками, чтобы не путаться.
LonerD писал(а):Не всегда. Имена файлов, как правило, разные.
Если имена разные, то и сортироваться они будут по-разному, и, соответственно, располагаться относительно разделителя не всегда на одной линии.