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 

Значки в Totalcmd.exe и внешних ICL-библиотеках
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Секреты и советы printer-friendly view
View previous topic :: View next topic  
Author Message
Avada



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

Post (Separately) Posted: Wed Feb 23, 2011 10:26    Post subject: Значки в Totalcmd.exe и внешних ICL-библиотеках Reply with quote

Это новая редакция микросправочника, ставшего в 2011 году результатом обсуждения, начатого здесь. Тогда я впервые представил некую сводку по компоновке и поведению значков, предназначенных в первую очередь для объектов в файловых панелях и содержащихся в Totalcmd.exe или, соответственно, во внешних библиотеках со значками. (Позже стал поддерживаться ещё и показ значков из Проводника, но далее этот вариант подробно рассматриваться не будет.) Описания первых 23 значков можно было в ту пору найти, разумеется, и во многих других источниках, но там обычно содержалось много неточностей и анахронизмов, от которых я постарался избавиться.
Первая версия данного справочника соответствовала версии TC 7.56, далее серьёзная правка долго не проводилась, добавились лишь краткие упоминания о 64-битных версиях. В 2023 году описания обновлены и доработаны уже основательно, с учётом всех новаций более поздних версий. Сейчас комплект значков представлен в наборе для TC 10.51, сохраняющем актуальность и в TC 11.00.
Англоязычным эквивалентом этого материала является появившийся значительно позже раздел Wiki-справочника по Total Commander, организованный по другому принципу. (В целом пояснения там гораздо менее подробны, однако перечислены, например, системные аналоги используемых в TC обычных и оверлейных значков.)
Для иллюстрации последующего текста по этой ссылке доступна картинка, отображающая порядок следования значков в файле Totalcmd.exe. В Totalcmd64.exe первый значок в этом наборе выглядит немного иначе (см. пояснения далее.)
Не следует путать рассматриваемые здесь значки для файловых панелей и некоторых других элементов интерфейса TC со значками, предназначенными исключительно для панелей инструментов и главного меню и управляемыми совсем другими настройками (см., например, описание ключа DefaultLib в справочнике по ключам).
Далее указаны порядковые номера значков в ресурсах Totalcmd.exe и, соответственно, во внешних библиотеках. Нумерация значков идёт с единицы, как на картинке, хотя могут встретиться источники информации, где отсчёт ведётся с нуля.


1 • Значок в панели задач, в заголовках основного окна TC и большей части диалогов
2 • Обычная папка (и стандартный значок для любой папки, кроме скрытой/системной) — 32
3 • PIF-файл в очень старых версиях до 4.x (больше не используется) — 32
4 • Файл программы, не содержащий значков (и стандартный значок для любого EXE-файла) — 32
5 • Несвязанный файл (и стандартный значок для файла, не имеющего особого стандартного значка) — 32
6 • Папка общего доступа — 32
7 • Папка под курсором в дереве каталогов, а также открытая в меню цепочек навигации и др. — 32
8 • Файл архива в момент открытия — все размеры
9 • Любой файл, определяемый TC как архивный — все размеры
10 • Скрытый/системный файл любого типа (больше не используется) — 32
11 • Элемент [..] для перехода на уровень вверх — все размеры
12 • Скрытая/системная папка (больше не используется) — 32
13 • Стандартный значок для ярлыка (не для NTFS-ссылок!) — все размеры
14 • Обычная папка (и стандартный значок для любой папки, кроме скрытой/системной) — 16
15 • Несвязанный файл (и стандартный значок для файла, не имеющего особого стандартного значка) — 16
16 • Скрытая/системная папка (больше не используется) — 16
17 • Папка общего доступа — 16
18 • Папка под курсором в дереве каталогов, а также открытая в меню цепочек навигации и др. — 16
19 • Скрытый/системный файл любого типа (больше не используется) — 16
20 • PIF-файл в очень старых версиях до 4.x (больше не используется) — 16
21 • Файл программы, не содержащий значков (и стандартный значок для любого EXE-файла) — 16
22 • Кодированный текстовый файл, не ассоциированный с внешней программой — 32
23 • Кодированный текстовый файл, не ассоциированный с внешней программой — 16
24 • Значок в заголовке окна внутреннего инструмента сравнения по содержимому
25 • Значок в заголовке окна внутренней программы просмотра
26 • Значок в области уведомления (16-битный, специально для Windows 9x/ME/2000)
27 • Значок фильтрации (в окошке быстрого фильтра или в строке состояния окна синхронизации)
28 • Соединение с FTP-сервером: значок обычного FTP-подключения
29 • Соединение с FTP-сервером: значок безопасного FTP-подключения
30 • Соединение с FTP-сервером: значок обычного FTP-подключения, защищённого главным паролем
31 • Соединение с FTP-сервером: значок безопасного FTP-подключения, защищённого главным паролем
32 • Значок для файлов контрольных сумм со стандартными расширениями (SFV, MD5, SHA*, BLAKE3) — все размеры
33 • Значок в заголовке окна внутреннего инструмента синхронизации
34 • Значок для элементов ftp в виртуальной папке "Рабочий стол" (в т.ч. в дереве) и \ftp в меню цепочек навигации — все размеры
35 • Значок-индикатор, отображаемый в процессе фоновой операции с папкой — все размеры
36 • Значок-индикатор, отображаемый в процессе фоновой операции с файлом — все размеры
37 • Windows 7 и выше, окно Aero Peek: значок на кнопке "Пауза" для приостановки выполняемых операций
38 • Windows 7 и выше, окно Aero Peek: значок на кнопке "Старт" для возобновления выполняемых операций
39 • Значок для выбора поля плагина: числовое значение
40 • Значок для выбора поля плагина: строковое значение
41 • Значок для выбора поля плагина: дата
42 • Значок для выбора поля плагина: время
43 • Значок для выбора поля плагина: булево значение (1/0)
44 • Значок для выбора поля плагина: одно значение из фиксированного их набора
45 • Значок для выбора поля плагина: полнотекстовый поиск
46 • Оверлейный значок для открытой папки — 32
47 • Оверлейный значок для открытой папки — 16
48 • Оверлейный значок для папки общего доступа — 32
49 • Оверлейный значок для папки общего доступа — 16
50 • Оверлейный значок для скрытого/системного объекта — 32
51 • Оверлейный значок для скрытого/системного объекта — 16
52 • Значок для выбора поля плагина: сравнить как текст (при синхронизации)
53 • Оверлейный значок для ярлыка или NFTS-ссылки — 32
54 • Оверлейный значок для ярлыка или NFTS-ссылки — 16
55 • Оверлейный значок для облачных OneDrive-файлов без оффлайнового доступа — 32
56 • Оверлейный значок для облачных OneDrive-файлов без оффлайнового доступа — 16
57 • Значок для включения/выключения дополнительной панели в окне сравнения по содержимому
58 • Оверлейный значок для OneDrive-файлов с оффлайновым доступом — 32
59 • Оверлейный значок для OneDrive-файлов с оффлайновым доступом — 16

Отображение значков, относящихся к файловым панелям, в зависимости от размера:
16 — отображается (кроме режима эскизов), когда на странице настроек "Значки" для опции "Размер значков" задано значение 16x16;
32 — отображается в режиме эскизов или когда на странице настроек "Значки" для опции "Размер значков" задано значение 32x32;
Все размеры — в любом случае используется один и тот же значок, размер выбирается автоматически.
Примечания:
Если в настройках TC выбран размер значков в диапазоне 17-31, то в файловых панелях при наличии пары однотипных стандартных значков обычно используется масштабированный значок 32x32.
При отображении значков папок и файлов вместо эскизов в соответствующем режиме представления обычно используется размер 48x48 (см. ключ ThumbIconSize), но при малом масштабе эскизов он уменьшается. Тот же размер, что в файловой панели, берётся и для значков, отображаемых вместо эскизов в диалоге подтверждения перезаписи.
Часть значков содержит также размеры, отличные от 16 и 32, но к файловым панелям они относятся редко. Например, первый по порядку значок поддерживает размеры 16, 24, 32, 40, 48 и 256, а в некоторых других значках есть в т.ч. поддержка размеров 24, 48 и/или 64.

Источники значков:
По умолчанию некоторая часть значков TC берётся из системного Проводника. Альтернативным (а нередко и единственным) источником с тандартных значков является файл Totalcmd.exe или Totalcmd64.exe. Если вы предпочитаете пользовательский набор значков, их следует включить во внешнюю ICL- или DLL-библиотеку, указав её имя как значение ключа IconLib в секции [Configuration] файла wincmd.ini. Обязательным условием обращения к внешней библиотеке является отключение использования файлов/папок из Проводника, причём это следут делать не правкой INI-файла вручную, а на странице настроек "Значки". Для определённых объектов из EXE-файла TC или внешней библиотеки берутся оверлейные значки (в т.ч и когда источником основных значков является Проводник).
В качестве исходников для самостоятельного изменения выложены образцы ICL-библиотек с актуальным набор значков (TC 10,51 и выше) из Totalcmd.exe и Totalcmd64.exe — разница между ними только в первом значке, см. далее.
Необходимо учитывать, что в современных ОС отсутствует поддержка 16-битных библиотек, поэтому старые внешние библиотеки с ограниченным числом значков следует как минимум преобразовать в 32-битные (о методике см., например, здесь).
Для обработки значков из внешней библиотеки важен только порядок их фактического следования, а не имена. При создании библиотеки не следует пропускать никакие значки, даже фактически ненужные, поскольку следующие значки окажутся не на своих местах и их привязка к элементам интерфейса нарушится. 32-битные библиотеки с непрерывной, но неполной последовательностью значков (например, только с первыми 26 значкам, как для очень старых версий TC) сохранят работоспособность, но все отсутствующие значки будут браться, разумеется, уже из EXE-файла.
Для редактирования готовых и создания собственных библиотек значков существует множество внешних средств (я использую, например, ArtIcons Pro), можно также порекомендовать WLX-плагин ICLView и WCX-плагин ICLRead.
Даже при наличии во внешней библиотеке полного комплекта значков из неё никогда не берутся значки 24-27, 33 и 57: их программа в любом случае загружает непосредственно из файла Totalcmd.exe или Totalcmd64.exe, в зависимости от битности текущей копии TC.

Условия отображения значков:
Значки 1 (MAINICON), 24-31, 33, 37-45, 52 и 57 к файловым панелям TC отношения не имеют, а значки 35-36 отображаются там только временно (например, при фоновой загрузке полей плагинов или эскизов или при подсчёте содержимого подкаталогов). Значки 3, 10, 16 и 19-20 (а в ОС на базе Windows NT и 26) в настоящее время уже не используются, хотя по-прежнему должны оставаться во внешней библиотеке на своих местах.
Значки 2/14 и 7/18 для папок могут использоваться не только в файловых панелях, но и в других областях интерфейса TC (все — в цепочках навигации, 14 и 18 — в некоторых диалогах, истории каталогов и др.). Кроме того, стандартные значки 14 (для папок) и 15 (для файлов) могут отображаться в диалоге копирования/перемещения, если там разрешён подсчёт количества предназначенных для операции объектов.
Если вы хотите изменить только основной значок программы, достаточно отключить использование значков для файлов/папок из Проводника и указать значением ключа IconLib ICO-файл с этим значком. В этом случае все прочие значки будут браться из EXE-файла.
В исполняемых файлах TC разной битности первый значок набора несколько отличается: в Totalcmd64.exe к изображению дискетки на этих значках всех размеров добавлена надпись 64.
Следует также знать, что значок 1 (MAINICON) из внешнего файла отображается не везде. Вы увидите его в заголовке окна TC, в кнопке в панели задач, в системной области уведомлений, а также в заголовках окон части встроенных инструментов TC (групповое переименование, поиск, настройка меню "Запуск" или избранных каталогов, выбор команды, окна фоновых операций и др.). В заголовках другой части окон (предпросмотр печати файлового списка, соединение с FTP-сервером, внутренние ассоциации, определение цветовых групп, настройки WDX-, WFX- и WLX-плагинов и др.) внешний значок 1 игнорируется, используется соответствующий встроенный значок.
В заголовках окна встроенных инструментов просмотра, сравнения и синхронизации отображаются собственные значки (25, 24 и 33 соответственно). Здесь есть довольно странное исключение, которое автор TC так и не смог устранить: если в 32-битном TC используется внешняя библиотека значков, то в заголовке окна синхронизации собственный значок отображается только при отдельном запуске этого инструмента (/S=S), а при обычном запуске из TC отображается значок 1 из внешней библиотеки.

Область применения некоторых значков для файловых панелей:
(В зависимости от того, какой вариант показа значков выбран на странице настроек "Значки")
Выбор вместо "Все ассоциированные + EXE/LNK" опции "Только стандартные" или "Все ассоциированные" означает, что:
• папки в основном сохраняют свои значки (для обычных — 2/14, для скрытых/системных — они же с добавлением оверлейного значка 50/51 и т.д.; скрытие специальных значков из файла Desktop.ini, к нашей теме напрямую не относится);
• у ярлыка вместо значка объекта ссылки отображается (только в этом случае!) не комбинация исходного значка с оверлейным (53/54), а целостный значок 13, NTFS-ссылки на папки по-прежнему отображаются только с оверлейными значками;
• значки 4/21 применяются ко всем EXE- и PIF-файлам без исключения;
• значки 5/15 будут обозначать большинство остальных файлов (про исключения см. далее).
Примечания:
При включённой опции "Только ассоциированные" файлы, содержащие значки, отображаются либо со значками ассоциированных приложений (если такие ассоциации есть), либо со стандартными значками TC.
При включённой опции "Если EXE/LNK не на дискетах" и/или "Если EXE/LNK не в сети" некоторые значки меняют свой вид по указанным правилам, но только на дискетах и/или в сети.
Внутри архивов опция "Все ассоциированные + EXE/LNK" игнорируется, обработка ведётся по правилам опции "Все ассоциированные".

Независимо от состояния указанных опций отображаются:
• значки 4/21 для COM- и BAT-файлов (для CMD-файлов используется значок системной ассоциации, а при её отключении — значок 5/15);
• значки 6/17 для папок общего доступа (в старых ОС, если отключена опция "Показывать оверлейные значки", а в Windows 7 и выше, если источник значков — EXE-файл или внешняя библиотека, в противном случае TC использует свой оверлейный значок);
• оверлейные значки 50/51 для скрытых/системных файлов ЛЮБОГО типа (включая ассоциированные, архивные и кодированные!) вместо прежних значков 12/16 и 10/19, которые больше не используются;
• значки 7/18 для папки под курсором в дереве, открытой в файловой панели (они используются и других областях интерфейса, например, в цепочках навигации, хотя при источнике значков, отличном от Проводника, зелёная оверлейная стрелка 46/47 из EXE-файла может иногда комбинироваться с целостным значком 7/18);
• значки 8/9 для открывающихся/закрытых архивов (однако файлы, открываемые с помощью WCX-плагинов, можно показывать и со своими собственными значками — см. описание секции [PackerPlugins] в справке TC), а показ индивидуального значка для архивов определённого типа можно настроить через внутренние ассоциации);
• значок 11 для элемента [..], обозначающего переход в родительскую папку;
• значки 22/23 для кодированных файлов, не ассоциированных с внешней программой (например, с WinRAR), в противном случае отображается значок этой программы;
• значок 32 для файлов контрольных сумм со стандартными расширеняими SFV, MD5, SHA* и BLAKE3 (если подобные файлы открываются с помощью WCX-плагинов, приоритет имеет значок 9, однако можно показывать эти файлы и со значком TC — см. описание секции [PackerPlugins] в справке TC);
• значок 34 для элемента ftp в дереве;
• значки 35/36 для индикации фоновых операций;
• значки 55/56 и 58/59 для разных видов OneDrive-файлов (только при IconOverlays=1, показ регулируется ключом IconOverlaysOneDrive).
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.


Last edited by Avada on Fri Sep 15, 2023 19:14; edited 28 times in total
Back to top
View user's profile Send private message
iglezz



Joined: 08 Dec 2010
Posts: 48

Post (Separately) Posted: Wed Feb 23, 2011 12:59    Post subject: Reply with quote

Quote:
• значки 4/21 применяются ко всем EXE- и PIF-файлам без исключения;

К BAT-файлам тоже...
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Wed Feb 23, 2011 13:28    Post subject: Reply with quote

iglezz
Не совсем так. Смотрим контекст, из которого взята цитата. К BAT-файлам (равно как и к COM) эти значки применяются при любом состоянии опции, поскольку собственных значков эти файлы не содержат и ни с чем не ассоциированы. Тут никакой зависимой от настроек специфики нет, потому и не оговаривалось. Но раз возник вопрос, дополнительную строку добавил.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
CaptainFlint



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

Post (Separately) Posted: Thu Feb 24, 2011 00:52    Post subject: Reply with quote

Уточнение для 6/16: только если не используются оверлейные значки (иначе значок руки берётся из системного оверлея).
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Thu Feb 24, 2011 01:09    Post subject: Reply with quote

Avada
CaptainFlint
6/17, а не 16... (с пол-года назад сам разбирался, методом тыка, - до сих пор на память...)
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Feb 24, 2011 10:50    Post subject: Reply with quote

CaptainFlint
Serge Yolkin
Спасибо, учтено.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Wed Mar 16, 2011 16:22    Post subject: Reply with quote

Подобный микросправочник по WCMICONS.DLL мне бы сейчас здорово пригодился.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Sun Mar 20, 2011 13:30    Post subject: Reply with quote

ask-rus
Во-первых, в ближайшее время я этим по-любому заниматься не буду. Во-вторых, там ничего "секретного" нет, каждый в принципе может для себя разобраться, что чему соответствует (с поправкой на разницу нумерации значков в Wcmicons.inc и во внешних программах для просмотра библиотек). В третьих, с таким количеством значков это уже не очень-то "микро". Короче, имеешь идеи — пиши в личку, а там видно будет.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
mrmerak



Joined: 20 Aug 2007
Posts: 441

Post (Separately) Posted: Sun Mar 20, 2011 19:30    Post subject: Reply with quote

Avada
надо б инфу на tckb.ru закинуть
_________________
TC 9.51 | Win10 1903
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Sun Mar 20, 2011 21:17    Post subject: Reply with quote

Моя предложить завернуть в *.CHM как расширяемое (+WCMICONS.DLL) дополнение к Справке, не в ближайшее, но в любое другое.
Mr.Merak wrote:
надо б инфу на tckb.ru закинуть

[off]
Там бы версию TC в Новостях обновить для начала.
[/off]
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Sun Mar 20, 2011 21:25    Post subject: Reply with quote

ask-rus
Оффтоп — в личку! Здесь, пожалуйста, только по основной теме.

Mr.Merak wrote:
надо б инфу на tckb.ru закинуть

Да, согласен. Но я этого раньше никогда не делал, а осваивать сейчас некогда, есть гораздо более приоритетные дела.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
mrmerak



Joined: 20 Aug 2007
Posts: 441

Post (Separately) Posted: Thu Jun 30, 2011 12:25    Post subject: Reply with quote

Avada
все таки статья крутая и имхо не должна просто тут пылиться.
мб в http://flint-inc.ru/tchelp/ отдельной веткой добавить или тут закрепить?
_________________
TC 9.51 | Win10 1903
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Jun 30, 2011 13:39    Post subject: Reply with quote

Mr.Merak
Добавить отдельной веткой — это вряд ли (в конце концов, это статья, посвящённая локальной проблеме, а не универсальный справочник, полезный всем и всегда). А закреплять — на этом подфоруме после модераторской чистки осталось не так уж много тем, чтобы что-то потерять и не найти. В общем, предложение принято к сведению, но ничего пока не обещаю.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
mrmerak



Joined: 20 Aug 2007
Posts: 441

Post (Separately) Posted: Thu Jun 30, 2011 14:45    Post subject: Reply with quote

Avada
ты ж вроде когда-то вылаживал обновленный icl? может его сюда тоже стоит добавить?
_________________
TC 9.51 | Win10 1903
Back to top
View user's profile Send private message
Avada



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

Post (Separately) Posted: Thu Jun 30, 2011 20:34    Post subject: Reply with quote

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

 
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