Своё меню: хитрости извне: различия между версиями

Материал из TCKB 2.0
Перейти к:навигация, поиск
м
Строка 1: Строка 1:
{{Предмет обсуждения}}{{copyright}}
+
{{copyright}}
  
 
Уже давно появилась цель получить более гибкий подход к управлению окном ТС. Основной задачей была возможность увеличивать рабочую область за счёт скрытия строки заголовка, не лишаясь при этом функционала управления окном с возможностью его расширения за счёт приумножения кнопочного ряда.<br>
 
Уже давно появилась цель получить более гибкий подход к управлению окном ТС. Основной задачей была возможность увеличивать рабочую область за счёт скрытия строки заголовка, не лишаясь при этом функционала управления окном с возможностью его расширения за счёт приумножения кнопочного ряда.<br>

Версия 08:46, 12 января 2011


© Copyright
Эта статья защищена авторским правом, и на её правку наложены ограничения.

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

И вот однажды в свет вышла весьма продуктивная утилита под названием TCFS2, явившаяся качественной заменой уже рассматриваемого для этой цели аналога TCFS. Благодаря моим идейным соображениям по развитию её функционала автор сумел воплотить в жизнь ряд моментов, которые смогли частично способствовать реализации вышестоящей задачи.

TCFS2

Основная статья: TCFS2.

Отличия от TCFS

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

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

Основным аспектом при правке меню 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

Сохраняем файл. Примечание: Данный пример подходит для случая с автоматически скрывающейся панелью задач. Если у вас панель задач постоянно на виду, то в команде r8 вместо 1-цы впишите число пикселей, соответствующее высоте таскбара. В зависимости от пользовательских настроек и выбранной "Темы" высота может колебаться. Для упрощения задачи сделайте скриншот панели задач и посмотрите высоту картинки с помощью контентного либо листерного плагина.

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, меню, главное меню, скрытие меню, скрытие заголовка, строка заголовка, хитрости