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

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

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

Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Благодарен премного, всё супер.

Напоследок возникло желание сменить значок "стопора" после активации. Сделаю копию панели инструментов, включающую в себя эту кнопку, и изменю в ней значок. Что добавить в

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

quick_bar_stop=set_tcini(TCFS2, quick_bar, 0)
чтобы ещё сменилась панель? (em_3)

Добавлено спустя 1 час 5 минут:

Только один момент - фуллскрин меня выдаст при выходе с него (попаду не в ту панель инструментов, где значок не застопорен). Мы можем добавить условие ещё для третьей панели в фуллскрин (захожу в фуллскрин с третьей панели - выхожу в третью, а не в первую или вторую)?
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

ask-rus писал(а):Сделаю копию панели инструментов, включающую в себя эту кнопку, и изменю в ней значок. Что добавить в
чтобы ещё сменилась панель? (em_3)
Если добавлять в саму quick_bar_stop, то это будет работать при каждом её вызове, и панель будет включаться всегда одна.

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

quick_bar_stop=set_tcini(TCFS2, quick_bar, 0) tem(em_3) set_tcini(TCFS2, Bar, 3)
ask-rus писал(а):Мы можем добавить условие ещё для третьей панели в фуллскрин (захожу в фуллскрин с третьей панели - выхожу в третью, а не в первую или вторую)?
Так а в чем проблема? :)

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

fs3=run_item(fs2) if(hasCaption, if(tcini(TCFS2, Bar, 3), tem(em_3), if(tcini(TCFS2, Bar, 2), tem(em_2), tem(em_1))))
Т.е., какой прописан номер в инишнике, ту панель и ставим, всё просто.
То же самое, но без вложенных if, вроде читабельнее, меньше скобок:

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

fs3=run_item(fs2) if(hasCaption, if(tcini(TCFS2, Bar, 1), tem(em_1)) + if(tcini(TCFS2, Bar, 2), tem(em_2)) + if(tcini(TCFS2, Bar, 3), tem(em_3)))
А вообще, очень удобно в редакторе включать подсветку для типа файлов, где есть подсветка парных скобок (например, C/C++ в EmEditor), тогда сразу видно, все ли скобки закрыты (курсор на последней скобке, подсвечены она и скобка перед первым if, значит всё верно).
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Использовал вариант, где больше скобок. Что-то не так, из 1 попадаю в 3, из 2 попадаю в 3 (выход из фуллскрина).
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

В параметре Bar секции TCFS2 что прописано на момент выхода? Если 3, то 3-я и должна включаться.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

MVV писал(а):В параметре Bar секции TCFS2 что прописано на момент выхода?

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

[TCFS2]
Bar=3
quick_bar=0
...

Добавлено спустя 12 минут:

Меняю значение Bar на "1", будучи в панели 1. Захожу в фуллскрин, выхожу из него - оказываюсь в панели 3.

Добавлено спустя 36 минут:

Вход в фуллскрин и прописывает "3".

Добавлено спустя 6 минут:

quick_bar_stop же теперь связан с фуллскрином

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

[Actions]
fs=db0 dc1 quick_bar_stop tb0 cd0 cl0 kb0 c0 m1

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

[Items]
quick_bar_stop=set_tcini(TCFS2, quick_bar, 0) tem(em_3) set_tcini(TCFS2, Bar, 3)
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А, ну да. Надо в quick_bar_stop проверять, какая панель активна, и переключать на 3-ю, только если активна вторая (или первая, я запутался в твоих панелях), в общем:

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

quick_bar_stop=set_tcini(TCFS2, quick_bar, 0) if(tcini(TCFS2, Bar, 2), tem(em_3)+set_tcini(TCFS2, Bar, 3))
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

MVV писал(а):я запутался в твоих панелях
1-я - главная;
2-я - расширенная;
3-я - расширенная, но, в отличие от 2-й, содержит кнопку с измененным значком для эффекта сам знаешь какого.

С 1-ой на 1-ю, со 2-ой на 3-ю, с 3-ей на 3-ю.
Уже лучше.

Добавлено спустя 14 минут:

Переключение 1-ой и 2-ой панелей между собой (переключалка), остановка переключения с переходом на 3-ю панель для изменения значка (стопор) и переход в полный экран с возвратом (фуллскрин). Вообще реально ли их синхронизировать... Уже есть сомнения.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Разве не целью стопора было со второй панели перейти к третьей, дабы показать иной значок? Я сейчас это так понимаю:
Активна 1 панель, fs3, активна и скрыта 1 панель, возврат: активна 1 панель.
Активна 2 панель, fs3, активна и скрыта 3 панель, возврат: активна 3 панель.
Активна 3 панель, fs3, активна и скрыта 3 панель, возврат: активна 3 панель.


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

Сообщение Flasher »

Решил вернуться к старым пожеланиям из ЛС. Может, у MVV появится время на реализацию хоть чего-то.

1. Возможность преобразовывать переменные в именах секции функций по работе с ini.
Для примера (установка значения шрифта для текущих параметров разрешения экрана):
set_tcini(cxScreen x cyScreen (8x16), FontSize, 12)
2. Учитывать пробелы в именах секций, заключённых в ``. Пример с пробелами выше.
3. Отправка сообщений диалогам, а не только главному окну ТС.
4. Переименование секций.
5. Блокирование/разблокирование только одной из панелей, не всего окна. < это из ветки
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А что даст блокировка только одной панели? Всё равно остальная часть окна в это время будет бездействовать, так какая разница, блокирована ли она.

Поддержку записи строковых параметров в wincmd.ini точно не обещаю, тем более в именах которых нужно что-то раскрывать, тут нужна полноценная поддержка форматирования строк.

Отправлять активному окну - это можно сделать с помощью TCFS2Tools, т.к. она сидит в адресном пространстве тотала и знает, какое его окно сейчас активно.

Парсить wincmd.ini вручную, чтобы переименовать секцию, тоже не буду, слишком уж специфическая задача, и вполне может быть решена другими инструментами.
Последний раз редактировалось MVV Вс авг 26, 2012 18:24, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Если блокировать только панель, то не будет видно моргания иконок в тулбаре (ну и других элементов), как при полной перерисовке окна.

Запись строковых параметров в wincmd.ini? Нам число из переменной в функцию нужно записать, а не сами параметры в ini. :)

Вот по TCFS2Tools - надо бы. Было бы здорово.

Про переименование секций я догадывался об ответе, поэтому серым и сделал..
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

MVV
Мне необходимо возвращаться из фуллскрина в ту панель инструментов, где я был до фуллскрина. Задача стопора была только в том, чтобы отменить автоматическую смену панели через 15 секунд. Но что-то меня дернуло дополнительно реализовать смену значка стопору, чтобы знать остановил ли я смену панели, или же панель смениться через уже <15 секунд.

Добавлено спустя 11 минут:

По сути дела, во 2-й панели я прибываю всего лишь 15 секунд, т. к. нажимая на стопор, перехожу в 3-ю панель. Фуллскрин же теперь ещё выполняет функцию стопора, я так понял, но с выходом попадаю не во 2-ю, а в 3-ю...
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Откатился до 2-х панелей, менять значок посредством третьей панели инструментов посчитал ненужным.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
Mint86
Сообщения: 43
Зарегистрирован: Ср авг 15, 2007 07:25

Сообщение Mint86 »

Подскажите нужно следующее:
С недавних пор использую Wfx плагин tcPhonebook (телефонная книга). Хотелось бы чтобы при нажатии кнопки открывался данный плагин tcPhonebook и активная панель менялась в размере на 85/15. При выходе из плагина (при открытии других обычных папок или дисков) сепаратор должен возвращаться на 50/50. Возможно ли сделать такое через TCFS2?

PS пока настроил изменение размера панели на сочетание клавиш Win+1.
Таким образом сначала захожу в телефонную книгу (tcPhonebook) нажимаю Win+1 чтобы увидеть все колонки, и при выходе нажимаю опять на Win+1.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Mint86
Я же в личке ссылки скидывал. Если что-то было неясно, можно было и спросить.
Кстати, Win+цифра в Win 7 не рекомендуется (запускает элементы из панели Быстрого запуска).
Ответить