Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Ultra TC Editors
Goto page Previous  1, 2, 3 ... 43, 44, 45
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Avada



Joined: 01 Aug 2008
Posts: 10510
Location: Россия, Саратов

Post (Separately) Posted: Tue May 05, 2026 07:02    Post subject: Reply with quote

Orion9 wrote:
А последний релиз ТС, который вот-вот состоится, много затронет изменений в справочнике по ключам? Как долго ждать обновлений, если навскидку?

Не безумно много, но есть: более 30 изменённых и добавленных мест. Но надо учесть, что во все версии файла данных уже внесена очень объёмная ретроспективная правка прежних описаний, и пока не факт, что она на этом этапе полностью завершена. Опять же выкладка делается вместе с прочими справочниками, а не по частям. Ориентировочно (если не трогать общую прежнюю схему) планирую в мае, точнее сказать не могу.

Orion9 wrote:
Я не знаю, будет ли CaptainFlint делать обновления на сайте, но вообще не помешало бы добавить якоря ко всем ключам в справочнике для более удобной работы с ним.

И я пока не знаю, не обсуждалось. Там не так всё просто. В частности, id= давно уже внедрены в сам CEDF для других целей (онлайновый переход к подкатегории справочника по точной ссылке и формирование оглавления). Внедрение их для каждого ключа в CDEF, если это и возможно, создаст мне проблемы при подготовке и сверке разных версий файла.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1092

Post (Separately) Posted: Tue May 05, 2026 12:05    Post subject: Reply with quote

yozhik wrote:
Готов 2й тестовый вариант:
https://dropmefiles.com/wp4Nz
(пароль на распаковку: 123)

Супер получилось! Просто суперецки ❤️

Все ключи, конечно, не проверить, но я долго игрался, всё работает. Включая, кстати, секции, о чём вы скромно умолчали )

Никаких багов и недостатков не найдено: можно сказать, это не тестовая, а вполне рабочая версия.

Отдельно спаибо за CSS. Мне с шрифтом Arial действительно привычнее и удобнее читать. А для тёмной версии CSS тоже будет работать? А то сейчас на HTML-файлах не получилось проверить.

yozhik wrote:
На XP SP3 x86 — нет, точнее работает только сворачивание, а при разворачивании ругается на неподдерживаемый метод объекта, т.е. для XP надо ещё упрощать код.

Очень странно. Можно, конечно, дальше искать решение, но я бы просто дропнул ХРюшу, и всё.

Avada
Спасибо за информацию. В принципе, мы уже в мае, т.ч. надеюсь, ждать осталсь недолго.


Avada wrote:
Внедрение их для каждого ключа в CDEF, если это и возможно, создаст мне проблемы при подготовке и сверке разных версий файла.

Да, об этом я не подумал. На сайте, как я понимаю, сейчас оригинальные CEDF с дополнительным JS скриптом для выбора версий. CaptainFlint довольно занятый человек, не уверен, что он найдет на это время. Но для начала можно хотя добавить скрытие лишних столбцов для более удобного чтения онлайн. Там вопрос всего нескольких строк, и, возможно, с якорями не придется заморачиваться, т.к. это браузерный вариант, а некоторые современные бразуеры держат позицию (что, кстати, и ввело меня в заблуждение, когда я утверждал, что :nth-child в CHM меньше прыгает, хотя по факту это не так). Но yozhik тоже это заметил.
yozhik wrote:
В современных браузерах (пробовал в хромоклоне Vivaldi и в Edge) городить перемещение к якорю не нужно — при скрытии/показе колонок текущая строка остаётся на месте, не улетает.

У меня Mozilla тоже держит позицию на самом первом файле Russian (Alt+H).7z по ссылке выше.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 332
Location: Электросталь

Post (Separately) Posted: Tue May 05, 2026 15:29    Post subject: Reply with quote

Обновил CHM-ы
TC.11.56.chm
TC.11.56.Dark.chm
TC.Inikeys.chm
TC.Inikeys.Dark.chm

Теперь все здесь:
https://disk.yandex.ru/d/jiSb9EoxdnEXVw
— по мере выхода новых редакций буду конвертировать и добавлять новую папку со всем набором. Пока крайняя (она же синхронизированная с родительскими справочниками) — TC_HELP_1156_u1.

Orion9, с тёмными CHM наружный CSS тоже работает, конечно, только имя CSS == имя CHM. Позднее напишу это в README.MD вместе с примерами CSS-настроек. Но для TC.11.56.(Dark.)chm я пока наружный CSS не сделал, потому что там сборник справочников, а не только по INI, и надо так придумать, чтобы их стили не пересекались, или наоборот, чтобы из одного CSS било сразу по всем.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1092

Post (Separately) Posted: Tue May 05, 2026 18:04    Post subject: Reply with quote

yozhik
Понятно. Я просто хотел посмотреть, как будет выглядеть смена шрифта в темной версии справочника. Собственно, сейчас это и сделал. Переименовал каскад в TC.Inikeys.Dark.css и проверил. Все работает.

Здоровский у вас набор справочников на диске! Прям флеш рояль какой-то ) Спасибо!

Напоследок пара пожеланий, которые выполнять необязательно.

1) В списках, следующих за ключами, можно сделать отступ для более наглядного представления. Сейчас это
Code:
Управляет отображением главной (горизонтальной) панели инструментов:
1 (по умолчанию): отображать;
0: скрывать.

А может быть
Code:
Определяет количество отображаемых панелей с кнопками дисков:

    0 (по умолчанию): одна (только для активной файловой панели);
    1: две (для каждой файловой панели).

В оригинальном CEDF на этом месте символ табуляции, его можно заменить обычными пробелами. У меня в скрипте используются 4 пробела
Code:
out = StrReplace(out, auTAB, "    ")

У вас тоже наверняка скрипт, вы же как-то добавили отступ к абзацам и кнопки с якорями.

2) В дополнение к TC.Inikeys.chm со всеми версиями справочников можно сделать отдельный файл на последнюю версию ТС. Просто я понимаю сборщиков. Дело не в мегабайтах. Когда открываешь файл справки, получаешь целую вереницу ненужных версий, не имеющих никакого отношения к сборке.

А в остальном всё ТОП.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 332
Location: Электросталь

Post (Separately) Posted: Wed May 06, 2026 01:22    Post subject: Reply with quote

Orion9
Отступы перед значениями ключей я не стал делать, потому что есть много длинных строк, в которых это будет выглядеть «красной строкой» и сбивать с толку, пмсм, т.к. «красные» больше нигде не используются. Обрамлять их в блочные тэги — усложнение структуры, и алгоритм их выявления нерегулярен. А вот пустые строки перед списками значений я добавил — спасибо за наводку, стало лучше. Ещё кнопки разворачивания сделал «плавающими», чтобы не занимали всю первую строку (странно, почему сразу до этого не догадался). Скачайте, пожалуйста, заново (ссылку на папку см. выше):
TC.11.56.chm
TC.11.56.Dark.chm
TC.Inikeys.chm
TC.Inikeys.Dark.chm
Orion9 wrote:
В дополнение к TC.Inikeys.chm со всеми версиями... можно сделать отдельный файл на последнюю версию ТС

TC.11.56.chm — это он и есть, в нём три страницы: команды, клавосочетания и INI-ключи — всё только для 11.56. И для него теперь тоже можно создавать одноимённый CSS, но влиять он будет только на страницу с INI-ключами.
_________________
Amo ergo sum
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1092

Post (Separately) Posted: Wed May 06, 2026 12:17    Post subject: Reply with quote

yozhik wrote:
TC.11.56.chm
TC.11.56.Dark.chm
TC.Inikeys.chm
TC.Inikeys.Dark.chm

Да, лучше стало. Вы правы: возможно, отступ и не нужен. Сейчас хорошо смотрится.

yozhik wrote:
TC.11.56.chm — это он и есть, в нём три страницы:

Хех... Признаюсь, пропустил. Возможно, вам нужно больше акцента сделать на том, что это "три в одном". Я его открыл, но даже мысли не возникло, что последний пункт "Настройки" это полноценный Inikeys. На мой взгляд, для большего привлечения внимания этот пункт можно завернуть в отдельный раздел (например, назвав его "Ключи Wincmd.ini"), чтобы при открытии справочника было сразу видно, что в нем три раздела. А в Readme.md можно переместить его на первое место, чтобы он не затерялся:
Code:
`TC.11.56.chm` — набор из трёх справочников по командам, параметрам, клавиатурным назначениям и INI-ключам для последней версии Total Commander 11.56.

Этот справочник — главный туз в вашей коллекции, которого так долго ждал Мэверик. Нельзя, чтобы он затерялся.

 Hidden text
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6229
Location: Москва

Post (Separately) Posted: Thu May 07, 2026 18:13    Post subject: Reply with quote

Orion9 wrote:
не помешало бы добавить якоря ко всем ключам в справочнике для более удобной работы с ним.

Avada wrote:
Там не так всё просто. В частности, id= давно уже внедрены в сам CEDF для других целей (онлайновый переход к подкатегории справочника по точной ссылке и формирование оглавления). Внедрение их для каждого ключа в CDEF, если это и возможно, создаст мне проблемы при подготовке и сверке разных версий файла.

Это довольно легко, и CEDF трогать совсем не требуется. HTML формируется через XSLT, и какие там были исходные атрибуты в XML, никого не касается. Поэтому и к выкладыванию справочников привязывать необязательно, так как XSLT по большому счёту независимый.

Выложил экспериментальную тестовую версию:
https://flint-inc.ru/Temp/tcinfo-test/Russian.cedf
К каждому TD с именем ключа добавлен атрибут id со значением "секция--имя" (чтобы гарантировать уникальность). Невалидные символы заменяются подчёркиваниями. Пример:
https://flint-inc.ru/Temp/tcinfo-test/Russian.cedf#Configuration--ShowLastVisitedInMiddle

Что касается скрытия столбцов, это тоже может реализовываться через добавление скрипта в XSLT, но я пока не имел возможности проанализировать примеры, которые тут выкладывались. Могу только сказать, что первые варианты были абсолютно кошмарные, начиная буквально с первой строчки, где кнопка засовывалась прямо в тег <html> до всех служебных заголовков и <body>. Реализацию скрытия можно упростить, если добавить служебных классов во все ячейки, и скрипт тогда сможет опираться на названия этих классов, а не пытаться высчитывать, что там где по порядку находится. Собственно, в ячейках таблицы классы и так уже уникальные, надо только для заголовков дополнительно их же прописать, да сверить, чтобы классовые стили там друг другу не противоречили.


И вот ещё что. Недавно пробегала новость, что в хромодвижках собираются отказаться от поддержки XSLT. Так что 99% браузеров наш онлайн-справочник больше открывать не смогут. Я пока не знаю, какую альтернативу тут можно предложить. В крайнем случае я всегда могу написать скрипт, который все эти XSLT-преобразования выполняет локально и публикует уже сформированный HTML на сайте. То есть это не конец света, но определённые проблемы и телодвижения, по всей видимости, нам предстоят.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1092

Post (Separately) Posted: Thu May 07, 2026 20:46    Post subject: Reply with quote

CaptainFlint wrote:
Выложил экспериментальную тестовую версию:

Спасибо! Но как можно сослаться на якорь конкретного ключа? Может быть сам ключ тогда ссылкой должен быть?

CaptainFlint wrote:
Могу только сказать, что первые варианты были абсолютно кошмарные, начиная буквально с первой строчки, где кнопка засовывалась прямо в тег <html> до всех служебных заголовков и <body>.

Я сам смеялся, когда увидел, как в гаждете сделано ) Но мы в этих делах профаны (агенты три нуля), что не раз озвучивалось в топике. Главное, что все получилось. Я очень доволен результатом в CHM: сразу читать захотелось Mr. Green
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 332
Location: Электросталь

Post (Separately) Posted: Thu May 07, 2026 21:16    Post subject: Reply with quote

Orion9 wrote:
назвав его "Ключи Wincmd.ini"... в Readme.md ... его на первое место

Сделал. (Заодно обновил и дополнил TC.Extra.html)

CaptainFlint wrote:
пока не имел возможности проанализировать примеры, которые тут выкладывались

Кратко о последней реализации, которая сейчас используется в CHM по ссылке чуть выше (в этом посте).

В начало body добавляется скрипт:
Code:
<script type="text/javascript">function toggleColumn(loc){var body=document.body;if(body.className.indexOf('hide-cols')!==-1){body.className=body.className.replace('hide-cols','').trim();}else{body.className+=' hide-cols';}window.location=window.location.toString().replace(/#[a-z0-9\-]+/g,'')+"#"+loc;window.scrollBy(0,-100);}</script>

В каждую ячейку с описанием <td class="td_description"> добавляется div с маленькой кнопочкой (без надписи, только угловые скобки):
Code:
<div class=btn><button name="10001" title="Развернуть/Свернуть описание" onclick="toggleColumn(10001)">&lt;&gt;</button></div>

В каждую ячейку, которая принадлежит колонке, которую нужно сворачивать, добавляется служебный класс col-hide, например:
Code:
<td class="td_header col-hide">Секция</td>
...
<td class="td_section col-hide">Layout</td>

В head/style добавляются стили для кнопки и скрытия ячеек:
Code:
.hide-cols .col-hide{display:none;}
div.btn{display:block;float:right;margin-left:1em;}
button{color:#444C56;border:1px solid #444C56;border-radius:4px;cursor:pointer;padding:2px 5px;}
button:hover{color:#0075EA;border-color:#0075EA;text-shadow: 0 0 10px #80BFFF;}
button:active{background:#fff;}

Т.е. это как раз то, о чём вы написали:
CaptainFlint wrote:
Реализацию скрытия можно упростить, если добавить служебных классов во все ячейки, и скрипт тогда сможет опираться на названия этих классов


Почему у каждой кнопки уникальный якорь (name) и зачем скрипт запускается с параметром, например, toggleColumn(10001) ?
Это сделано только для работоспособности скрипта в CHM и в IE9, движок которого используется в CHM. В IE9, когда после сворачивания/разворачивания колонок кол-во строк меняется, текущая горизонтальная позиция улетает вверх или вниз. Чтобы вернуться к той ячейке, в которой была нажата кнопка, скрипт делает переход к её якорю.

Но в современных браузерах этого делать не нужно, потому что при сворачивании/разворачивании текущая горизонтальная позиция автоматически восстанавливается самим браузером. Поэтому для современных браузеров достаточно будет скрипта:
Code:
<script type="text/javascript">function toggleColumn(loc){var body=document.body;if(body.className.indexOf('hide-cols')!==-1){body.className=body.className.replace('hide-cols','').trim();}else{body.className+=' hide-cols';}}</script>

и одной единственной кнопки (плавающей в правом верхнем углу окна, например) для скрытия колонок.

Если же требуется сохранить совместимость с IE9 (и с CHM, как следствие), то лучше использовать многокнопочный вариант, или реализовать выполнение условия в зависимости от браузера.

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

Да, и ещё один момент: вообще разговор о добавлении каждому ключу уникального ID зашёл в связи с тем, чтобы можно было организовать переход к нему при помощи «window.location.hash = id;». Но поскольку с того момента мы уже организовали переход другим способом, то и насущная необходимость в ID отпадает.

Я ведь ещё думаю о том, чтобы свой сценарий по конвертации CHM не переписывать Smile Хотя, если изменения действительно понадобятся, то перепишем и сценарий, конечно. Ну и сейчас, добавления типа «<td class="td_key" id="Layout--ButtonBar">» мой сценарий не затрагивают.

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

Orion9 wrote:
Но как можно сослаться на якорь конкретного ключа?

Для подавляющего большинства ключей имя якоря очевидно — это "<имя_секции>--<имя_ключа>" (и то, и другое смотрим в таблице). Дописываем такой якорь в конец адреса после #. А если не сработало, то открываем ячейку с ключом в Инспекторе браузера и копируем ID оттуда.
Например: https://flint-inc.ru/Temp/tcinfo-test/Russian.cedf#Packer--PackEncrypted
_________________
Amo ergo sum
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6229
Location: Москва

Post (Separately) Posted: Thu May 07, 2026 22:10    Post subject: Reply with quote

Orion9 wrote:
Но как можно сослаться на якорь конкретного ключа? Может быть сам ключ тогда ссылкой должен быть?

То есть, как пользователю такую ссылку получить? Да, я такой сценарий не учитывал. Думал, что речь как раз о том, чтобы применять это дело лишь для всяких внутренних поделок. Поэтому да, пока что — либо угадыванием, либо вытаскиванием из веб-отладчика. Про ссылки — вариант, но если каждый ключ будет ссылкой, не станет ли это избыточным загромождением?
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1092

Post (Separately) Posted: Fri May 08, 2026 00:37    Post subject: Reply with quote

yozhik
CaptainFlint
Спасибо за пояснение. Но это сложно простому пользователю.

Как мне кажется, должна быть маленькая кнопка рядом с ключом, которая будет копировать ссылку с якорем. Эту ссылку можно расшаривать на форуме: удобно же, чем просто отсылать человека искать ключ в справочнике.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6229
Location: Москва

Post (Separately) Posted: Fri May 08, 2026 02:41    Post subject: Reply with quote

Тогда это надо обсудить с Avada. Справочник — его вотчина, поэтому любые модификации, проявляющиеся визуально, будут добавлены лишь с его одобрения.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 1092

Post (Separately) Posted: Fri May 08, 2026 13:21    Post subject: Reply with quote

yozhik wrote:
Сделал. (Заодно обновил и дополнил TC.Extra.html)

Вчера не успел посмотреть и оставить отзыв, теперь выглядит классно! Как всегда, вы сделали больше, чем ожидалось: навигация на левой панели лишней не будет Very Happy

CaptainFlint wrote:
любые модификации, проявляющиеся визуально, будут добавлены лишь с его одобрения.

Если я правильно понял, оригинальные CEDF затронуты не будут, а это уже хорошо. А сделать кнопку с копированием ссылки, не должно составить проблем. Спросил у сами знаете кого
Code:
<button onclick="copyUrl()">Скопировать ссылку</button>

<script>
  function copyUrl() {
    navigator.clipboard.writeText(window.location.href)
      .then(() => alert("Ссылка в буфере!"))
      .catch(err => console.error("Ошибка:", err));
  }
</script>

Code:
Чтобы добавить якорь (id элемента) к текущей ссылке перед копированием, просто прибавьте строку с символом # к значению URL.

const anchor = 'my-section'; // ID элемента на странице
const linkWithAnchor = window.location.href + '#' + anchor;

await navigator.clipboard.writeText(linkWithAnchor);

Часто нужно копировать ссылку на конкретный заголовок при клике по нему:

function copySectionLink(id) {
  const url = new URL(window.location.href);
  url.hash = id;
 
  navigator.clipboard.writeText(url.toString())
    .then(() => console.log(`Ссылка на секцию ${id} скопирована`));
}
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10510
Location: Россия, Саратов

Post (Separately) Posted: Fri May 08, 2026 15:26    Post subject: Reply with quote

CaptainFlint wrote:
Тогда это надо обсудить с Avada.

Попозже обсудим в приватном порядке, не на форуме. Пока что я занят другими связанными с TC делами.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 43, 44, 45
Page 45 of 45

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group