[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Andrey_A, ХарВик, chip642  
Переключение панелей инструментов Total Commander
Andrey_AДата: Воскресенье, 04.08.2013, 17:33 | Сообщение № 1
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7181
Награды: 141
Репутация: 125
Аверин Андрей
Переключение панелей инструментов Total Commander


При увеличении кнопок на панели инструментов, каждый сталкивался с проблемой создания новой(ых) панелей, их переключения...
Попробую осветить ряд способов, помогающих упростить эти действия.

Вводная часть:

Что такое панель инструментов и как создать свою?

[img640]http://tc-image.3dn.ru/Image/tc/tc_mn01.png[/img640]

- Панель инструментов - это файл с расширением bar (к примеру Programms.bar), где прописываются все, находящиеся на панели, кнопки
- В Total Commander'e такой файл находится в корне диска
- Если таких файлов много их можно поместить в отдельную папку Bars
Исходя из этого нам необходимо создать:
a) пустую панель инструментов
b) заполнить её
c) сделать несколько панелей (bar'ов)
d) выбрать метод переключения

Итак:
a) создадим пустую панель в папке Total Commander (или в подпапке Bars), а именно создадим обычный текстовый документ с расширением **.bar с содержимым:
Код
[Buttonbar]
Buttoncount=1


т.е. в любом текстовом редакторе в новый документ внесите вышеуказанный код и сохраните в файл с именем Programms.bar туда, где располагаются другие ..bar файлы

b) для заполнения панели кнопками, перетащите файл, удерживая левую кнопку мыши, на существующую панель - создастся кнопка. Нажмите её и откроется пустая созданная панель. Путём перетаскивания программ на панель (или копирования и вставки кнопок) заполните необходимым содержимым.

c) проделав пункт a) и b) несколько раз у Вас получатся панели по темам. (их может быть сколько угодно без ограничений, к примеру, в сборке Total Commander Image их более 600)

Теперь встаёт вопрос: как переключаться между ними? Тут уж каждый должен выбрать сам, исходя из собственных привычек и потребностей.

В этой статье будут рассмотрены различные методы. Их можно использовать как по отдельности, так и все вместе.

Во всех примерах будет использоваться 5 имён панелей, находящихся в корне Total Commander
%COMMANDER_PATH%\Multimedia.bar
%COMMANDER_PATH%\Grafica.bar
%COMMANDER_PATH%\Text.bar
%COMMANDER_PATH%\Sistems.bar
%COMMANDER_PATH%\Internet.bar
и основная (по умолчанию)
%COMMANDER_PATH%\DEFAULT.BAR

Вот несколько способов как это сделать:

1. Кнопочный. Под каждую панель инструментов своя кнопка

Создадим 5 кнопок на основной панели (DEFAULT.BAR), присвоив разные значки кнопкам:

1)
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Multimedia.bar

Wcmicons.dll,1058
• Мультимедиа • Аудио •  Видео •

0
-1


2)
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Grafica.bar

Wcmicons.dll,1057
• Графика • Фото •  Редакторы •

0
-1


3)
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Text.bar

Wcmicons.dll,1072
• Текст • Редакторы • Утилиты •

0
-1


4)
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Sistems.bar

Wcmicons.dll,2185
• Система • Внешние • Программы •

0
-1


5)
Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Internet.bar

Wcmicons.dll,1064
• Интернет •  Почта •  Закачка •

0
-1


Теперь, нажав на любую из них откроем соответствующую панель инструментов.
Чтобы вернуться на основную, необходимо на каждой из них сделать кнопку:

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\DEFAULT.BAR

Wcmicons.dll,1064
• Основная •

0
-1


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



[ps]Этот метод можно увидеть в большинстве сборок Total Commander.
Минус: уменьшение пространства панели под кнопки переключения самих панелей...[/ps]


 
Andrey_AДата: Воскресенье, 04.08.2013, 19:30 | Сообщение № 2
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7181
Награды: 141
Репутация: 125
Аверин Андрей
2. Кнопочный в выпадающем меню. Под каждую панель инструментов своя кнопка

a) создадим пустую панель SubMenu.bar

b) перетащим файл на основную панель

c) на создавшейся кнопке жмём правой кнопкой мыши, далее изменить, ставим галочку напротив пункта "в виде меню", и "ОК"

d) удерживая кнопку SHIFT, нажимаем на кнопке левой кнопкой мыши - откроется наша пустая панель инструментов

e) копируем на панель 5 вышеописанных кнопок, а также кнопку перехода на глав панель. Перезапускаем Total Commander

Получаем на основной панели кнопку с выпадающем меню, через которое можно перейти на любую панель.



Остаётся скопировать эту кнопку на все необходимые панели...

[ps]Плюс: экономия места на панелях инструментов
Минус: два клика при вызове других панелей[/ps]

3. Кнопочный в выпадающем горизонтальном меню. Под каждую панель инструментов своя кнопка

Повторяем все те же действия, что и в способе 2 от пункта a) до е), кроме перезапуска.

Делаем следующее:
f) в каждой кнопке заменяем подсказку на ":" (или на любой символ)



f) после каждой кнопки создаём пустую кнопку с командой -2



Получим вот такой вид меню:



Плюсы, минусы такие же, как и в выпадающем меню. Этот способ удобен для тех кнопок, при которых подсказка не особо требуется...


 
Andrey_AДата: Воскресенье, 04.08.2013, 22:57 | Сообщение № 3
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7181
Награды: 141
Репутация: 125
Аверин Андрей
4. В главном меню. В подменю

В файле UserCmd.ini создаются 6 пользовательских команд

Код

[em_Panel_Multimedia]
cmd=OPENBAR %COMMANDER_PATH%\Multimedia.bar

[em_Panel_Grafica]
cmd=OPENBAR %COMMANDER_PATH%\Grafica.bar

[em_Panel_Text]
cmd=OPENBAR %COMMANDER_PATH%\Text.bar

[em_Panel_Sistems]
cmd=OPENBAR %COMMANDER_PATH%\Sistems.bar

[em_Panel_Internet]
cmd=OPENBAR %COMMANDER_PATH%\Internet.bar

[em_Panel_DEFAULT]
cmd=OPENBAR %COMMANDER_PATH%\DEFAULT.bar


В главном меню Wcmd_Rus.mnu создаёте пункты в подменю:

Код

POPUP "Панели"
       MENUITEM "Основная Панель Инструментов", em_Panel_DEFAULT
            MENUITEM SEPARATOR
       MENUITEM "Мультимедиа + Аудио + Видео", em_Panel_Multimedia
       MENUITEM "Графика + Фото + Редакторы", em_Panel_Grafica
       MENUITEM "Текст + Редакторы + Утилиты", em_Panel_Text
            MENUITEM SEPARATOR
       MENUITEM "Система + Внешние + Программы", em_Panel_Sistems
       MENUITEM "Интернет + Почта + Сеть + Закачка", em_Panel_Internet
END_POPUP


Оно может выглядеть так:



[ps]Плюсы: Экономится место на панели инструментов
Минусы: Два клика при вызове панелей. Не подходит тем, кто не привык работать через меню[/ps]

5. В главном меню. В первом уровне

Так же прописывается UserCmd.ini 6 команд, а в меню Wcmd_Rus.mnu в конце (или где удобно в корне меню) прописывается:

Код

MENUITEM "1", em_Panel_DEFAULT
MENUITEM "2", em_Panel_Multimedia
MENUITEM "3", em_Panel_Grafica
MENUITEM "4", em_Panel_Text
MENUITEM "5", em_Panel_Sistems
MENUITEM "6", em_Panel_Internet


Это может быть выглядеть так


или так



При нажатии на цифры 1, 2, 3, 4, 5, 6 будет включаться соответствующая панель.

.


 
Andrey_AДата: Воскресенье, 04.08.2013, 23:17 | Сообщение № 4
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7181
Награды: 141
Репутация: 125
Аверин Андрей
6. Панель в заголовке Total Commander

С помощью утилиты BARIMG вы можете вызывать и отображать настроенную панель инструментов с переключениями панелей:

Создаём %COMMANDER_PATH%\SwitchPanels.bar с содержимым

Код
[Buttonbar]
Buttoncount=7
button1=Wcmicons.dll,1063
cmd1=%COMMANDER_PATH%\DEFAULT.BAR
iconic1=0
menu1=• Основная •
button2=
iconic2=0
button3=Wcmicons.dll,1058
cmd3=%COMMANDER_PATH%\Multimedia.bar
iconic3=0
menu3=• Мультимедиа • Аудио •  Видео •
button4=Wcmicons.dll,1057
cmd4=%COMMANDER_PATH%\Grafica.bar
iconic4=0
menu4=• Графика • Фото •  Редакторы •
button5=Wcmicons.dll,1072
cmd5=%COMMANDER_PATH%\Text.bar
iconic5=0
menu5=• Текст • Редакторы • Утилиты •
button6=Wcmicons.dll,2185
cmd6=%COMMANDER_PATH%\Sistems.bar
iconic6=0
menu6=• Система • Внешние • Программы •
button7=Wcmicons.dll,1064
cmd7=%COMMANDER_PATH%\Internet.bar
iconic7=0
menu7=• Интернет •  Почта •  Закачка •


Вызываем с кнопки

Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\BARIMG.exe
%Z%%COMMANDER_PATH%%\SwitchPanels.bar||x300||b
%COMMANDER_PATH%\BARIMG.exe
BARIMG

-1


Может выглядеть так:

[img640]http://tc-image.3dn.ru/Image/tc/tc_mn10.png[/img640]

Запуск вместе с Total Commander
пропишите в autorun.cfg (конфигурационном файле плагина autorun.wdx)

Код
shellexec "%COMMANDER_PATH%\BARIMG.exe" "%TC%\SwitchPanels.bar||x300||b"


 
Andrey_AДата: Воскресенье, 04.08.2013, 23:54 | Сообщение № 5
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7181
Награды: 141
Репутация: 125
Аверин Андрей
7. Кнопочный. С помощью одной кнопки переключение нескольких панелей

В утилите TCIMG 2.8. beta 17 от 04.08.2013 есть возможность вызывать несколько панелей с помощью команды barsw



Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
barsw=%%COMMANDER_PATH%%\DEFAULT.BAR||%%COMMANDER_PATH%%\Multimedia.bar||%%COMMANDER_PATH%%\Grafica.bar||%%COMMANDER_PATH%%\Text.bar||%%COMM ANDER_PATH%%\Sistems.bar||%%COMMANDER_PATH%%\Internet.bar||SwitchBar1
Wcmicons.dll,1071
Выбор панели инструментов

1
-1



8. Кнопочный. С помощью одной кнопки переключение нескольких панелей, в зависимости от зажатой клавиши

С помощью той же команды barsw
За путём панели после разделителя !! прописывается значение нажатой клавиши, при которой будет вызвана именно эта панель.



Код
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\TCIMG.exe
barsw=%%COMMANDER_PATH%%\DEFAULT.BAR!!12||%%COMMANDER_PATH%%\Multimedia.bar!!A0||%%COMMANDER_PATH%%\Grafica.bar!!A1||%%COMMANDER_PATH%%\Text .bar!!A2||%%COMMANDER_PATH%%\Sistems.bar!!A3||%%COMMANDER_PATH%%\Internet.bar||SwitchBar2

Wcmicons.dll,1071
Выбор панели инструментов, в зависимости от зажатых клавиш

1
-1


при зажатой клавише ALT (12) вызывается панель DEFAULT.BAR
при зажатой левой клавише SHIFT (A0) вызывается панель Multimedia.bar
при зажатой правой клавише SHIFT (A1) вызывается панель Grafica.bar
при зажатой левой клавише CTRL (A2) вызывается панель Text.bar
при зажатой правой клавише CTRL (A3) вызывается панель Sistems.bar
если заданные клавиши не зажаты, переключение происходит по кругу

Можно использовать для зажатия другие клавиши отличные от SHIFT, ALT, CTRL

[ps]Плюсы: Экономия места на панели инструментов
Минусы: Ограничение при назначении зажатых клавиш[/ps]

.


 
Andrey_AДата: Понедельник, 05.08.2013, 00:19 | Сообщение № 6
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7181
Награды: 141
Репутация: 125
Аверин Андрей
9. Горячие клавиши. Привязать команды, связанные с переключением панелей, к горячим клавишам

В файле UserCmd.ini создаются пользовательские команды

Код

[em_Panel_Multimedia]
cmd=OPENBAR %COMMANDER_PATH%\Multimedia.bar

[em_Panel_Grafica]
cmd=OPENBAR %COMMANDER_PATH%\Grafica.bar

[em_Panel_Text]
cmd=OPENBAR %COMMANDER_PATH%\Text.bar

[em_Panel_Sistems]
cmd=OPENBAR %COMMANDER_PATH%\Sistems.bar

[em_Panel_Internet]
cmd=OPENBAR %COMMANDER_PATH%\Internet.bar

[em_Panel_DEFAULT]
cmd=OPENBAR %COMMANDER_PATH%\DEFAULT.bar


в Wincmd.ini в секции [Shortcuts] прописываются ключи

Код

A+0=em_Panel_DEFAULT
A+1=em_Panel_Multimedia
A+2=em_Panel_Grafica
A+3=em_Panel_Text
A+4=em_Panel_Sistems
A+5=em_Panel_Internet


теперь панели можно переключать с помощью ALT + 0, ALT + 1, ALT + 2, ALT + 3, ALT + 4, ALT + 5

Есть ещё утилиты, с помощью которых можно переключать панели, возможно появятся ещё варианты. Наиболее интересные будут добавлены позже...

.


 
admin2985Дата: Воскресенье, 31.07.2016, 17:03 | Сообщение № 7
Рядовой

На сайте с: 06.07.2016
Город: Липецк
Сообщений: 4
Награды: 0
Репутация: 0
решил сам для своих нужд собрать Total Commander тут у вас больше половина программ которые я не знаю и врят ли они мне когда то потребуются.мне больше seo программы нужны.вот проблема установил плагин webdav как его вызвать что б им воспользоваться? можно как то на программе сделать что б когда по ftp передаешь файлы было видно какие не передал файлы,на фезиле например видно не у давшие,успешные передали.как на тотал так же сделать?
 
Andrey_AДата: Понедельник, 01.08.2016, 12:02 | Сообщение № 8
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7181
Награды: 141
Репутация: 125
Аверин Андрей
Этот вопрос немножко не по теме...

Вы можите создать тему в http://tc-image.3dn.ru/forum/31

Цитата admin2985 ()
у вас больше половина программ которые я не знаю и врят ли они мне когда то потребуются


В 80% идёт речь не про кучу программ, а об автоматизации действий - об утилите TCIMG


 
bra2xaДата: Четверг, 23.01.2020, 03:15 | Сообщение № 9
Полковник

На сайте с: 01.01.2017
Город: Киев
Сообщений: 178
Награды: 6
Репутация: 8
Здравствуйте, Андрей.
Появилось несколько совсем не срочных вопросов по сабжу. Буду признателен за помощь и советы.

1. Ключи для команды barsw каждый уникален SwitchingBarN и содержит уникальный список баров. В конце списка нужно прописывать KeySwitch
Почему бы команде самой не прописывать соответствующий KeySwitchN, чтобы исключить человеческие ошибки соответствия SwitchingBarN к KeySwitchN ?

2. Допустим на вашей вертикальной панели кнопка с командой barsw, круговой список из бар-панелей. Вам для очередной задачи нужна вторая из списка панель. После запуска TC и использования комады barsw устанавливается нужная вторая панель и плюсуется счётчик в KeySwitchN. Закрываете TC. Затем вы открываете TC и снова используете кнопку с командой barsw. Но согласно счётчика вы уже не откроете сразу вторую бар-панель - придётся сперва промотать круг ( а если в списке 10-20 бар-панелей!:( ).
Нельзя ли переделать работу команд. Обнулять KeySwitchN при запуске TC или перед применением команды barsw. Как вариант, - не прописывать его, а автоматически создавать на время только при запуске команды barsw в данной сессии TC.

3. Баг: Если вы отредактировали, удалили из списка SwitchingBarN несколько бар-меню, а в ключе KeySwitchN после предыдущего применения осталось число превышающее количество баров - выдаёт ошибку. Наверное стОит найти решение автоматом сбрасывать счётчик, если число меньше или больше установленного количества баров. Собственно, корректное решение по второму вопросу, по идее, снимет и эту проблему.

4. Можно добавить пару ключей ? Например, для установки панели по умолчанию 0, и -1 для переключения панелей в обратном порядке.

5. Нельзя ли списки SwitchingBarN прописывать построчно,

или такие многострочные команды или параметры в принципе не реализованы в TCIMG ?
Хотелось бы иметь возможность вывести параметры в отдельный файл с простым и наглядным учётом и редактированием таких списков.

С уважением BR


Сообщение отредактировал bra2xa - Четверг, 23.01.2020, 17:53
 
Andrey_AДата: Четверг, 23.01.2020, 23:20 | Сообщение № 10
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7181
Награды: 141
Репутация: 125
Аверин Андрей
Цитата bra2xa ()
Почему бы команде самой не прописывать соответствующий KeySwitchN


Команда создана для тех кто чётко понимает что делает, строку можно прописывать как в команде, так и в ключе и ошибки в конечных ключах могут быть только по вине пользователя, который прописал одинаковые...

Цитата bra2xa ()
После запуска TC и использования комады barsw устанавливается нужная вторая панель и плюсуется счётчик


Очищайте секции командой clear

Цитата bra2xa ()
число превышающее количество баров - выдаёт ошибку


Это можно поправить... но опять же при добавлении/удалении баров пользователем, он понимает, что идёт его собственное тестирование, в котором все возможно, перезапустив с clear все встанет на места

Цитата bra2xa ()
Нельзя ли списки SwitchingBarN прописывать построчно


Команда настолько древняя, что в ней нет передачи глобальных переменных, добавил:

Тестовая версия TCIMG 271_b6, в версии TCIMG 27.0 замените соответствующие файл(ы)

В файлах tcg можете создать секцию (можно с квадратными или с круглыми скобками) с построчной командой, считать, убрать переносы и направить в команду, пример:

в tcg добавляем:
Код
{MySwithBar}
%COMMANDER_PATH%\Bar\000_Osnovnaja.bar!!12
||
%COMMANDER_PATH%\Bar\002_Multimedia.bar!!A0
||
%COMMANDER_PATH%\Bar\005_Record_Disks.bar!!A1
||
%COMMANDER_PATH%\Bar\007_Creation_Video_TV.bar!!A2
||
%COMMANDER_PATH%\Bar\012_Text.bar!!A3
||
SwitchBar200
{---}


считываем:

Код
sends=TCGINFO<{MySwithBar}>||@CRLF!! GLOBALSENDS<a>


передаём в команду:

Код
sends=TCGINFO<{MySwithBar}>||@CRLF!! barsw=GLOBALSENDS<1>


=================
Что касается любых автоматизацией связанных с панелями инструментами, то в тотале нет функции получения пути текущей панели напрямую, приходится запускать окно панели на редактирование, затем считывать путь, потом закрывать, это не даёт следить и манипулировать панелями как надо, поэтому многие вещи впустую...

Необходимо на офф сайте автора программы Гислера
1. создать тему и написать об этом, если есть большое желание точной автоматизации
а именно как получить путь текущей панели инструментов через WM_USER+50 ... (у меня на это совсем нет времени, если будет такая тема, то я поддержу)
2. чтобы в этой теме написало ещё кучу народу, что это действительно надо
-----------
Когда-то точную информацию нельзя было получить из файловых панелей и в других местах, было добавлено:



.


 
TrenobolДата: Понедельник, 04.05.2020, 13:44 | Сообщение № 11
Майор

На сайте с: 02.02.2020
Город: Los Angeles
Сообщений: 96
Награды: 0
Репутация: 0
Можете подсказать как выбрать размеры в раскрывающихся bar ?
http://joxi.ru/MAj03vwHx9Zn7m

Во всех сборках там мелкие значки, у меня какие то огромные)
 
zybrevlДата: Понедельник, 04.05.2020, 14:09 | Сообщение № 12
Генерал-майор

На сайте с: 10.11.2018
Сообщений: 315
Награды: 14
Репутация: 10
Trenobol,
Если это выпадающее меню,
то добавить или изменить PopupIconSize=(16, 20, 24, и.т.д.)
в Wincmd.ini:
[Buttonbar]
PopupIconSize=32
PopupOverlay=1
 
TrenobolДата: Понедельник, 04.05.2020, 14:20 | Сообщение № 13
Майор

На сайте с: 02.02.2020
Город: Los Angeles
Сообщений: 96
Награды: 0
Репутация: 0
Цитата zybrevl ()
Если это выпадающее меню,
то добавить или изменить PopupIconSize=(16, 20, 24, и.т.д.)
в Wincmd.ini:
[Buttonbar]
PopupIconSize=32
PopupOverlay=1

Добавил эту строку - помогло, даже не догадался бы никогда, всё облазил)
Спасибо!
 
  • Страница 1 из 1
  • 1
Поиск:

Интеллектуальные права и отказ от ответственности