MVV
|
Posted: Thu Jun 03, 2010 22:31 Post subject: TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое |
|
|
В общем, вот моя реализация аддона TCFS2 для управления режимами окон ТК, а также модуль TCFS2Tools (бывший Autorun_HideMenu) для сокрытия главного меню, который работает с Autorun.wdx (впрочем, последние версии могут запускаться и без него - подробности в Readme).
Информация о последней версии
Версия: 2.4.3
URL: TCFS2 на wincmd.ru / TCFS2 at totalcmd.net
Версия: 1.4.3 32/64
URL: TCFS2Tools на wincmd.ru / TCFS2Tools at totalcmd.net
Особенности TCFS2:
+ разворачивать/восстанавливать окно
+ перемещать и изменять размер
+ скрывать и отображать заголовок
+ ставить окно "поверх других окон"
+ отключать любые отключаемые элементы окна ТК
+ изменять текущий путь в панелях
+ перемещать сепаратор файловых панелей
+ эмулировать нажатия клавиш
+ отменять последнее действие запуском команды отката
+ и многое другое...
Особенности TCFS2Tools:
+ скрывать/отображать строку главного меню
+ временно отображать главное меню программы при вызове
+ отображать главное меню в виде всплывающего по команде пользователя
+ получать/устанавливать позицию разделителя файловых панелей
+ получать текущие режимы панелей
+ получать системные величины, возвращаемые функцией GetSystemMetrics
+ получать размеры рабочей области экрана
Идея TCFS2 - полная свобода действий. Настраиваете отдельные команды для включения/выключения чего-то (для каждой команды можно задать условие выполнения - например, скрывать панель инструментов не нужно, если в INI написано, что она и так скрыта). Далее, настраиваете действия, которые содержат последовательность команд. И те и другие можно выполнять с командной строки. В командную строку можно напихать сколько угодно команд, действий и параметров в любом порядке. Для переключения в режим выполнения действий добавьте параметр /ea, для переключения в режим выполнения команд - параметр /ei. Например, /ea undo /ei tb0 /ea fs и так далее. Во время выполнения команд формируется действие Undo, позволяющее в будущем легко отменить последнюю операцию.
Команда выполняется, только если условие ее выполнения истинно. После выполнения команды делается задержка (например, чтобы ТК успел обновить wincmd.ini), затем проверяется, выполнена ли команда. Если указано условие отката, проверяется его истинность, иначе проверяется, стало ли ложным условие выполнения команды. При успехе команда считается завершенной и в undo дописываются команды ее отмены. Если условие не задано, команда выполняется всегда.
В прилагаемом конфиге созданы команды для включения/выключения всех настоящих элементов интерфейса ТК (поправьте, если что-то забыл), разворачивания ТК на весь экран и восстановления (m1 и m0), а также для сокрытия и отображения заголовка окна (c0 и c1; после переключения заголовка нужно либо развернуть/свернуть окно, либо вызвать команду rr для перерисовки). Также настроено действие fs, которое отключает все что можно.
Можно использовать чисто команды, не создавая действий - задавая последовательность команд в командной строке, например: /ei tb0 db0 dc0 tt0 sb0 kb0 c0 rr m1. Ничто не мешает создать себе несколько кнопок для переключения между желаемыми режимами.
Последние версии допускают даже использование функций без создания команд при переключении в режим выполнения функций с помощью ключа /ef, например: /ef "set_separator(40)".
Руководство по использованию свободных битов стиля окна для хранения состояния тех или иных состояний находится в этом посте.
Last edited by MVV on Mon Nov 11, 2019 12:19; edited 40 times in total |
|