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

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

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

sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

790 писал(а):сработает выделение - в этом ничего страшного
Тогда после пользовательской команды добавьте команду выделения:
em_temp, cm_SelectAll
И не забудьте проверить, где собираетесь удалить всё выделенное...
790
Сообщения: 361
Зарегистрирован: Сб авг 09, 2008 18:08

Сообщение 790 »

sa писал(а):Тогда после пользовательской команды добавьте команду выделения:
em_temp, cm_SelectAll
Странно. почему именно так работает, а если запускать:
LOADSEARCH==TEMP, cm_SelectAll
или
em_temp, CM523
то или поиск ТЕМР не загружает, или не выделяет. А отдельно LOADSEARCH==TEMP работает.

А с плагинами вообще сразу маленькое окно. Но тут можно поставить: искать размер файла >0 байт - пустые файлы/папки можно не чистить.

(добавлено)
Тут ещё оказывается такая "проблемка": если в строке UserMenu только команда и больше ничего, то ТС отказывается показывать иконку этой этой строки... а я в WCMICONS.DLL специально вшивал нужную иконку "веника" :(
TC 11.58 32/64, Win10x64

Cuda уехал text, он был ещё вчераа...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

790 писал(а):Тут ещё оказывается такая "проблемка"
Можно сделать сцепку обновлённой команды em_temp с командой выделения (523), как и раньше, с помощью TCFS2. Например, так:

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

/ef "tem(em_temp) delay(500) loop(if(findwnd(`TFindFile`)==0, 0, delay(1000)+1)) tcm(523)"
Или так:

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

/ef "tem(em_temp) delay(500) loop(if(findwnd(`TFindFile`)==0, 0, delay(1000)+1)) tem(em_SelectFind)"
где вместо внутренней команды выделения вызывается пользовательская em_SelectFind из файла usercmd.ini:

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

[em_SelectFind]
cmd=%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
param=/ef "if(null(""%P""),tcm(523))"
Есть надежда, что выделение во втором варианте будет срабатывать только в "Результатах поиска".
Последний раз редактировалось sa Пт ноя 24, 2023 16:07, всего редактировалось 1 раз.
790
Сообщения: 361
Зарегистрирован: Сб авг 09, 2008 18:08

Сообщение 790 »

sa писал(а):Есть надежда, что выделение во втором варианте будет срабатывать только в "Результатах поиска".
Да! При отсутствии результатов поиска и нажатия на Esc, теперь ничего не выделяется!

В любом случае, спасибо за полученные знания о командах и параметрах! В отрицательных "визуальных эффектах" поиска с плагинами, TCFS2 не виноват, значит с этим надо разбираться в других ветках форума. Написал на ghisler.ch, посмотрим, что ответит.
TC 11.58 32/64, Win10x64

Cuda уехал text, он был ещё вчераа...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

790 писал(а):При отсутствии результатов поиска и нажатия на Esc, теперь ничего не выделяется!
Одно НО: не выделяется при условии, что это не повторный поиск в каких-то других "Результатах поиска".
790
Сообщения: 361
Зарегистрирован: Сб авг 09, 2008 18:08

Сообщение 790 »

sa писал(а):Одно НО: не выделяется при условии, что это не повторный поиск в каких-то других "Результатах поиска".
Я не могу воспроизвести такую ситуацию. Что такое повторный поиск? Это поиск без закрытия окна первого поиска? Повторный поиск должен быть на том же диске? Я воспроизвёл другой сохранёный поиск сразу же после первого (temp), но он проходит на другом диске - ничего не выделяет при пустом результате.
TC 11.58 32/64, Win10x64

Cuda уехал text, он был ещё вчераа...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

790
У меня речь шла о таком случае. Предположим, в папке TC в панель с результатами поиска выведены файлы не старше одного дня. Затем в этой же панели по предложенному варианту действий проведён поиск файлов нулевого размера: допустим, их не нашлось, но после выхода по ESC будут выделены все ранее найденные (свежие) файлы.
790
Сообщения: 361
Зарегистрирован: Сб авг 09, 2008 18:08

Сообщение 790 »

Ну, это не важно. У меня такая ситуация никак не может произойти.

По поводу "проблемки" с иконкой.
Если забить в UserMenu команду:
em_temp, em_SelectFind (или cm_SelectAll)
то в выпадающем меню иконки не будет, потому что блокируется поле "Параметры", сразу же как ставишь после em_temp запятую. Но ТС легко обмануть. Открываем wincmd.ini и находим нашу команду:
[user]
--------
menuN=TEMP
cmdN=em_temp, em_SelectFind
и добавляем
paramN=" " (просто пробел в кавычках)
Сохраняем, перезагружаем ТС и видим иконку :)
TC 11.58 32/64, Win10x64

Cuda уехал text, он был ещё вчераа...
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Выложу обновлённый вариант кнопки, упоминавшейся на предыдущей странице. Без delay, send, loop и необходимости правки строки LNG-файла, но с авто-созданием трёх временных em-команд (em_temp, em_TempParam, em_temp2):

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef  "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_temp, cmd,
`LOADSEARCH == Файлы не старше 1 часа`) set_ini(`%%COMMANDER_PATH%%\usercmd.ini`, em_TempParam, cmd, `%%COMMANDER_PATH%%\Utils\TCFS2\TCFS2.exe`) set_ini(`%%COMMANDER_PATH%%\usercmd.ini`, em_TempParam, param, `/ef "if(null(""%%P""), tcm(3301))"`) set_ini(`%%COMMANDER_PATH%%\usercmd.ini`, em_temp2, cmd, `em_temp, em_TempParam`) tem(em_temp2)"
WCMICONS.DLL,47
Поиск по шаблону "Файлы не старше 1 часа" с выводом в панель|и выделением всех файлов и папок в результатах поиска


-1
Вместо операции перехода в краткий режим (ставшей неактуальной с появлением в TC пользовательских стилей оформления), выполняется выделение всех файлов и папок в результатах поиска.
Версия TC 10.0 и свежее.
Аватара пользователя
Orion9
Сообщения: 1315
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

MVV
Большое спасибо за ваш труд, утилита - топ!

Один маленький вопрос: Можно ли проверить, есть ли выделение в активной панели?
В TCFS2.Core.ini, вроде, нет ничего на этот счет.
Аватара пользователя
Orion9
Сообщения: 1315
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

Странно, что никто не ответил.

Но благодаря последним сообщениям в теме про обмен кнопками, мне удалось найти нужную информацию и сделать макрос проверки выделения.

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

[Macros]
hasSelection=(msg($432,1004+msg($432,1000)) > 0)
Вроде, работает.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Orion9
Вроде, вопрос был адресован MVV.

Возможность появилась после добавлений в TC:
History.txt писал(а):08.06.16 Выпуск Total Commander 9.0 Beta 1 (32/64)
08.06.16 Добавлено: Отправка сообщения WM_USER+50 с установкой wparam в 1011/1012 для получения индекса первого файла в списке (-1, если в списке нет файлов). (32/64)
08.06.16 Добавлено: Отправка сообщения WM_USER+50 с установкой wparam в 1009/1010 для получения индекса первого элемента в списке (0 при отсутствии элемента [..], 1 в противном случае). (32/64)
08.06.16 Добавлено: Отправка сообщения WM_USER+50 с установкой wparam в 1007/1008 для получения индекса текущего элемента (в строке с курсором). (32/64)
08.06.16 Добавлено: Отправка сообщения WM_USER+50 с установкой wparam в 1005/1006 для получения общего числа выделенных элементов. (32/64)
08.06.16 Добавлено: Отправка сообщения WM_USER+50 с установкой wparam в 1003/1004 для получения общего числа элементов (включая скрытые при быстрой фильтрации). (32/64)
08.06.16 Добавлено: Отправка сообщения WM_USER+50 с установкой wparam в 1001/1002 для получения числа элементов в файловом списке слева/справа. (32/64)
08.06.16 Добавлено: Отправка сообщения WM_USER+50 с установкой wparam в 1000 для получения активной панели: 1=слева, 2=справа. (32/64)
Аватара пользователя
Orion9
Сообщения: 1315
Зарегистрирован: Пн янв 01, 2024 17:18

Сообщение Orion9 »

sa
А я-то думал "и где только люди узнают, как делать такие вещи?". Не шучу :)

Историю измений почитать за несколько лет - это дело такое :) Лично мне помог ваш пост в теме про кнопки + справка Autorun. Кстати, TCFS2 тоже пригодилась бы более детальная и дружественная справка с большим количеством примеров, как это сделано, например, в TCIMG. Это придало бы утилите популярности и сделало бы ее более доступной обычному пользователю, imho.
Вроде, вопрос был адресован MVV
Порой трудно безупречно сформулировать вопрос в интернете, когда набираешь текст. Но это форум, и каждый в праве ответить даже за другого участника. Не ограничиваете себя - вы поможете многим :)
Ответить