TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Я не заметил на видео по этой ссылке чистого тотала (цвета, панели, всё не как у чистого - у чистого никаких настроек и панель по умолчанию, для чистоты надо запускать тотал с параметром /i=путь_к_новому_ини.ini). И вообще не припомню отличий этого видео от предыдущего.
А если в RedirectSection секции [Layout] прописаны полные пути, должно работать. Неплохо бы взглянуть на твой wincmd.ini (в личку).
Добавлено спустя 41 минуту:
Не пойму, в чём дело - в твоём INI общая редирекция не задана, и редирекция секции [Layout] - тоже. И у меня с ним всё работает, как и должно - сколько бы ни выполнял TCFS2 /ei tb1, панель не скрывается. RedirectSection у тебя используется только для секций [Colors] и [searches] - но они не имеют никакого отношения к делу.
Попробуй запустить TCFS2 с параметрами /ef "set_tcini(Layout, MyParam, 777)". По идее, в секции [Layout] тотального конфига должен добавиться параметр MyParam=777. Если не появился, значит, TCFS2 просто обращается к другому INI - можно будет выяснять, почему. А если добавился - тогда у меня вообще нет идей, почему tb1 скрывает панель, если имеет доступ к правильной секции.
А если в RedirectSection секции [Layout] прописаны полные пути, должно работать. Неплохо бы взглянуть на твой wincmd.ini (в личку).
Добавлено спустя 41 минуту:
Не пойму, в чём дело - в твоём INI общая редирекция не задана, и редирекция секции [Layout] - тоже. И у меня с ним всё работает, как и должно - сколько бы ни выполнял TCFS2 /ei tb1, панель не скрывается. RedirectSection у тебя используется только для секций [Colors] и [searches] - но они не имеют никакого отношения к делу.
Попробуй запустить TCFS2 с параметрами /ef "set_tcini(Layout, MyParam, 777)". По идее, в секции [Layout] тотального конфига должен добавиться параметр MyParam=777. Если не появился, значит, TCFS2 просто обращается к другому INI - можно будет выяснять, почему. А если добавился - тогда у меня вообще нет идей, почему tb1 скрывает панель, если имеет доступ к правильной секции.
MVV
Да, добавился MyParam=777.
Скорее всего конфликт.
На видео я нажимаю на "+" и появляется панель инструментов.
"+" - это
команда %COMMANDER_PATH%\Programm\ButtonBar\ButtonBar eXtended.exe
параметр em_bar5>1
где em_bar5 - это openbar %commander_path%\install\Bars\plus.bar
Если в моём полноэкранном режиме включить Панель инструментов, через меню Вид, то /ei tb1 отрабатывает как надо - панель не скрывается.
Да, добавился MyParam=777.
Скорее всего конфликт.
На видео я нажимаю на "+" и появляется панель инструментов.
"+" - это
команда %COMMANDER_PATH%\Programm\ButtonBar\ButtonBar eXtended.exe
параметр em_bar5>1
где em_bar5 - это openbar %commander_path%\install\Bars\plus.bar
Если в моём полноэкранном режиме включить Панель инструментов, через меню Вид, то /ei tb1 отрабатывает как надо - панель не скрывается.
В таком случае попробуй в полноэкранном режиме включить панель и посмотреть, изменится ли параметр ButtonBar в секции [Layout]. Если он после включения панели остался 0, то неудивительно, что TCFS2 работает не так, как ожидалось - её же нагло дурят, убеждая, что панель выключена и нуждается во включении.
Ага!! При вызове OPENBAR тотал включает панель инструментов, но не записывает в конфиг, что включил её!
В таком случае рекомендую включать эту панель инструментов через TCFS2, используя параметры /ei tb1 /ef tem(em_bar5) - так вначале будет включаться панель инструментов, если она выключена, а потом будет вызываться OPENBAR.
Ага!! При вызове OPENBAR тотал включает панель инструментов, но не записывает в конфиг, что включил её!
В таком случае рекомендую включать эту панель инструментов через TCFS2, используя параметры /ei tb1 /ef tem(em_bar5) - так вначале будет включаться панель инструментов, если она выключена, а потом будет вызываться OPENBAR.
Кстати, как вариант, можно создать пользовательскую команду, которая будет запускать ButtonBar eXtended.exe с указанными выше параметрами, и вызывать её вместо em_bar5 функцией tem - на случай, если просто tem(em_bar5) будет плохо работать (я не особо знаю принципы работы ButtonBar eXtended). Тогда вначале панель включится, а потом вызовется ButtonBar eXtended, как и прежде.
Параметрами всех функций и команд (за исключением функции tem) могут являться только числа или числовые выражения. Строки не поддерживаются.
Для записи строк можно использовать любую внешнюю утилиту. Правда, вызывать её на данный момент из TCFS2 можно только через пользовательские команды тотала функцией tem.
Для записи строк можно использовать любую внешнюю утилиту. Правда, вызывать её на данный момент из TCFS2 можно только через пользовательские команды тотала функцией tem.
Ага, через запятую значит, спасибо.
А может и такое извращение программа может?
Не выполнять команду если открыта панель, которая не является панелью по-умолчанию.
Код: Выделить всё
/ef "tem(em_bar1), test(hasCaption && hasButtonBar)"Не выполнять команду если открыта панель, которая не является панелью по-умолчанию.
Исходя из этого
Add: Хотя есть таки способ. Если всегда переключаться на определённый Bar с помощью TCFS2, то идею реализовать можно.
Создаётся партия em команд для каждого бара, включая дефолтный, потом стандартные строки в кнопках (%COMMANDER_PATH%\Default.bar) заменяются на:
/ef "tem(em_bar1), test(tcini(Buttonbar, N, #))"
- нет, т.к. нет способа кроме как читать соотв. значение ключа в файле конфигурации. Я давно запрашивал поддержку чтения/записи строк, но мои вариации на предмет отождествления с тематикой программы автора не убедили.MVV писал(а):Строки не поддерживаются.
Add: Хотя есть таки способ. Если всегда переключаться на определённый Bar с помощью TCFS2, то идею реализовать можно.
Создаётся партия em команд для каждого бара, включая дефолтный, потом стандартные строки в кнопках (%COMMANDER_PATH%\Default.bar) заменяются на:
Тогда можно будет проверять по значениям новых ключей:TCFS2.exe /ef "tem(em_BBDefault) set_tcini(Buttonbar, N, 0)"
TCFS2.exe /ef "tem(em_BBProgram) set_tcini(Buttonbar, N, 1)"
TCFS2.exe /ef "tem(em_BBSystem) set_tcini(Buttonbar, N, 2)"
-/-
/ef "tem(em_bar1), test(tcini(Buttonbar, N, #))"
Синтаксис команд после параметра /ef такой же, как и в строках секции [Items].HA3APET писал(а):Ага, через запятую значит, спасибо.
HA3APET писал(а):А может и такое извращение программа может?Код: Выделить всё
/ef "tem(em_bar1), test(hasCaption && hasButtonBar)"
Не выполнять команду если открыта панель, которая не является панелью по-умолчанию.
Добавление строк усложнит разбор команд. Например, сейчас из команд удаляются все пробелы без исключения. В строках это недопустимо. Также будет проблема с кавычками, которые сейчас ограничивают параметры командной строки, значит, для строк их использовать нельзя. Разве что использовать апострофы...Flasher писал(а):Исходя из этого- нет, т.к. нет способа кроме как читать соотв. значение ключа в файле конфигурации. Я давно запрашивал поддержку чтения/записи строк, но мои вариации на предмет отождествления с тематикой программы автора не убедили.MVV писал(а):Строки не поддерживаются.
Что понимается под панелью по умолчанию? Панель инструментов? Тогда я вообще не знаю способа определить это - при смене панели инструментов тотал никуда не пишет информацию об этом, в конфиге остается запись о панели по умолчанию, так что тут вас не спасет и поддержка строк в параметрах TCFS2. Поэтому остается лишь способ, который указал Flasher - менять панели из TCFS2 и одновременно устанавливать какой-либо флаг. Добавлю, что в Autorun.cfg надо будет добавить очистку этого флага - т.к. при запуске тотал сам включает панель по умолчанию. И всё равно будут проблемы с выключением/включением панели - при этом тотал загружает панель по умолчанию, флаг сам не сбросится. Разве что добаить в команду tb1 запись нулевого флага.
Сам хотел указать на autorun, но сперва было желание увидеть, устроит ли такой подход вообще. А прописать в cfg для верной работы достаточно будет:MVV писал(а):Добавлю, что в Autorun.cfg надо будет добавить очистку этого флага - т.к. при запуске тотал сам включает панель по умолчанию. И всё равно будут проблемы с выключением/включением панели - при этом тотал загружает панель по умолчанию, флаг сам не сбросится.
Код: Выделить всё
ShellExec "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" "/d=0 /ef set_tcini(Buttonbar,N,0)"
Последний раз редактировалось Flasher Вт авг 02, 2011 13:02, всего редактировалось 1 раз.
Боюсь, такая строка работать не будет: set_tcini(Buttonbar, N, 0) обязательно брать в кавычки, если писать с пробелами.
Правильнее параметр записать как '/d=0 /ef "set_tcini(Buttonbar, N, 0)"' (кажется, так записывается параметр, содержащий кавычки внутри). Или просто поудалять пробелы.
Кстати, /d=0 можно не указывать, проверяемых условий тут нет (тех, которые после запятой), поэтому задержка включаться не будет.
Правильнее параметр записать как '/d=0 /ef "set_tcini(Buttonbar, N, 0)"' (кажется, так записывается параметр, содержащий кавычки внутри). Или просто поудалять пробелы.
Кстати, /d=0 можно не указывать, проверяемых условий тут нет (тех, которые после запятой), поэтому задержка включаться не будет.