TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

MVV
Если с раскрытием макроса, то как дописать остальные - tcm(275), tcm(6003)? Просто в конце перечислить и всё? Вообще, уже набросал скрипт с проверкой SortDirsByName, при повторном вызове отключающий сортировку, если она включена (думал подержать его в памяти, но критерии (?) завершения не нашел), но разобраться всё-таки нужно :)
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ну да, просто дописать в конец, можно внутрь кавычек, в которых if(), можно после них.

А критерии завершения тут действительно туманны.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Кому-нибудь хотелось отправлять нажатия произвольных виртуальных клавиш с помощью send? Сделал возможность отправки абсолютно любой клавиши по её коду в виде VK_xxx (например, Win как VK_91 или Apps как VK_93). И ещё по мелочи накопилось...

TCFS2 Beta 472

+ сравнение строк в INI с учётом и без учёта регистра
+ функция send может отправлять произвольные виртуальные клавиши (например, Win как VK_91)
* ошибка преобразования в число при чтении из INI
* команды возвращают 0, если ни одна ветка не сработала
* ошибка игнорирования двойных кавычек внутри косых
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ещё в 472 добавил возможность передавать дескриптор 0 в функцию send, чтобы не проверять активность окна, но чуть накосячил, теперь в 474 исправил.

TCFS2 Beta 474

+ функция send принимает нулевой дескриптор окна (отключает проверки активности окна)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Возвращаясь к моему пожеланию, в итоге имеем:

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

tabcommand="msg($433,3009,,1) send(`{DOWN #1}{ENTER}`, 0)"    ; Команды меню вкладок, параметр - количество нажатий ВНИЗ
Переименовать/Заблокировать вкладку (в диалоге): /ei tabcommand(2)
Копировать вкладку на противоположную панель: /ei tabcommand(5)
Сохранить вкладки текущей панели в файл: /ei tabcommand(6)
Сохранить вкладки обеих панелей в файл: /ei tabcommand(7)
Закрыть дубликаты вкладок текущей панели: /ei tabcommand(12)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ну это несколько костыльный вариант, хотя и рабочий. Кстати, задержка, которую ты убрал из команды, возможно нужна, чтобы нажатия клавиш посылались правильному окну. И вместо msg($433,3009,,1) можно использовать просто tcm(3009,1).

А сохранение всё равно работает только через унылый диалог, без которого не обойтись.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Ну это несколько костыльный вариант, хотя и рабочий.
Так ты же сам написал +100500 вместо tcm(3007). Поэтому какие тут ещё варианты? :)
MVV писал(а):чтобы нажатия клавиш посылались правильному окну
А какое окно может оказаться неправильным?
MVV писал(а):А сохранение всё равно работает только через унылый диалог, без которого не обойтись.
Это-то понятно. Я только касаемо вызова самих команд писал, которых нет в inc.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher писал(а):Так ты же сам написал +100500 вместо tcm(3007). Поэтому какие тут ещё варианты? :)
Вариантов пока нет, но в идеале хорошо бы обойтись без нажатий клавиш. Этот вариант гарантированно лучше 3007 как минимум потому, что он не требует переходить на вкладку по 3005 и надеяться, что та успела активироваться.
Flasher писал(а):А какое окно может оказаться неправильным?
Если посылать нажатия слишком рано, меню еще не успеет появиться, тогда в теории нажатия могут быть получены другим окном.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Этот вариант гарантированно лучше 3007
А как насчёт 3008?
MVV писал(а):тогда в теории нажатия могут быть получены другим окном
Другим окном тут может быть только файловая панель. Но пока ни разу не сбоило.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А как насчёт 3008?
Хм, похоже, она делает ровно то же, что и команда контекстного меню вкладки, можно чуть оптимизировать.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):можно чуть оптимизировать
ОК. Ожидаем'с.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Я имел в виду лишь то, что вместо msg($433,3009,,1) send(`{UP 2}{ENTER}`, 0) можно поставить tcm(3008) send(`{ENTER}`,0) или около того.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

tcm(3008,1) только. И это лишь в активной вкладке. А как с неактивной быть?
Поэтому и хотелось бы что-то вроде msg($433,3008,#1,1), если это вообще возможно. Хотя если 3009 возможно, то почему другим нет? Не лучше сделать параметр для любых команд вкладок?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Это ж не ко мне, а к Гислеру. Интересно получилось, что с 3009 можно таким хитрым образом номер вкладки передавать, но думаю, что это просто потому, что сам тотал это использует внутренне.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Захотел тут кнопку-переключатель заделать по этому вопросу, и не получилось. И баг нашел, из-за которого при пропуске параметра class параметр text игнорировался, и заодно добавил третий параметр parent для указания родительского окна.

TCFS2 Beta 480

Теперь можно искать, например, окно дополнительного дерева каталогов (например, чтобы проверить его наличие):

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

findwnd(, W_TreeList1, findwnd(TTOTAL_CMD))
Ответить