Закрытие всех незапертых вкладок при запуске/закрытии TC
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Закрытие всех незапертых вкладок при запуске/закрытии TC
Кроме закрепленных. Возможно такое? Спасибо.
[mod="Avada"]Заголовок темы приведён в более адекватный для удобства последующего поиска вид. Топик-стартеру на будущее: проблема должна быть нормально раскрыта и в заголовке (насколько позволяет место), и в тексте темы, а не разделяться на части. [/mod]
[mod="Avada"]Заголовок темы приведён в более адекватный для удобства последующего поиска вид. Топик-стартеру на будущее: проблема должна быть нормально раскрыта и в заголовке (насколько позволяет место), и в тексте темы, а не разделяться на части. [/mod]
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
Способов много. Посмотри в сторону TCFS2 - этот монстр вообще способен творить всё на что фантазии хватит (ладно, почти всё), в том числе и при загрузке.
Twinkey тоже автоматически выполняет команды при загрузке.
Ну и я кое-что нарисовал. Подружи скрипт с вышеперечисленным. Правда, скрипт закрывает и запертые тоже (собственно, ради этого и писался), но допилить его - три минуты
Twinkey тоже автоматически выполняет команды при загрузке.
Ну и я кое-что нарисовал. Подружи скрипт с вышеперечисленным. Правда, скрипт закрывает и запертые тоже (собственно, ради этого и писался), но допилить его - три минуты
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
R1_
А вдруг подойдёт?!
Если закреплённые вкладки меняются не часто, то можно сохранить секции [lefttabs] и [righttabs] файла wincmd.ini в отдельный файл (tabs.ini), открыв его только для чтения, а в wincmd.ini указать редирект:
А вдруг подойдёт?!
Если закреплённые вкладки меняются не часто, то можно сохранить секции [lefttabs] и [righttabs] файла wincmd.ini в отдельный файл (tabs.ini), открыв его только для чтения, а в wincmd.ini указать редирект:
Код: Выделить всё
[lefttabs]
RedirectSection=%COMMANDER_PATH%\TABS\tabs.ini
[righttabs]
RedirectSection=%COMMANDER_PATH%\TABS\tabs.ini
Вариант действительно оптимальный.
А возвращаясь к тому, о котором я писал, то вот что выходит.
Берём последние бета-версии утилиты и модуля.
В секцию Items конфига TCFS2.ini добавляем
Пока ещё не всегда всё стабильно закрывает, надо будет обдумать, где не успевает.
А возвращаясь к тому, о котором я писал, то вот что выходит.
Берём последние бета-версии утилиты и модуля.
В секцию Items конфига TCFS2.ini добавляем
Потом уже на выбор (запуск/завершение) пишем в autorun.cfg команду из кнопки:lclose=loop(@<tcm(65582)+if(test(tcm(65586)),tcm(3005),tcm(3007))) ; Закрыть откреплённые вкладки слева
rclose=loop(@<tcm(65583)+if(test(tcm(65587)),tcm(3005),tcm(3007))) ; Закрыть откреплённые вкладки справа
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "msg($0B,0) if(eval(tcm(65551)), run_item(lclose)+tcm(4002)+run_item(rclose)+tcm(4001), run_item(rclose)+tcm(4001)+run_item(lclose)+tcm(4002)) msg($0B,1) redraw()"
wcmicons.dll,85
Закрыть все откреплённые вкладкиАвтору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
С 474 сборкой TCFS2 можно закрывать вкладки с помощью меню вкладки, не активируя их (прирост скорости +100500 для тормознутых путей).
Эта команда закрывает все неактивные вкладки на левой или правой панели (если в параметре 1, то на левой, если -1 - на правой):
Останется лишь проверить, заблокирована ли активная вкладка, и закрыть её. Эта команда закрывает вкладку с указанным индексом:
Эта команда закрывает все неактивные вкладки на левой или правой панели (если в параметре 1, то на левой, если -1 - на правой):
Код: Выделить всё
allTabsClose=msg($433,3009,#1,1) delay(10) send(`{UP 2}{ENTER}`, 0) delay(10) send(`{ENTER}`, 0) ; В #1 передаётся индекс вкладки, для которой запрашивать меню: 1 - первая на левой панели, -1 - первая на правой панелиКод: Выделить всё
tabClose=msg($433,3009,#1,1) delay(10) send(`{UP 3}{ENTER}`, 0) ; В #0 передаётся индекс вкладки (1 и выше - левая панель, -1 и ниже - правая)Код: Выделить всё
/ef "msg($0B,0) if(eval(tcm(65551)), run_item(allTabsClose,1)+tcm(4002)+run_item(allTabsClose,-1)+tcm(4001), run_item(allTabsClose,-1))+tcm(4001)+run_item(allTabsClose,1)+tcm(4002)) msg($0B,1) redraw()"[s]/ef run_item(allTabsClose(1)) ругается.[/s] (неграмотная запись)
Последний раз редактировалось Flasher Ср май 06, 2015 22:14, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Так ведь нельзя! Надо как-то так (любое из двух):/ef run_item(allTabsClose(1)) ругается.
Код: Выделить всё
/ei allTabsClose(1)Код: Выделить всё
/ef run_item(allTabsClose,1)Кстати, необязательно активировать вторую панель, команда открытия меню отлично работает для неактивной панели.Что-то не хочет..
Точно, из головы вылетело.MVV писал(а):Так ведь нельзя!
Да, весьма шустро. Впечатляет.
Но, увы, одна незалоченная вкладка остаётся активной и незакрытой.
Но тогда бы работала такая команда: /ei allTabsClose(1) allTabsClose(-1). Но она не работает.MVV писал(а):Кстати, необязательно активировать вторую панель, команда открытия меню отлично работает для неактивной панели.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
А почему у меня работает?Но тогда бы работала такая команда: /ei allTabsClose(1) allTabsClose(-1). Но она не работает.
Я говорил, что останется проверить, заблокирована ли текущая вкладка, и закрыть её. Можно тупо активировать следующую вкладку и повторить allTabsClose (ведь теперь активированной гарантированно окажется заблокированная). Опять же, переключать панели не требуется, активировать вкладки можно с помощью tt_LeftTabSetIndex/tt_RightTabSetIndex, а узнавать текущие индексы с помощью tt_LeftTabGetIndex/tt_RightTabGetIndex.Но, увы, одна незалоченная вкладка остаётся активной и незакрытой.
Или, что проще, активировать последние вкладки на обеих панелях, а затем вызвать allTabsClose(1) allTabsClose(-1). Из незаблокированных смогут выжить только самые правые вкладки (но тотал всё равно будет добавлять новые вкладки там, так что, думаю, одной незакрытой вкладкой в конце можно пренебречь). Активировать первые вкладки после закрытия несложно.
Не знаю, у меня только в активной закрытия происходят.MVV писал(а):А почему у меня работает?
А номера у них какие? Ты же нигде не обнародовал.MVV писал(а):а узнавать текущие индексы с помощью tt_LeftTabGetIndex/tt_RightTabGetIndex
И нельзя ли как-то победить смещение мышиного курсора?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Да ладно! И в TCFS2.ini ты искать, похоже, не пробовал?А номера у них какие? Ты же нигде не обнародовал.
А какая команда смещает курсор?И нельзя ли как-то победить смещение мышиного курсора?
А вот и неладно. Их там нет. Смотрел сразу и там и там.MVV писал(а):Да ладно! И в TCFS2.ini ты искать, похоже, не пробовал?
Да хотя бы /ei allTabsClose(1).MVV писал(а):А какая команда смещает курсор?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.