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

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

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

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

Сообщение MVV »

В виде ключей неудобно будет - нельзя будет пользоваться из команд.

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

Сообщение Flasher »

MVV писал(а):И что оно из себя представляет?
После включение всё, что происходит в панелях (выделения, навигация, смены режимов просмотра и т.п.), не видно, а видна предшествующая картинка, как будто ничего и не происходит. При выгрузке происходит возврат в обычный режим.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

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

Сообщение Flasher »

sa
Какая же это утилита, если это ActiveX компонент на базе COM-технологии? Думаю, с поиском у MVV проблем нет. Добавлю только выкладку из ReadMe:
LockTC [True|False] - блокирует перерисовку основного окна TC во
время работы скрипта. Есть смысл применять при выполнении
скриптов активно меняющих содержание этого окна (выделение
файлов, перемещение фокуса с панели на панель и тп). Более
эстетично, да и работать скрипт будет побыстрее.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Какая же это утилита, если это ActiveX компонент на базе COM-технологии?
Премного извинений за то, что компонент обозвал утилитой. Надеюсь, что, указав первоисточник, MVV я таки не запутал.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Я бы нашёл этот компонент, если бы хотел, но связываться с компонентами желания нет никакого, как минимум из принципа.

А для реализации куда важнее то, как он работает, а этого снаружи не понять.

Пока предложу команду, которая включает или выключает блокировку перерисовки:

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

locktc=msg($0B, #1-0 > 0 ? 0 : 1, 0)
Параметр - 0 или 1. Если не указан, блокировка выключается. :)


Сейчас разобрался, как корректно перерисовать окно без ресайзинга, добавлю функцию в следующем релизе. Если окно тотала при включённой блокировке перекрывалось другими окнами, после снятия блокировки необходимо перерисовывать окно, иначе затертые области так затёртыми и останутся.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):Пока предложу команду
Спасибо, работает!
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):но связываться с компонентами желания нет никакого, как минимум из принципа
А никто и не предлагал. :) Это был пример всего лишь.
MVV писал(а):Параметр - 0 или 1. Если не указан, блокировка выключается.
Почему-то при TCFS2 /ef "run_item(locktc(1)) ... run_item(locktc) run_item(rm1pm)" ругается на locktc(1).
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):Почему-то при TCFS2 /ef "run_item(locktc(1)) ... run_item(locktc) run_item(rm1pm)" ругается на locktc(1).
Попробуй run_item(locktc, 1) вместо run_item(locktc(1)).

MVV
Вот только как-то напрягает высвечивание поверх тотала иконок других приложений (других копий TC или FireFox, например) когда мышка движется по экрану от кнопки c TCFS2 (видимо при включённой блокировке).
От этого никак не избавиться?
Заметил на этой кнопке

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Addon\TCFS2\TCFS2.exe
/ef "msg($0B, 0) tcm(527) tcm(525) tcm(2053) msg($0B, 1) tcm(524)"
wcmicons.dll,41
Перейти к следующему расширению


-1
при её вызове в каталоге с большим количеством файлов (папка Windows c Ctrl+B, к примеру).
Последний раз редактировалось sa Ср окт 19, 2011 01:09, всего редактировалось 2 раза.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Да, если запускаете через run_item, то параметры команд указываются не в скобках, а через запятую.

Я по умолчанию определил и команду, и макрос с вышеописанным содержанием - так можно вызывать locktc без run_item, если из веток функции if:

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

fs2=if(hasCaption, locktc(1) + run_action(fs) + locktc(0) + show(3), show(9) + locktc(1) + run_action(fs_undo) + locktc(0)) redraw()
Почему-то рабочий стол и панель задач не перерисовываются (продолжают показывать скриншот окна тотала), если включать блокировку перерисовки развернутого окна тотала, а выключать - восстановленного. Приходится разворачивать/восстанавливать без блокировки. В качестве redraw пока можно использовать rm1pm, а в следующей версии команда уже будет.

Чтобы не получилось, что блокировка установлена, но не снята (например, в случае ошибок в командах), можно в конец командной строки TCFS2 добавлять /ei locktc(0).
Последний раз редактировалось MVV Ср окт 19, 2011 10:17, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa писал(а):Попробуй run_item(locktc, 1) вместо run_item(locktc(1)).
Спасибо, так работает.
sa писал(а):высвечивание поверх тотала иконок других приложений (других копий TC или FireFox, например) когда мышка движется по экрану от кнопки c TCFS2 (видимо при включённой блокировке).
Да, неприятная картинка, там не только иконки, но и другие куски интерфейса.
MVV писал(а):Я по умолчанию определил и команду, и макрос с вышеописанным содержанием - так можно вызывать locktc без run_item
Одного макроса недостаточно?

А можно такую функцию сразу к обеим панелям? Я сейчас попробовал подвязать к своему FullScreen, но у меня одна сторона обновилась, а вторая осталась. Не хотелось бы подвязывать определение панели и смену фокуса.
MVV писал(а):можно в конец командной строки TCFS2 добавлять /ef locktc(0).
/ei, наверно?

MVV, а вообще штука приятная, не зря я тему поднял. :)
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

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

Сообщение MVV »

Я уже писал про то, что во время блокировки в окне не перерисовывается ничего, в том числе то, что было перекрыто другими приложениями. Блокируется всё окно тотала целиком. Обновление окна после снятия блокировки как минимум рекомендуется.
Flasher писал(а):
MVV писал(а):Я по умолчанию определил и команду, и макрос с вышеописанным содержанием - так можно вызывать locktc без run_item
Одного макроса недостаточно?
Макрос прямо с командной строки или из действия не вызовешь.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):Блокируется всё окно тотала целиком.
Беда в том, что в это время, не желая того, можно "провалиться" в другое приложение и что-то там натворить.
Экспериментировал на /ef "msg($0B, 0) delay(5000) msg($0B, 1)".
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Ну, это уже не ко мне:) Таковы особенности блокировки.
Если поводить другим окошком по окну тотала, оно вообще сотрется:)
Ответить