Своё меню: хитрости извне: различия между версиями
Flasher (обсуждение | вклад) (Новая страница: «Уже давно появилась цель получить более гибкий подход к управлению окном ТС. Основной зад…») |
м |
||
Строка 1: | Строка 1: | ||
Уже давно появилась цель получить более гибкий подход к управлению окном ТС. Основной задачей была возможность увеличивать рабочую область за счёт скрытия строки заголовка, не лишаясь при этом функционала кнопок управления с возможностью их расширения. | Уже давно появилась цель получить более гибкий подход к управлению окном ТС. Основной задачей была возможность увеличивать рабочую область за счёт скрытия строки заголовка, не лишаясь при этом функционала кнопок управления с возможностью их расширения. | ||
− | Мои просьбы были некогда услышаны, и по велению волшебной | + | Мои просьбы были некогда услышаны, и по велению волшебной палочки вышла в свет весьма продуктивная утилита, которая смогла воплотить в жизнь эти пожелания. Имя ей TCFS2, нашумевшее продолжение [[TCFS|уже разбиравшегося аналога - TCFS]]. |
===TCFS2=== | ===TCFS2=== | ||
Строка 17: | Строка 17: | ||
|translatable = 1 | |translatable = 1 | ||
}} | }} | ||
− | + | Преимущества программы: | |
− | * | + | * малый размер дистрибутива; |
− | * | + | * отсутствие явных глюков; |
− | * | + | * отсутствие привязки горячих клавиш к трею; |
− | * | + | * отсутствие лишних приложений для настройки; |
− | * | + | * запуск с любым количеством команд, функций; |
− | * | + | * разворачивание/восстановление окна ТС; |
− | * | + | * центрирование окна ТС; |
− | * | + | * изменение/установка размеров окна ТС; |
− | * | + | * перемещения окна ТС курсором мыши; |
− | * | + | * возможность создания множества инверсных команд любого внутрифункционального характера; |
− | * | + | * работа с дескрипторами и свободными битами окна ТС, что увеличивает гибкость при создании команд; |
− | * | + | * перемещение и установка в любую позицию разделителя файловых панелей; |
− | * | + | * установка разделителя относительно активной файловой панели; |
− | * | + | * масштабирование значков на панели инструментов; |
− | * | + | * возможность активировать свои функции при старте ТС с привязкой к WDX-плагину autorun в связке с дочерним плагином HideMenu; |
− | * | + | * проверка и быстрая правка числовых значений ключей в wincmd.ini; |
− | * | + | * одновременный запуск любого количества команд ТС (аналогично [[TCMC|утилите TCMC]]). |
− | + | Недостатки программы: | |
− | * | + | * для более гибкого использования требует по-хорошему вразумительного изучения синтаксиса файла конфигурации. |
===Настройка кодировки=== | ===Настройка кодировки=== | ||
− | + | ||
Основным аспектом при правке меню 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. Перво-наперво нам потребуется зайти в системные настройки и указать любой из двух шрифтов. По кнопке или из командной строки вызываем диалог "Цвет и внешний вид окна": | |
− | + | rundll32.exe shell32.dll Control_RunDLL desk.cpl,desc, | |
Из первого списка выбираем последний элемент ''Строка меню'', из второго - шрифт, например, ''Lusida Sans Unicode''. Устанавливаем размеры, например, '''17''' и '''8''' соответственно. Жмём [ОК]. | Из первого списка выбираем последний элемент ''Строка меню'', из второго - шрифт, например, ''Lusida Sans Unicode''. Устанавливаем размеры, например, '''17''' и '''8''' соответственно. Жмём [ОК]. | ||
− | [[Изображение:Сохранить_как_из_AkelPad_mnu.jpg|250px| | + | [[Изображение:Сохранить_как_из_AkelPad_mnu.jpg|250px|right]] |
− | + | :2. Далее необходимо перевести языковые файлы ТС в нужную кодировку.<br /> | |
− | Для этого откроем файл "'''%COMMANDER_PATH%\Language\Wcmd_rus.lng'''" в редакторе с возможностью сохранять юникод без ВОМ.<br /> Посмотрим на примере [http://akelpad.sourceforge.net/ru/download.php AkelPad]-а. В самом начале файла следующей за строкой ''Russian (Русский)'' впишем строку | + | Для этого откроем файл "'''%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 вставляем код: | |
<source lang="ini"> | <source lang="ini"> | ||
[Items] | [Items] | ||
Строка 66: | Строка 68: | ||
Сохраняем файл. | Сохраняем файл. | ||
− | + | :2. Создадим пользовательские команды. Заходим из главного меню Тотала в ''Инструменты'', выбираем первый пункт ''Список команд ТС...'', в диалоге "Выбор команды" устанавливаем курсор на ''usercmd.ini'', нажимаем кнопку [Новая], пишем название, например, ''em_MaxRestore'', подтверждаем, в диалоге "Изменение пользовательской команды" в поле ''Команда'' вставляем '''"%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe" /ei sp''' и там же в поле ''Подсказка'' пишем '''Свернуть/Восстановить окно ТС''', подтверждаем. | |
По такому же принципу создадим ещё несколько удобных команд: | По такому же принципу создадим ещё несколько удобных команд: | ||
− | + | {| border=1px width=100% cellpadding="1" cellspacing="0" | |
− | + | !Название||Команда||Параметры||Подсказка | |
− | + | |- | |
− | + | |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 вставляем такие строки: | |
<source lang="ini"> | <source lang="ini"> | ||
− | MENUITEM " | + | MENUITEM "?", em_TCRestart |
− | MENUITEM " | + | MENUITEM "¦", em_SepMove |
− | MENUITEM " | + | MENUITEM "?", em_MoveTCWindow |
− | MENUITEM " | + | MENUITEM "?", $7D0 |
− | MENUITEM " | + | MENUITEM "0", em_MaxRestore |
− | MENUITEM " | + | MENUITEM "•", $5F14 |
</source> | </source> | ||
− | '''Примечание:''' для правильного отображения символов в ''AkelPad'', в главном меню кликните пункт "Шрифт..." и выберите соответствующий. | + | '''Примечание:''' для правильного отображения символов в ''AkelPad'', в главном меню кликните пункт "Шрифт..." и выберите соответствующий.<br> |
− | Сохраняем файл ''mnu'' в том же редакторе, где и в первый раз. Настройки параметров сохранения автоматически учитываются предыдущие. | + | Сохраняем файл ''mnu'' в том же редакторе, где и в первый раз. Настройки параметров сохранения автоматически учитываются предыдущие. Естественно, впоследствии при желании вы можете добавить свои команды. |
− | Естественно впоследствии при желании вы можете добавить свои команды. | ||
===Запуск ТС без строки заголовка окна=== | ===Запуск ТС без строки заголовка окна=== | ||
− | Перейдём к окончательной процедуре, а именно - научим запускать ТС сразу без строки заголовка. Для этого у нас должен быть установлен | + | Перейдём к окончательной процедуре, а именно - научим запускать ТС сразу без строки заголовка. Для этого у нас должен быть установлен контентный плагин [[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, поскольку включают в себя прежде всего набор всех необходимых кодовых страниц и при этом имеет значительное разнообразие символов из ряда нестандартных кодовых страниц, которые вполне могут сменить кнопочные иконки, внешне идентифицирующие выполняемые из ТС команды.
- 1. Перво-наперво нам потребуется зайти в системные настройки и указать любой из двух шрифтов. По кнопке или из командной строки вызываем диалог "Цвет и внешний вид окна":
rundll32.exe shell32.dll Control_RunDLL desk.cpl,desc,
Из первого списка выбираем последний элемент Строка меню, из второго - шрифт, например, Lusida Sans Unicode. Устанавливаем размеры, например, 17 и 8 соответственно. Жмём [ОК].
- 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"
Сохраняем файл стандартным образом, перезапускаем Тотал.
В итоге меню при запуске ТС должно выглядеть так:
Попробуйте теперь поиграться нажатиями новых кнопок. Уверен - вам понравятся эти фичи, и вы быстро к ним привыкнете.
Желаю удачи в освоении!
Flasher
09.01.2011
Ключевые слова: полный экран, FullScreen, TCFS2, меню, главное меню, скрытие меню, скрытие заголовка, строка заголовка, хитрости |