TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Если я сперва распахиваю, а потом скрываю заголовок, то панель задач пропадет после первого же восстановления программы из трея - система. И происходит это только при наличии флага развернутости окна - система видит, что окно без заголовка пытается развернуться, думает, что оно полноэкранное, и скрывает панель задач - примерно так.
В любом случае, сама TCFS2 не имеет абсолютно никакого отношения к взаимоотношениям окна тотала и панели задач.
В любом случае, сама TCFS2 не имеет абсолютно никакого отношения к взаимоотношениям окна тотала и панели задач.
Спасибо за отличную программу, наконец то решил изучить её возможности, понял и разобрался, что программа отлично заменяет (как минимум для моих нужд) TCFS, TCMC и даже TCWSHelp.
Но многое я так и не понимаю, например
цитата из Readme
Сделал, получил
Что я упустил?
Вот ещё один момент который я не понял, цитата
Делаю кнопку
TCFS2.exe /ea "move(, , , , 1)" - работает
TCFS2.exe /ea "move(, , , , 0)" - работает
как по аналогии будет выглядеть третья команда? Делаю
TCFS2.exe /ea "move(, , , , isTopmost ? 0 : 1), " - не работает
Начинаю подозревать, что у меня проблемы с логикой))
На данный момент сделал кнопку
TCFS2.exe /ef "set_style(# ^ $00C00000)" tcm(2910) tcm(2902) tcm(2901) tcm(2909) tcm(2911) tcm(2908)
Отлично работает, но хочется сюда добавить переключаемый режим поверх всех окон и переключаемый режим Развернуть\Свернуть в окно. Помогите пожалуйста.
Но многое я так и не понимаю, например
цитата из Readme
Код: Выделить всё
Пример запуска команды fs2 с отключением записи действия Undo (команда работает со своим действием отката):
TCFS2 /u- /ei fs2Код: Выделить всё
---------------------------
TCFS2
---------------------------
Error:
Unavailable key
Items:
fs2
---------------------------
ОК
---------------------------Вот ещё один момент который я не понял, цитата
Код: Выделить всё
t0=move(, , , , 0), test(isTopmost), t1 ; Выключить режим поверх всех окон
t1=move(, , , , 1), test(!isTopmost), t0 ; Включить режим поверх всех окон
t2=move(, , , , isTopmost ? 0 : 1), , t2 ; Переключить режим поверх всех оконTCFS2.exe /ea "move(, , , , 1)" - работает
TCFS2.exe /ea "move(, , , , 0)" - работает
как по аналогии будет выглядеть третья команда? Делаю
TCFS2.exe /ea "move(, , , , isTopmost ? 0 : 1), " - не работает
Начинаю подозревать, что у меня проблемы с логикой))
На данный момент сделал кнопку
TCFS2.exe /ef "set_style(# ^ $00C00000)" tcm(2910) tcm(2902) tcm(2901) tcm(2909) tcm(2911) tcm(2908)
Отлично работает, но хочется сюда добавить переключаемый режим поверх всех окон и переключаемый режим Развернуть\Свернуть в окно. Помогите пожалуйста.
Убедись, что в твоей секции [Items] есть параметр fs2. По идее, в стандартном файле конфигурации он есть. Кстати, ты положил файл TCFS2.ini из папки RU рядом с программой? Там прописана куча стандартных действий, включая fs2.HA3APET писал(а):Сделал, получилЧто я упустил?Код: Выделить всё
--------------------------- TCFS2 --------------------------- Error: Unavailable key Items: fs2 --------------------------- ОК ---------------------------
По идее, третья команда может содержать параметр /ea "move(, , , , isTopmost ? 0 : 1)" - это должно работать. Но опять же, судя по вышеописанному, ты не положил файл TCFS2.ini рядом с программой - если этого не сделать, естественно TCFS2 не будет знать, что такое isTopmost, т.к. этот макрос прописан в конфиге.HA3APET писал(а):Вот ещё один момент который я не понял, цитатаДелаю кнопкуКод: Выделить всё
t0=move(, , , , 0), test(isTopmost), t1 ; Выключить режим поверх всех окон t1=move(, , , , 1), test(!isTopmost), t0 ; Включить режим поверх всех окон t2=move(, , , , isTopmost ? 0 : 1), , t2 ; Переключить режим поверх всех окон
TCFS2.exe /ea "move(, , , , 1)" - работает
TCFS2.exe /ea "move(, , , , 0)" - работает
как по аналогии будет выглядеть третья команда? Делаю
TCFS2.exe /ea "move(, , , , isTopmost ? 0 : 1), " - не работает
Начинаю подозревать, что у меня проблемы с логикой))
Для всех твоих команд в TCFS2.ini прописаны команды включения и выключения (например, cl0 и cl1 первая выключает, а вторая включает командную строку). Лучше использовать их, т.к. тогда все элементы будут включаться/выключаться одновременно, а не просто переключаться, как в твоей команде.HA3APET писал(а):На данный момент сделал кнопку
TCFS2.exe /ef "set_style(# ^ $00C00000)" tcm(2910) tcm(2902) tcm(2901) tcm(2909) tcm(2911) tcm(2908)
Отлично работает, но хочется сюда добавить переключаемый режим поверх всех окон и переключаемый режим Развернуть\Свернуть в окно. Помогите пожалуйста.
В общем, положи файл TCFS2.ini из папки RU в папку программы, и у тебя должны заработать все прописанные там команды. Тогда твоя команда будет выглядеть так:
Код: Выделить всё
TCFS2.exe /ef "run_item(c0) run_item(cl0) run_item(db0) run_item(tb0) run_item(sb0) run_item(kb0) run_item(th0), test(hasCaption) | run_item(c1) run_item(cl1) run_item(db1) run_item(tb1) run_item(sb1) run_item(kb1) run_item(th1)"Код: Выделить всё
fs3_0=c0 cl0 db0 tb0 sb0 kb0 th0
fs3_1=c1 cl1 db1 tb1 sb1 kb1 th1
Код: Выделить всё
TCFS2.exe /ef "run_action(fs3_0), test(hasCaption) | run_action(fs3_1)"Ах да, насчет развернутости и режима "поверх всех окон": допиши в fs3_0 команды t1 и m1, а в fs3_1 - обратные команды t0 и m0. Тогда при отключении всех элементов будет включаться режим "поверх всех окон" и разворачиваться окно, а при выключении - обратно.
Для моих, увы, нет. TCFS2 не умеет в отличии от TCMC перемещаться по каталогам, ну и с Хелпером я бы тоже не стал проводить параллель, всё-таки он умеет и лочить вид панели, и даёт ходить по папкам, использовать буфер, ждать завершения команды, возвращать тек. фильтр, устанавливать дату, атрибуты, засыпать на нужное время, более гибко работать с секциями, читать массив имён выделенного и т.д.HA3APET писал(а):программа отлично заменяет (как минимум для моих нужд) TCMC и даже TCWSHelp
Насколько я понимаю, fs2 как раз сохраняет/запускает undo, поэтому очистка для неё неуместна.HA3APET писал(а):Что я упустил?
Странно, ведь move - это функция, для функций используется команда /ef.HA3APET писал(а):TCFS2.exe /ea "move(, , , , 1)" - работает
Если уже есть команды, то зачем их целиком прописывать в строке запуска? Тут просто: TCFS2.exe /ei t2HA3APET писал(а):TCFS2.exe /ea "move(, , , , isTopmost ? 0 : 1), " - не работает
А смысл такой кнопки? Не лучше сделать сразу кнопку переключения в FullScreen и обратно? Я пользуюсь командой, где undo вообще не используется, а используются функции run_action и test, чтобы срабатывало всегда безглючно.HA3APET писал(а):На данный момент сделал кнопку
TCFS2.exe /ef "set_style(# ^ $00C00000)" tcm(2910) tcm(2902) tcm(2901) tcm(2909) tcm(2911) tcm(2908)
Отлично работает, но хочется сюда добавить переключаемый режим поверх всех окон и переключаемый режим Развернуть\Свернуть в окно. Помогите пожалуйста.
А, ну вон MVV как раз похожий пример привёл. Хотя, чтобы команда срабатывала в разных ситуациях, я предпочитаю тестировать не только по строке заголовка:
Код: Выделить всё
..., test(hasDriveBar && hasTabHeader && hasPathHeader && hasStatusBar && hasButtonBar) |...Здесь ещё не хватает cd0/cd1, th0/th1 и mm0/mm1. У меня вдобавок rm1pm у каждого действия на конце стоит. Действия называются show/hide для ясности.MVV писал(а):Код: Выделить всё
fs3_0=c0 cl0 db0 tb0 sb0 kb0 th0 fs3_1=c1 cl1 db1 tb1 sb1 kb1 th1
Эм? th0 и th1 там есть, в конце.Flasher писал(а):Здесь ещё не хватает cd0/cd1, th0/th1 и mm0/mm1. У меня вдобавок rm1pm у каждого действия на конце стоит. Действия называются show/hide для ясности.MVV писал(а):Код: Выделить всё
fs3_0=c0 cl0 db0 tb0 sb0 kb0 th0 fs3_1=c1 cl1 db1 tb1 sb1 kb1 th1
Я не положил TCFS2.ini рядом с программой. Теперь всё заработало я в восторге. Спасибо за разъяснение.
Изучаю программу дальше.
Сейчас у меня:
и
/ef "run_action(fs3_0), test(hasCaption) | run_action(fs3_1)"
Как сделать, чтобы при нажатии не выключалась панель
инструментов если нету заголовка окна?
То есть сейчас я нажимаю на кнопку и всё как надо выключается, затем включаю панель инструментов и вновь нажимаю на кнопку, всё включается, а панель выключается.
Изучаю программу дальше.
Сейчас у меня:
Код: Выделить всё
[Actions]
fs3_0=c0 cl0 db0 tb0 sb0 kb0 th0 t1 m1
fs3_1=c1 cl1 db1 tb1 sb1 kb1 th1 t0 m0/ef "run_action(fs3_0), test(hasCaption) | run_action(fs3_1)"
Как сделать, чтобы при нажатии не выключалась панель
инструментов если нету заголовка окна?
То есть сейчас я нажимаю на кнопку и всё как надо выключается, затем включаю панель инструментов и вновь нажимаю на кнопку, всё включается, а панель выключается.
Странно, у меня панель инструментов в такой ситуации не выключается. Да и не должна по идее - ведь команда tb1, которую запускает fs3_1, всегда включает панель, независимо от её состояния - она проверяет состояние панели в wincmd.ini.
Запускаю TCFS2 с указанными параметрами, получаю полноэкранный режим, включаю панель инструментов, запускаю TCFS2 снова с такими же параметрами - всё возвращается на место, панель остаётся.
Запускаю TCFS2 с указанными параметрами, получаю полноэкранный режим, включаю панель инструментов, запускаю TCFS2 снова с такими же параметрами - всё возвращается на место, панель остаётся.
Да нет, я как раз понял правильно - запускаю команду, включаю панель, запускаю команду ещё раз. Но у меня панель инструментов не скрывается, когда тотал возвращается из полноэкранного режима.
Чистый тотал тоже так себя ведет?
Перенаправление в wincmd.ini используется?
Если при включенной панели просто выполнить TCFS2 /ei tb1, панель скроется?
Чистый тотал тоже так себя ведет?
Перенаправление в wincmd.ini используется?
Если при включенной панели просто выполнить TCFS2 /ei tb1, панель скроется?
Да, по TCFS2 /ei tb1 панель так же скрывается.
RedirectSection есть в wincmd.ini
На чистом TCFS2 /ei tb1 панель не скрывается.
То есть RedirectSection мешается? Если да, то найти какой не сложно. Или все убрать?
А нет, в чистом ТС, тоже самое, новое видео по ссылке, что выше,
там видно как одна и та же кнопка ведёт себя по разному.
RedirectSection есть в wincmd.ini
На чистом TCFS2 /ei tb1 панель не скрывается.
То есть RedirectSection мешается? Если да, то найти какой не сложно. Или все убрать?
А нет, в чистом ТС, тоже самое, новое видео по ссылке, что выше,
там видно как одна и та же кнопка ведёт себя по разному.
Вообще, я вроде делал распознавание редирекции. Раз скрывается, значит, не срабатывает - значит, имеем баг. 
Если RedirectSection и мешает, то только один - который прописан в секции [Layout] - параметр проверяется именно в этой секции. А прописан файл может быть или в этом параметре, или в параметре AlternateUserIni секции [Configuration], если в [Layout] прописано RedirectSection=1.
Думаю, путь к INI-файлу для редирекции указан неполный (только имя), поэтому TCFS2 не находит файл. Но все равно странно, что панель скрывается - если в INI не найдено параметра, его значение считается равным 1. Вот обратная ситуация возможна, если файл не найден - программа тогда думает, что панель включена, и может включить её командой tb0.
Не вижу новой ссылки на видео, вижу только старую. Но в чистом TC редирекции быть не может, следовательно, всё должно работать.
Если RedirectSection и мешает, то только один - который прописан в секции [Layout] - параметр проверяется именно в этой секции. А прописан файл может быть или в этом параметре, или в параметре AlternateUserIni секции [Configuration], если в [Layout] прописано RedirectSection=1.
Думаю, путь к INI-файлу для редирекции указан неполный (только имя), поэтому TCFS2 не находит файл. Но все равно странно, что панель скрывается - если в INI не найдено параметра, его значение считается равным 1. Вот обратная ситуация возможна, если файл не найден - программа тогда думает, что панель включена, и может включить её командой tb0.
Не вижу новой ссылки на видео, вижу только старую. Но в чистом TC редирекции быть не может, следовательно, всё должно работать.