Страница 24 из 130

Добавлено: Пт май 06, 2011 21:00
Flasher
MVV писал(а):Почитай в Readme оба примера команды multi_switch, старый и новый - это и есть примеры. Да и в теме я их сегодня приводил.
Не вижу примеров без использования палок.
MVV писал(а):Почитай описание TCFS2Tools, поймёшь.
Читал вчера ещё - не понял.
MVV писал(а):Сам тотал не принимает параметров для внутренних команд.
Для cm_list и ряда команд в секции "Команды с параметрами" принимает.
MVV писал(а):Повторяю последний раз - команды для работы с разделителями - единственное, что изменилось. Прям трагедия. Не думаю, что это так смертельно.
Повторяю ещё раз - ты создал неудобства. У многих ряд невключённых команд с сепаратором уже прописан. Ты предлагаешь всем начать везде и всюду тратить время на правку своих ini и зашитых постов. Это также несмертельно, как и остаться на старой версии. И пока убедительного объяснения, почему ты убрал передвижение разделителя из TCFS2 я не увидел. Ругань "глупых" антивирусов - не аргумент.
MVV писал(а):Развивай фантазию, получишь примеры. :) Мало ли, захочешь включать те или иные элементы окна в зависимости от размеров экрана.
Я сейчас не хочу напрягать мозг, чтобы выяснить, зачем ты это всё добавил. На этот вопрос ты мне сам лучше ответь.
MVV писал(а):Н-да, наверное я что-то не так сделал, что у меня всё работает...
У меня одна горизонтальная полоска с обоими вариантами - хоть убей...

Добавлено: Пт май 06, 2011 21:27
MVV
MVV писал(а):Да, что-то странное происходит:

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

TCFS2.exe /ei set_separator(50) sp_sw_50_95 sp_sw_50_95 /ea fs /us undo
При запуске сепаратор прыгает на 95%, хотя должен остаться в центре. Воспроизвести могу, значит, посмотрю, что не так.
Упростил команду до невозможного:

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

TCFS2.exe /ei set_separator(80) /ef delay(1000) /ei set_separator(50) /ef delay(1000)  tcm(2902) tcm(2902)
Квантовый скачок отлично наблюдается. Видимо, проблема в этом самом костыле, устанавливающем позицию разделителя. Будем искать.

Flasher писал(а):
MVV писал(а):Почитай в Readme оба примера команды multi_switch, старый и новый - это и есть примеры. Да и в теме я их сегодня приводил.
Не вижу примеров без использования палок.
Ну там не то чтобы совсем без палок, но их стало в 3 раза меньше (все 3 условия проверяются за 1 раз), оба примера в Readme, доступном по ссылке в этом посте.
Flasher писал(а):Читал вчера ещё - не понял.
А теперь понял? :)
Для cm_list и ряда команд в секции "Команды с параметрами" принимает.
Это как можно передать параметр для cm_List? Тотал блокирует поле параметра для неё. А команды с параметрами принимают строковые параметры, которые через сообщение WM_TC_COMMAND (1075) передать невозможно - между разными процессами строки не передаются. Без проблем можно передать только одно 32-битное число (вообще, каждое оконное сообщение передаёт 2 свободных параметра, но один из них содержит номер внутренней команды).
У меня одна горизонтальная полоска с обоими вариантами - хоть убей...
Вставь команду в конфиг из архива по ссылке выше - и всё должно заработать. Во всяком случае, у меня работает.

Добавлено: Пт май 06, 2011 22:29
sa
MVV писал(а):Упростил команду до невозможного:
Ещё проще!

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

TCFS2.exe /ei set_separator(80)  /ef tcm(540)

Добавлено: Пт май 06, 2011 23:35
Flasher
MVV писал(а):Это как можно передать параметр для cm_List? Тотал блокирует поле параметра для неё.
Я не говорил конкретно про поле "Параметры", а про восприятие параметра как такового.
MVV писал(а):А команды с параметрами принимают строковые параметры, которые через сообщение WM_TC_COMMAND (1075) передать невозможно - между разными процессами строки не передаются.
Ты мог бы сделать поддержку пользовательских команд, а там ТС сам будет читать параметры.
MVV писал(а):Вставь команду в конфиг из архива по ссылке выше - и всё должно заработать. Во всяком случае, у меня работает.
По предыдущей ссылке скачал, всё переместил, заменил, там уже есть команда switch_sp, которая теперь вообще не срабатывает, окно остаётся в прежнем состоянии.

Добавлено: Сб май 07, 2011 00:14
MVV
Flasher писал(а):Я не говорил конкретно про поле "Параметры", а про восприятие параметра как такового.
А какой параметр и каким образом можно передать команде cm_List?
Ты мог бы сделать поддержку пользовательских команд, а там ТС сам будет читать параметры.
Не вижу необходимости в пользовательских командах в TCFS2. Да и возни с ними... Да и строковые там параметры, а TCFS2 работает только с числовыми.
Flasher писал(а):По предыдущей ссылке скачал, всё переместил, заменил, там уже есть команда switch_sp, которая теперь вообще не срабатывает, окно остаётся в прежнем состоянии.
Странно. У меня работают обе. Ты точно установил TCFS2Tools?

Добавлено: Сб май 07, 2011 00:45
Flasher
MVV писал(а):А какой параметр и каким образом можно передать команде cm_List?
Строковой. Тут на днях обсуждалось.
MVV писал(а):Не вижу необходимости в пользовательских командах в TCFS2. Да и возни с ними... Да и строковые там параметры, а TCFS2 работает только с числовыми.
Я в курсе. Но запрос добавить строковые уже был. Необходимость есть, потому что можно много инверсных команд задействовасть и не возиться с секцией user той же.
MVV писал(а):Странно. У меня работают обе. Ты точно установил TCFS2Tools?
Я с этого начинал. Такого я точно не мог не учесть. Проверяю на 7-ке.

Добавлено: Сб май 07, 2011 12:22
ask-rus
MVV
В чем полезность функции "Поверх всех окон" для TC? В каких случаях TC выгодно использовать поверх всех окон? Разве всё вызванное из TC, включая Lister, не будут уходить на задний план? Фича для галочки? Помоги развеять сомнения.

Добавлено: Сб май 07, 2011 12:39
MVV
Flasher писал(а):
MVV писал(а):А какой параметр и каким образом можно передать команде cm_List?
Строковой. Тут на днях обсуждалось.
А, прямо в строке команды дописывать.
Flasher писал(а):
MVV писал(а):Не вижу необходимости в пользовательских командах в TCFS2. Да и возни с ними... Да и строковые там параметры, а TCFS2 работает только с числовыми.
Я в курсе. Но запрос добавить строковые уже был. Необходимость есть, потому что можно много инверсных команд задействовасть и не возиться с секцией user той же.
Посмотрим, может быть, в будущем. Но какие параметры ты бы хотел передавать таким командам? Стандартные параметры тотала не получится. Разве что готовую юзер-команду вызвать.
Flasher писал(а):
MVV писал(а):Странно. У меня работают обе. Ты точно установил TCFS2Tools?
Я с этого начинал. Такого я точно не мог не учесть. Проверяю на 7-ке.
Ну дела... У меня вроде и на 7, и на хп работает.
ask-rus писал(а):В чем полезность функции "Поверх всех окон" для TC? В каких случаях TC выгодно использовать поверх всех окон? Разве всё вызванное из TC, включая Lister, не будут уходить на задний план? Фича для галочки? Помоги развеять сомнения.
Если не надо работать с листером, а нужно именно взаимодействие окна тотала с другими, чтобы окно тотала было над ними, даже будучи неактивным. Скажу сразу, в плане конкретно тотала я это использую редко, но некоторые очень любят эту фишку. Кстати, проблема ухода дочерних или параллельных окон на задний план очень часто встречается в программах, которые позволяют сделать главное окно поверх остальных.
sa писал(а):
MVV писал(а):Упростил команду до невозможного:
Ещё проще!

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

TCFS2.exe /ei set_separator(80)  /ef tcm(540)
Ну, в таком варианте у меня срабатыавет не всегда. Вот в таком всегда:

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

/ei set_separator(80) /ef delay(3000)  tcm(2902) tcm(2902)
А в таком скачок наблюдается на версии 1.5 (поначалу мне показалось, что он там не наблюдается):

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

/ef set_separator(80) /ef delay(3000)  tcm(2902) tcm(2902)
Недаром я его костылём называю. Будем искать, что можно сделать.
Пока заметил, что мышиные сообщения посылаются через PostMessage, а я их посылаю через SendMessage. Но тут могут быть проблемы, т.к. после отправки сообщений я выключаю ограничение движения мыши, а с PostMessage сообщения будут обработаны явно позже (SendMessage посылает сообщение и ждет его обработки, а PostMessage лишь добавляет его в конец очереди). Нужно всё отладить.

Добавлено: Сб май 07, 2011 13:00
ask-rus
MVV писал(а):Если не надо работать с листером, а нужно именно взаимодействие окна тотала с другими, чтобы окно тотала было над ними, даже будучи неактивным. Скажу сразу, в плане конкретно тотала я это использую редко, но некоторые очень любят эту фишку. Кстати, проблема ухода дочерних или параллельных окон на задний план очень часто встречается в программах, которые позволяют сделать главное окно поверх остальных.
Понятно, значит Листер-таки уходит на задний план... Решить это нельзя? Имею в виду установку приоритетов, когда TC поверх всех, а дочерние поверх TC и всех остальных.

Добавлено: Сб май 07, 2011 13:06
MVV
Раз сам тотал не умеет делать окна листера поверх других окон, кто-то должен постоянно сидеть в памяти и делать это. И это точно будет не TCFS2, т.к. она не сидит в памяти постоянно (за исключением случаев с зацикливанием, от которых, надеюсь, избавились :D).

Алгоритм работы такой программы по идее должен быть следующим: периодически (скажем, раз в секунду) проверять режим окна тотала и при обнаружении изменений (или при включении режима) перебирать все остальные окна тотала и ставить им этот же режим.

Добавлено: Сб май 07, 2011 14:34
ask-rus
MVV писал(а):Раз сам тотал не умеет делать окна листера поверх других окон, кто-то должен постоянно сидеть в памяти и делать это. И это точно будет не TCFS2, т.к. она не сидит в памяти постоянно (за исключением случаев с зацикливанием ).
Ладно, мое дело нупское, подсказал и пошёл себе дальше... к tLister. :D

Добавлено спустя 1 час 24 минуты 26 секунд:

Нажатием кнопки на панели инструментов №2 перехожу в фуллскрин со скрытием этой панели инструментов. Возвращаясь из фуллскрина в обычный режим я вижу перед собой не панель инструментов №2, а панель №1, которая является главной и загружается при запуске TC. По-моему, это неверно.

Добавлено: Сб май 07, 2011 17:46
MVV
ask-rus писал(а):Нажатием кнопки на панели инструментов №2 перехожу в фуллскрин со скрытием этой панели инструментов. Возвращаясь из фуллскрина в обычный режим я вижу перед собой не панель инструментов №2, а панель №1, которая является главной и загружается при запуске TC. По-моему, это неверно.
Особенность тотала в том, что после сокрытия и отображения панели инструментов он загружает BAR-файл по умолчанию. И нет способа узнать, какой BAR-файл у тотала сейчас загружен, поэтому ничего с этим сделать нельзя. Лучше не выключать панель инструментов, если этот нюанс сильно напрягает. Зато эту особенность можно использовать для возврата к BAR-файлу по умолчанию.

Заменил SendMessage на PostMessage, теперь вроде даже передвигать мышь программно не нужно, всё работает и так. Прошу протестировать:

TCFS2 2.0.2.236 на rghost.ru

Проверял так:

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

/ei set_separator(80) /ef delay(500) /ei set_separator(40) /ef delay(500) /ea fs

Добавлено: Сб май 07, 2011 17:59
ask-rus
Как выгрузить TCFS2Tools.dll, чтобы заменить на новую? cm_UnloadPlugins не помогает. Неужели расцветку удалять и перегружать TC?

Добавлено: Сб май 07, 2011 18:14
MVV
ask-rus писал(а):Как выгрузить TCFS2Tools.dll, чтобы заменить на новую? cm_UnloadPlugins не помогает. Неужели расцветку удалять и перегружать TC?
Расцветку удалять не нужно, просто переименуй библиотеку и положи вместо неё новую (или скажи скопировать, переименовав существующий файл), а потом перезагрузи тотал, и он сам подхватит новую. Библиотека защищает себя от выгрузки, т.к. подключается к оконной процедуре.

Добавлено: Сб май 07, 2011 18:25
ask-rus
MVV писал(а):Расцветку удалять не нужно, просто переименуй библиотеку и положи вместо неё новую (или скажи скопировать, переименовав существующий файл), а потом перезагрузи тотал, и он сам подхватит новую. Библиотека защищает себя от выгрузки, т.к. подключается к оконной процедуре.
Да уж, подгружать Autorun умеет, а выгружать ещё не научили.

Панель инструментов не скрывается.
/u- /ei fs2
fs=db0 dc0 cd0 cl0 kb0 c0 rm1pm m1 tb0
fs2=fs2