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

Материал из TCKB 2.0
Перейти к:навигация, поиск
(Новая страница: «Уже давно появилась цель получить более гибкий подход к управлению окном ТС. Основной зад…»)
 
м
Строка 1: Строка 1:
 
Уже давно появилась цель получить более гибкий подход к управлению окном ТС. Основной задачей была возможность увеличивать рабочую область за счёт скрытия строки заголовка, не лишаясь при этом функционала кнопок управления с возможностью их расширения.
 
Уже давно появилась цель получить более гибкий подход к управлению окном ТС. Основной задачей была возможность увеличивать рабочую область за счёт скрытия строки заголовка, не лишаясь при этом функционала кнопок управления с возможностью их расширения.
  
Мои просьбы были некогда услышаны, и по велению волшебной полочки ('''MVV''') вышла в свет весьма продуктивная утилита, которая смогла воплотить в жизнь эти пожелания. Имя ей TCFS2, нашумевшее продолжение [[TCFS|уже разбиравшегося аналога - TCFS]].
+
Мои просьбы были некогда услышаны, и по велению волшебной палочки вышла в свет весьма продуктивная утилита, которая смогла воплотить в жизнь эти пожелания. Имя ей TCFS2, нашумевшее продолжение [[TCFS|уже разбиравшегося аналога - TCFS]].
  
 
===TCFS2===
 
===TCFS2===
Строка 17: Строка 17:
 
|translatable  = 1
 
|translatable  = 1
 
}}
 
}}
Прежде чем приступить к сабжевой теме, хочется упомянуть о важных конструктивных преимуществах TCFS2 над предшественником:<br />
+
Преимущества программы:
* малый размер дистрибутива;<br />
+
* малый размер дистрибутива;
* отсутствие явных глюков;<br />
+
* отсутствие явных глюков;
* отсутствие привязки горячих клавиш к трею;<br />
+
* отсутствие привязки горячих клавиш к трею;
* отсутствие лишних приложений для настройки;<br />
+
* отсутствие лишних приложений для настройки;
* запуск с любым количеством команд, функций;<br />
+
* запуск с любым количеством команд, функций;
* разворачивание/восстановление окна ТС;<br />
+
* разворачивание/восстановление окна ТС;
* центрирование окна ТС;<br />
+
* центрирование окна ТС;
* изменение/установка размеров окна ТС;<br />
+
* изменение/установка размеров окна ТС;
* перемещения окна ТС курсором мыши;<br />
+
* перемещения окна ТС курсором мыши;
* возможность создания множества инверсных команд любого внутрифункционального характера;<br />
+
* возможность создания множества инверсных команд любого внутрифункционального характера;
* работа с дескрипторами и свободными битами окна ТС, что увеличивает гибкость при создании команд;<br />
+
* работа с дескрипторами и свободными битами окна ТС, что увеличивает гибкость при создании команд;
* перемещение и установка в любую позицию разделителя файловых панелей;<br />
+
* перемещение и установка в любую позицию разделителя файловых панелей;
* установка разделителя относительно активной файловой панели;<br />
+
* установка разделителя относительно активной файловой панели;
* масштабирование значков на панели инструментов;<br />
+
* масштабирование значков на панели инструментов;
* возможность активировать свои функции при старте ТС с привязкой к WDX-плагину autorun в связке с дочерним плагином HideMenu;<br />
+
* возможность активировать свои функции при старте ТС с привязкой к WDX-плагину autorun в связке с дочерним плагином HideMenu;
* проверка и быстрая правка числовых значений ключей в wincmd.ini;<br />
+
* проверка и быстрая правка числовых значений ключей в wincmd.ini;
* одновременный запуск любого количества команд ТС (аналогично [[TCMC|утилите TCMC]]).
+
* одновременный запуск любого количества команд ТС (аналогично [[TCMC|утилите TCMC]]).
  
из недостатков:<br />
+
Недостатки программы:
* для более гибкого использования требует по-хорошему вразумительного изучения синтаксиса файла конфигурации.
+
* для более гибкого использования требует по-хорошему вразумительного изучения синтаксиса файла конфигурации.
  
 
===Настройка кодировки===
 
===Настройка кодировки===
----
+
 
 
Основным аспектом при правке меню TC являются предварительные настройки для отображения в нём юникодных шрифтовых символов.<br />
 
Основным аспектом при правке меню TC являются предварительные настройки для отображения в нём юникодных шрифтовых символов.<br />
 
Наиболее предпочтительными шрифтами, вошедшими в основной дистрибутив Windows XP/Vista/7, для наших нужд оказались ''Arial Unicode'' и ''Lusida Sans Unicode'', поскольку включают в себя прежде всего набор всех необходимых кодовых страниц и при этом имеет значительное разнообразие символов из ряда нестандартных кодовых страниц, которые вполне могут сменить кнопочные иконки, внешне идентифицирующие выполняемые из ТС команды.  
 
Наиболее предпочтительными шрифтами, вошедшими в основной дистрибутив Windows XP/Vista/7, для наших нужд оказались ''Arial Unicode'' и ''Lusida Sans Unicode'', поскольку включают в себя прежде всего набор всех необходимых кодовых страниц и при этом имеет значительное разнообразие символов из ряда нестандартных кодовых страниц, которые вполне могут сменить кнопочные иконки, внешне идентифицирующие выполняемые из ТС команды.  
 
[[Изображение:Цвет_и_внешний_вид_окна.jpg|250px|right]]
 
[[Изображение:Цвет_и_внешний_вид_окна.jpg|250px|right]]
'''1.''' Перво-наперво нам потребуется зайти в системные настройки и указать любой из двух шрифтов. По кнопке или из командной строки вызываем диалог "Цвет и внешний вид окна":  
+
:1. Перво-наперво нам потребуется зайти в системные настройки и указать любой из двух шрифтов. По кнопке или из командной строки вызываем диалог "Цвет и внешний вид окна":  
'''rundll32.exe shell32.dll Control_RunDLL desk.cpl,desc,'''<br />
+
rundll32.exe shell32.dll Control_RunDLL desk.cpl,desc,
 
Из первого списка выбираем последний элемент ''Строка меню'', из второго - шрифт, например, ''Lusida Sans Unicode''. Устанавливаем размеры, например, '''17''' и '''8''' соответственно. Жмём [ОК].
 
Из первого списка выбираем последний элемент ''Строка меню'', из второго - шрифт, например, ''Lusida Sans Unicode''. Устанавливаем размеры, например, '''17''' и '''8''' соответственно. Жмём [ОК].
[[Изображение:Сохранить_как_из_AkelPad_mnu.jpg|250px|left]]
+
[[Изображение:Сохранить_как_из_AkelPad_mnu.jpg|250px|right]]
'''2.''' Далее необходимо перевести языковые файлы ТС в нужную кодировку.<br />
+
:2. Далее необходимо перевести языковые файлы ТС в нужную кодировку.<br />
Для этого откроем файл "'''%COMMANDER_PATH%\Language\Wcmd_rus.lng'''" в редакторе с возможностью сохранять юникод без ВОМ.<br /> Посмотрим на примере [http://akelpad.sourceforge.net/ru/download.php AkelPad]-а. В самом начале файла следующей за строкой ''Russian (Русский)'' впишем строку '''codepage=65001''' для системной идентификации кодовой страницы UTF-8, жмём Ctrl+Shift+S(Сохранить как...), в диалоге в списке ''Кодировка:'' выбираем '''65001 UTF-8''', убираем галочку с ВОМ, сохраняем файл в папке Language.Без редактирования открываем из папки Language и сохраняем аналогичным образом файл ''wcmd_rus.mnu''.<br />Файл ''wmcd_rus.inc'' сохраним в UTF-8, но с ВОМ (для правильного отображения символов в утилизаторе плагина ''TwinKey'' на странице ''Клавиатура'').
+
Для этого откроем файл "'''%COMMANDER_PATH%\Language\Wcmd_rus.lng'''" в редакторе с возможностью сохранять юникод без ВОМ.<br />
 +
Посмотрим на примере [http://akelpad.sourceforge.net/ru/download.php AkelPad]-а. В самом начале файла следующей за строкой ''Russian (Русский)'' впишем строку '''codepage=65001''' для системной идентификации кодовой страницы UTF-8, жмём Ctrl+Shift+S(Сохранить как...), в диалоге в списке ''Кодировка:'' выбираем '''65001 UTF-8''', убираем галочку с ВОМ, сохраняем файл в папке Language. Без редактирования открываем из папки Language и сохраняем аналогичным образом файл ''wcmd_rus.mnu''.<br />
 +
Файл ''wmcd_rus.inc'' сохраним в UTF-8, но с ВОМ (для правильного отображения символов в утилизаторе плагина ''TwinKey'' на странице ''Клавиатура'').<br>
  
 
===Кнопки управления===
 
===Кнопки управления===
----
+
 
 
Теперь переходим к созданию кнопок управления окном ТС.  
 
Теперь переходим к созданию кнопок управления окном ТС.  
  
'''1.''' Сначала распакуем [http://wincmd.ru/download.php?id=tcfs2 скачанный архив ТСFS2] в папку внутри ТС, например, '''...\Utils\TCFS2\'''. Откроем файл ''TCFS2.ini'' в текстовом редакторе и в любые (желательно рядом с близким по смылу заголовком в комментарии) новые строки секции Items вставляем код:
+
:1. Сначала распакуем [http://wincmd.ru/download.php?id=tcfs2 скачанный архив ТСFS2] в папку внутри ТС, например, '''...\Utils\TCFS2\'''. Откроем файл ''TCFS2.ini'' в текстовом редакторе и в любые (желательно рядом с близким по смылу заголовком в комментарии) новые строки секции Items вставляем код:
 
<source lang="ini">
 
<source lang="ini">
 
[Items]
 
[Items]
Строка 66: Строка 68:
 
Сохраняем файл.
 
Сохраняем файл.
  
'''2.''' Создадим пользовательские команды. Заходим из главного меню Тотала в ''Инструменты'', выбираем первый пункт ''Список команд ТС...'', в диалоге "Выбор команды" устанавливаем курсор на ''usercmd.ini'', нажимаем кнопку [Новая], пишем название, например, ''em_MaxRestore'', подтверждаем, в диалоге "Изменение пользовательской команды" в поле ''Команда'' вставляем '''"%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ei sp''' и там жев поле ''Подсказка'' пишем '''Свернуть/Восстановить окно ТС''', подтверждаем.
+
:2. Создадим пользовательские команды. Заходим из главного меню Тотала в ''Инструменты'', выбираем первый пункт ''Список команд ТС...'', в диалоге "Выбор команды" устанавливаем курсор на ''usercmd.ini'', нажимаем кнопку [Новая], пишем название, например, ''em_MaxRestore'', подтверждаем, в диалоге "Изменение пользовательской команды" в поле ''Команда'' вставляем '''"%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ei sp''' и там же в поле ''Подсказка'' пишем '''Свернуть/Восстановить окно ТС''', подтверждаем.
 
По такому же принципу создадим ещё несколько удобных команд:
 
По такому же принципу создадим ещё несколько удобных команд:
  
'''Название:''' ''em_MoveTCWindow''<br />
+
{| border=1px width=100% cellpadding="1" cellspacing="0"
'''Команда:''' ''"%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ea begin_move''<br />
+
!Название||Команда||Параметры||Подсказка
'''Подсказка:''' ''Начать передвижение окна TC мышью''
+
|-
----
+
|em_MoveTCWindow||"%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ea begin_move||||Начать передвижение окна TC мышью
'''Название:''' ''em_TCRestart''<br />
+
|-
'''Команда:''' "%COMMANDER_PATH%\Utils\'''[http://wincmd.ru/download.php?id=tinnytcrestarter TinnyTCRestarter]'''.exe"<br />
+
|em_TCRestart||%COMMANDER_PATH%\Utils\[[TinnyTCRestarter]].exe||100||Перезапустить ТС
'''Параметры:''' ''100''<br />
+
|-
'''Подсказка:''' ''Перезапустить ТС''
+
|em_SepMove||"%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ei sp_move||||Установить разделитель панелей на вертикальной оси, выбранной кликом ЛКМ
----
+
|}
'''Название:''' ''em_SepMove''<br />
 
'''Команда:''' ''"%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ei sp_move''<br />
 
'''Подсказка:''' ''Установить разделитель панелей на вертикальной оси, выбранной кликом ЛКМ''
 
 
 
'''Примечание:'''
 
  
'''3.''' Открываем файл ''wcmd_rus.mnu'' в ''AkelPad'' и в самом конце следом за закрывающим тегом END_POPUP вставляем такие строки:
+
:3. Открываем файл ''wcmd_rus.mnu'' в ''AkelPad'' и в самом конце следом за закрывающим тегом END_POPUP вставляем такие строки:
 
<source lang="ini">
 
<source lang="ini">
MENUITEM "", em_TCRestart
+
MENUITEM "?", em_TCRestart
MENUITEM "", em_SepMove
+
MENUITEM "¦", em_SepMove
MENUITEM "", em_MoveTCWindow
+
MENUITEM "?", em_MoveTCWindow
MENUITEM "", $7D0
+
MENUITEM "?", $7D0
MENUITEM "", em_MaxRestore
+
MENUITEM "0", em_MaxRestore
MENUITEM "", $5F14
+
MENUITEM "", $5F14
 
</source>
 
</source>
'''Примечание:''' для правильного отображения символов в ''AkelPad'', в главном меню кликните пункт "Шрифт..." и выберите соответствующий.
+
'''Примечание:''' для правильного отображения символов в ''AkelPad'', в главном меню кликните пункт "Шрифт..." и выберите соответствующий.<br>
Сохраняем файл ''mnu'' в том же редакторе, где и в первый раз. Настройки параметров сохранения автоматически учитываются предыдущие.
+
Сохраняем файл ''mnu'' в том же редакторе, где и в первый раз. Настройки параметров сохранения автоматически учитываются предыдущие. Естественно, впоследствии при желании вы можете добавить свои команды.  
Естественно впоследствии при желании вы можете добавить свои команды.  
 
 
===Запуск ТС без строки заголовка окна===
 
===Запуск ТС без строки заголовка окна===
Перейдём к окончательной процедуре, а именно - научим запускать ТС сразу без строки заголовка. Для этого у нас должен быть установлен
+
Перейдём к окончательной процедуре, а именно - научим запускать ТС сразу без строки заголовка. Для этого у нас должен быть установлен контентный плагин [[autorun.wdx]] (если нет, то установите и настройте согласно описанию в ReadMe, в цветовых схемах передвиньте позицию с плагином на верхнюю строчку). Итак, перейдём в папку установленного плагина, скопируем дочерний плагин [http://ifolder.ru/20373747 Autorun_HideMenu.dll] в подкаталог ''Plugins'', после вернёмся в родительскую папку, откроем ''autorun.cfg'' в текстовом редакторе и обязательно пропишем в нём следующие строки (расположение и последовательность выберите по усмотрению):
контентный плагин [http://wincmd.ru/plugring/autorun.html autorun.wdx] (если нет, то установите и настройте согласно описанию в ReadMe, в цветовых схемах передвиньте позицию с плагином на верхнюю строчку). Итак, перейдём в папку установленного плагина, скопируем дочерний плагин [http://ifolder.ru/20373747 Autorun_HideMenu.dll] в подкаталог ''Plugins'', после вернёмся в родительскую папку, откроем ''autorun.cfg'' в текстовом редакторе и обязательно пропишем в нём следующие строки (расположение и последовательность выберите по усмотрению):
 
 
<source lang="c">
 
<source lang="c">
 
LoadLibrary Plugins\Autorun_HideMenu.dll
 
LoadLibrary Plugins\Autorun_HideMenu.dll
Строка 106: Строка 101:
 
Сохраняем файл стандартным образом, перезапускаем Тотал.
 
Сохраняем файл стандартным образом, перезапускаем Тотал.
  
В итоге меню при запуске ТС должно выглядеть так:
+
В итоге меню при запуске ТС должно выглядеть так:<br>
[[Файл:ТС без строки заголовка.jpg|820px]]
+
[[Файл:ТС без строки заголовка.jpg|820px]]<br>
 
Попробуйте теперь поиграться нажатиями новых кнопок. Уверен - вам понравятся эти фичи, и вы быстро к ним привыкнете.<br />
 
Попробуйте теперь поиграться нажатиями новых кнопок. Уверен - вам понравятся эти фичи, и вы быстро к ним привыкнете.<br />
 
''Желаю удачи в освоении!''
 
''Желаю удачи в освоении!''

Версия 12:49, 9 января 2011

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

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

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 и Lusida Sans Unicode, поскольку включают в себя прежде всего набор всех необходимых кодовых страниц и при этом имеет значительное разнообразие символов из ряда нестандартных кодовых страниц, которые вполне могут сменить кнопочные иконки, внешне идентифицирующие выполняемые из ТС команды.

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

Из первого списка выбираем последний элемент Строка меню, из второго - шрифт, например, Lusida 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 "0", 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, меню, главное меню, скрытие меню, скрытие заголовка, строка заголовка, хитрости