Своё меню: хитрости извне

Материал из TCKB 2.0
Перейти к:навигация, поиск
WTF?

Эта статья содержит спорные, или несогласованные данные. Её необходимо обсудить.


Уже давно появилась цель получить более гибкий подход к управлению окном ТС. Основной задачей была возможность увеличивать рабочую область за счёт скрытия строки заголовка, не лишаясь при этом функционала кнопок управления с возможностью их расширения.
TCFS2 - великолепная утилита, в которой эта цель реализована.

TCFS2


Утилита для TC
«TCFS2»
Тип Утилита
Версия 1.5.0.10
Размер 20 KB
Автор MVV
Лицензия freeware
Исходный код закрыт
Статус развивается
Требования нет
Страница TCFS2
Назначение Оптимизатор
Возможность локализации есть
Поддержка unicode нет
Список всех утилит


Достоинства программы:

  • малый размер дистрибутива;
  • отсутствие явных глюков;
  • отсутствие привязки горячих клавиш к трею;
  • отсутствие лишних приложений для настройки;
  • запуск с любым количеством команд, функций;
  • разворачивание/восстановление окна ТС;
  • центрирование окна ТС;
  • изменение/установка размеров окна ТС;
  • перемещения окна ТС курсором мыши;
  • возможность создания множества инверсных команд любого внутрифункционального характера;
  • работа с дескрипторами и свободными битами окна ТС, что увеличивает гибкость при создании команд;
  • перемещение и установка в любую позицию разделителя файловых панелей;
  • установка разделителя относительно активной файловой панели;
  • масштабирование значков на панели инструментов;
  • возможность активировать свои функции при старте ТС с привязкой к WDX-плагину autorun в связке с дочерним плагином HideMenu;
  • проверка и быстрая правка числовых значений ключей в wincmd.ini;
  • одновременный запуск любого количества команд ТС (аналогично утилите TCMC).

Недостатки программы:

  • для более гибкого использования требует по-хорошему вразумительного изучения синтаксиса файла конфигурации.

Настройка кодировки


Основным аспектом при правке меню TC являются предварительные настройки для отображения в нём юникодных шрифтовых символов.
Наиболее предпочтительными шрифтами, вошедшими в основной дистрибутив Windows XP/Vista/7, для наших нужд оказались Arial Unicode и Lucida Sans Unicode, поскольку включают в себя прежде всего набор всех необходимых кодовых страниц и при этом имеет значительное разнообразие символов из ряда нестандартных кодовых страниц, которые вполне могут сменить кнопочные иконки, внешне идентифицирующие выполняемые из ТС команды.

Цвет и внешний вид окна.jpg
1. Перво-наперво нам потребуется зайти в системные настройки и указать любой из двух шрифтов. По кнопке или из командной строки вызываем диалог "Цвет и внешний вид окна":
rundll32.exe shell32.dll Control_RunDLL desk.cpl,desc,

Из первого списка выбираем последний элемент Строка меню, из второго - шрифт, например, Lucida Sans Unicode. Устанавливаем размеры, например, 17 и 8 соответственно. Жмём [ОК].

Сохранить как из AkelPad mnu.jpg
2. Далее необходимо перевести языковые файлы ТС в нужную кодировку.

Для этого откроем файл "%COMMANDER_PATH%\Language\Wcmd_rus.lng" в редакторе с возможностью сохранять юникод без ВОМ.
Посмотрим на примере AkelPad-а. В самом начале файла следующей за строкой Russian (Русский) впишем строку codepage=65001 для системной идентификации кодовой страницы UTF-8, жмём Ctrl+Shift+S(Сохранить как...), в диалоге в списке Кодировка: выбираем 65001 UTF-8, убираем галочку с ВОМ, сохраняем файл в папке Language. Без редактирования открываем из папки Language и сохраняем аналогичным образом файл wcmd_rus.mnu.
Файл wmcd_rus.inc сохраним в UTF-8, но с ВОМ (для правильного отображения символов в утилизаторе плагина TwinKey на странице Клавиатура).

Кнопки управления


Теперь переходим к созданию кнопок управления окном ТС.

1. Сначала распакуем скачанный архив ТСFS2 в папку внутри ТС, например, ...\Utils\TCFS2\. Откроем файл TCFS2.ini в текстовом редакторе и в любые (желательно рядом с близким по смылу заголовком в комментарии) новые строки секции Items вставляем код:
[Items]
r8=move(0, 0, @, @-1)	; Установить абсолютный размер окна с уменьшенной на пиксель высотой
; Скрыть заголовок + включить режим "восстановить" + установить максимальный размер:
run=run_item(c0) run_item(rm1pm) show(9) run_item(sp)
; Центрирование и пропорциональное уменьшение размеров окна:
sp=set_style(# & ~$00008000) move(@*7/64, @*7/64, @*25/32, @*25/32), style(# & $00008000), sp | set_style(# | $00008000) run_item(r8), , sp

Сохраняем файл.

2. Создадим пользовательские команды. Заходим из главного меню Тотала в Инструменты, выбираем первый пункт Список команд ТС..., в диалоге "Выбор команды" устанавливаем курсор на usercmd.ini, нажимаем кнопку [Новая], пишем название, например, em_MaxRestore, подтверждаем, в диалоге "Изменение пользовательской команды" в поле Команда вставляем "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ei sp и там же в поле Подсказка пишем Свернуть/Восстановить окно ТС, подтверждаем.

По такому же принципу создадим ещё несколько удобных команд:

Название Команда Параметры Подсказка
em_MoveTCWindow "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ea begin_move Начать передвижение окна TC мышью
em_TCRestart %COMMANDER_PATH%\Utils\TinnyTCRestarter.exe 100 Перезапустить ТС
em_SepMove "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ei sp_move Установить разделитель панелей на вертикальной оси, выбранной кликом ЛКМ
3. Открываем файл wcmd_rus.mnu в AkelPad и в самом конце следом за закрывающим тегом END_POPUP вставляем такие строки:
MENUITEM "↺", em_TCRestart
MENUITEM "║", em_SepMove
MENUITEM "⌆", em_MoveTCWindow
MENUITEM "▃", $7D0
MENUITEM "◙", em_MaxRestore
MENUITEM "◘", $5F14

Примечание: для правильного отображения символов в AkelPad, в главном меню кликните пункт "Шрифт..." и выберите соответствующий.
Сохраняем файл mnu в том же редакторе, где и в первый раз. Настройки параметров сохранения автоматически учитываются предыдущие. Естественно, впоследствии при желании вы можете добавить свои команды.

Запуск ТС без строки заголовка окна


Перейдём к окончательной процедуре, а именно - научим запускать ТС сразу без строки заголовка. Для этого у нас должен быть установлен контентный плагин autorun.wdx (если нет, то установите и настройте согласно описанию в ReadMe, в цветовых схемах передвиньте позицию с плагином на верхнюю строчку). Итак, перейдём в папку установленного плагина, скопируем дочерний плагин Autorun_HideMenu.dll в подкаталог Plugins, после вернёмся в родительскую папку, откроем autorun.cfg в текстовом редакторе и обязательно пропишем в нём следующие строки (расположение и последовательность выберите по усмотрению):

LoadLibrary Plugins\Autorun_HideMenu.dll
# Скрытие строки заголовка
ShellExec "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" "/d=0 /ei run"

Сохраняем файл стандартным образом, перезапускаем Тотал.

В итоге меню при запуске ТС должно выглядеть так:
ТС без строки заголовка.jpg
Попробуйте теперь поиграться нажатиями новых кнопок. Уверен - вам понравятся эти фичи, и вы быстро к ним привыкнете.
Желаю удачи в освоении!

Flasher
09.01.2011

Ключевые слова: полный экран, FullScreen, TCFS2, меню, главное меню, скрытие меню, скрытие заголовка, строка заголовка, хитрости