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

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

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

Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

MVV писал(а):Ничего не сделаешь, не поддерживаются пути с '`'.
А почему? В запрещённых символах только двойные кавычки `"`.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение MVV »

sa писал(а):Если часть включает конец панели инструментов, то вроде как можно.
Я бы не стал пользоваться таким трюком: если тотал действительно учитывает этот параметр, и ты забудешь переключить панель в полный режим, можно потерять кнопки.
Skif_off писал(а):А почему? В запрещённых символах только двойные кавычки `"`.
Потому что в TCFS2 этот символ обрабатывается особенным образом - он задаёт начало и конец текстового аргумента.
Flasher писал(а):Может, двойной символ сгодится?
Такой фокус не решит проблемы передачи имени с таким символом в качестве параметра, т.к. удваивать его придётся вызывающей стороне. В то же время задание заменителя для этого символа позволило бы тебе выбрать такой символ, который в твоих именах точно не встретится (уж в Юникоде-то таких навалом).
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):если ... ты забудешь переключить панель в полный режим, можно потерять кнопки.
Если забыть включить вкладки и закрыть ТК, то все вкладки исчезнут. Тем не менее, команда dt0 (отключить вкладки каталогов) имеется в TCFS2.
Так же и с кнопками: если кому-то этот трюк будет нужен, то он не забудет переключить панель в полный режим при её редактировании, а забудет - воспользуется предусмотрительно созданной копией файла панели.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение MVV »

sa писал(а):Если забыть включить вкладки и закрыть ТК, то все вкладки исчезнут. Тем не менее, команда dt0 (отключить вкладки каталогов) имеется в TCFS2.
Так же и с кнопками: если кому-то этот трюк будет нужен, то он не забудет переключить панель в полный режим при её редактировании, а забудет - воспользуется предусмотрительно созданной копией файла панели.
Вкладки - это всё-таки стандартный функционал. И мы её и так убрали из fs, кроме того, в TCFS2.ini у этой команды есть предупреждающий комментарий.
А здесь тогда уж лучше сразу делать резервную копию перед переключением. Но всё равно такому извращению не место в стандартной поставке TCFS2.
Flasher писал(а):Точно. Не сообразил. А искать в качестве замыкающего не следующий, а последний символ в в параметре ты не можешь?
А тут нет общего алгоритма. Косая кавычка может быть закрывающей, а может быть и не закрывающей, а после неё в имени могут быть скобки, запятые и т.п... Да и после команды, которой передаётся имя файла, могут быть указаны другие команды, в которых тоже есть косые кавычки.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV писал(а):всё равно такому извращению не место в стандартной поставке TCFS2.
Вот об этом мысли совсем не было.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV
ОК. Есть такое дело. Вообще странно, что ты не выбрал какой-то из запрещённых символов (? ; < > |). Первые два не являются мат. операторами. Нельзя там в коде закинуть условие типа If N == ` OR ; , например? Или непосредственно для tcd экранировать всё, что внутри <>, там текст, сравнению не подлежит, к тому же символы разные, а значит, конец легко отделить от начала.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

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

Сообщение Flasher »

Skif_off
Зачем в tem? Там в основном только константы используют. Или есть другие примеры?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Вообще странно, что ты не выбрал какой-то из запрещённых символов
Я выбрал такой, который более-менее похож на кавычку, и в то же время является достаточно редким (хотя, конечно, я не принимал в расчёт языки кроме русского и английского). Но если так пошло, то любой символ может потребоваться внутри строкового выражения... Мало ли, захочу записать в INI ColorFilter1=>Autorun, Options1=-1|0 или ещё что-нибудь покруче. :)
А заводить функции-любимчики, для которых готовить отдельно - не самый лучший вариант.

Всё-таки, лучше всего будет просто ввести альтернативный символ кавычки и, если строка начинается с него, то и конец строки тоже определять по нему. Тогда косая кавычка будет работать везде кроме таких узкоспециализированных мест. Правда, тогда TCFS2.ini надо будет хранить в юникоде.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):А заводить функции-любимчики, для которых готовить отдельно - не самый лучший вариант.
Так ты уже завёл. send c @ и ~.
MVV писал(а):Правда, тогда TCFS2.ini надо будет хранить в юникоде.
Ладно бы TCFS2.ini, а bar-ы, usercmd.ini, wcmd_lng.ini, mnu, да и wincmd.ini туда же. Не, лучше всё таки сразу <>, чем все эти ненужности.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher писал(а):Зачем в tem? Там в основном только константы используют. Или есть другие примеры?
Начиналось всё с пути:
Flasher писал(а):Что делать с tcd, если в пути есть '`'?
из пяти частоиспользуемых em-команд ровно четыре в качестве параметра принимают пути, одна из которых аж два пути.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
Наличие путей не отвечает на мой вопрос.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Так ты уже завёл. send c @ и ~.
Вот не надо ~ сюда втягивать, она внутри строки парсится. А @ - да, действительно, но там она скорее как дополнительный параметр, строка парсится по общим правилам.
Ладно бы TCFS2.ini, а bar-ы, usercmd.ini, wcmd_lng.ini, mnu, да и wincmd.ini туда же. Не, лучше всё таки сразу <>, чем все эти ненужности.
Ну ты бы мог, скажем, выбрать символ ±... Не ахти какая кавычка, зато редкий.
Мне кажется, что если делать - так делать для общего случая. А то завтра ты (или кто-то ещё) захочешь возможность записывать в INI строки с косой кавычкой...
Последний раз редактировалось MVV Ср дек 23, 2015 01:38, всего редактировалось 2 раза.
Ответить