При увеличении кнопок на панели инструментов, каждый сталкивался с проблемой создания новой(ых) панелей, их переключения... Попробую осветить ряд способов, помогающих упростить эти действия.
- Панель инструментов - это файл с расширением 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]
[helpquote]"barsw=PathPanel1||PathPanel2||PathPanel3||...||PathPanelN||KeySwitch" "barsw=PathPanel1!!NHotKey1||PathPanel2!!NHotKey2||PathPanel3!!NHotKey3||...||PathPanelN!!NHotKeyN||KeySwitch" "barsw=BAR1" [Переключение панелей инструментов Total Commander] - PathPanel1, ... , PathPanelN - пути панелей инструментов, прописанных через || - NHotKey1, ... , NHotKeyN - значения горячих клавиш, при зажатии которой будет вызываться та или иная панель инструментов. Прописывается после необходимого PathPanelN через разделитель !! полный список значений смотрите в Дополнениях. - KeySwitch - имя ключа, прописывается самым последним (необходим для обработки по кругу). В разных barsw командах, ключи не должны повторяться Так же можно использовать использовать сокращение BAR1 ... BARN, прописав панели инструментов с тем же синтаксисом в TCIMG.ini в секции [Setting] в соответствующих ключах SwitchingBar1 ... SwitchingBarN[/helpquote]
Код
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 За путём панели после разделителя !! прописывается значение нажатой клавиши, при которой будет вызвана именно эта панель.
Код
01 - Левая кнопка мыши 02 - Правая кнопка мыши 04 - Средняя кнопка мыши (три кнопки мыши) 05 - Windows 2000/XP: X1 кнопка мыши 06 - Windows 2000/XP: X2 кнопка мыши 08 - Backspace 09 - Tab 0C - CLEAR 0D - Enter 10 - Shift 11 - Ctrl 12 - Alt 13 - Pause 14 - CAPS LOCK 1B - Esc 20 - Spacebar, Пробел 21 - Page Up 22 - Page Down 23 - End 24 - Home 25 - Стрелка влево 26 - Стрелка вверх 27 - Стрелка вправо 28 - Стрелка вниз 29 - SELECT 2A - PRINT 2B - EXECUTE 2C - Print Screen 2D - Ins, Insert 2E - Del, Delete 30 - 0 31 - 1 32 - 2 33 - 3 34 - 4 35 - 5 36 - 6 37 - 7 38 - 8 39 - 9 41 - A 42 - B 43 - C 44 - D 45 - E 46 - F 47 - G 48 - H 49 - I 4A - J 4B - K 4C - L 4D - M 4E - N 4F - O 50 - P 51 - Q 52 - R 53 - S 54 - T 55 - U 56 - V 57 - W 58 - X 59 - Y 5A - Z 5B - Левый Windows 5C - Правый Windows 60 - Цифровая клавиатура 0 61 - Цифровая клавиатура 1 62 - Цифровая клавиатура 2 63 - Цифровая клавиатура 3 64 - Цифровая клавиатура 4 65 - Цифровая клавиатура 5 66 - Цифровая клавиатура 6 67 - Цифровая клавиатура 7 68 - Цифровая клавиатура 8 69 - Цифровая клавиатура 9 6A - Умножить * 6B - Прибавить + 6C - Separator 6D - Вычесть - 6E - Десятичный знак , 6F - Разделить / 70 - F1 71 - F2 72 - F3 73 - F4 74 - F5 75 - F6 76 - F7 77 - F8 78 - F9 79 - F10 7A - F11 7B - F12 7C-7F - F13 - F16 80H-87H - F17 - F24 90 - Num Lock 91 - Scroll Lock A0 - Левый SHIFT A1 - Правый SHIFT A2 - Левый CONTROL A3 - Правый CONTROL A4 - Левый MENU A5 - Правый MENU BA - ; BB - = BC - , BD - - BE - . BF - / C0 - ` DB - [ DC - \ DD - ]
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]
решил сам для своих нужд собрать Total Commander тут у вас больше половина программ которые я не знаю и врят ли они мне когда то потребуются.мне больше seo программы нужны.вот проблема установил плагин webdav как его вызвать что б им воспользоваться? можно как то на программе сделать что б когда по ftp передаешь файлы было видно какие не передал файлы,на фезиле например видно не у давшие,успешные передали.как на тотал так же сделать?
Здравствуйте, Андрей. Появилось несколько совсем не срочных вопросов по сабжу. Буду признателен за помощь и советы.
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 прописывать построчно,
; A, C, S, 1, ... - соответственно клавиши клавы и мыши
или такие многострочные команды или параметры в принципе не реализованы в TCIMG ? Хотелось бы иметь возможность вывести параметры в отдельный файл с простым и наглядным учётом и редактированием таких списков.
С уважением BR
Сообщение отредактировал bra2xa - Четверг, 23.01.2020, 17:53
Почему бы команде самой не прописывать соответствующий KeySwitchN
Команда создана для тех кто чётко понимает что делает, строку можно прописывать как в команде, так и в ключе и ошибки в конечных ключах могут быть только по вине пользователя, который прописал одинаковые...
Цитатаbra2xa ()
После запуска TC и использования комады barsw устанавливается нужная вторая панель и плюсуется счётчик
число превышающее количество баров - выдаёт ошибку
Это можно поправить... но опять же при добавлении/удалении баров пользователем, он понимает, что идёт его собственное тестирование, в котором все возможно, перезапустив с clear все встанет на места
Цитатаbra2xa ()
Нельзя ли списки SwitchingBarN прописывать построчно
Команда настолько древняя, что в ней нет передачи глобальных переменных, добавил:
В файлах tcg можете создать секцию (можно с квадратными или с круглыми скобками) с построчной командой, считать, убрать переносы и направить в команду, пример:
================= Что касается любых автоматизацией связанных с панелями инструментами, то в тотале нет функции получения пути текущей панели напрямую, приходится запускать окно панели на редактирование, затем считывать путь, потом закрывать, это не даёт следить и манипулировать панелями как надо, поэтому многие вещи впустую...
Необходимо на офф сайте автора программы Гислера 1. создать тему и написать об этом, если есть большое желание точной автоматизации а именно как получить путь текущей панели инструментов через WM_USER+50 ... (у меня на это совсем нет времени, если будет такая тема, то я поддержу) 2. чтобы в этой теме написало ещё кучу народу, что это действительно надо ----------- Когда-то точную информацию нельзя было получить из файловых панелей и в других местах, было добавлено:
08.06.16 Release Total Commander 9.0 beta 1 (32/64) 08.06.16 Added: Send WM_USER+50 with wparam set to 1011/1012 to get index of first file in list (-1 if there are no files) (32/64) 08.06.16 Added: Send WM_USER+50 with wparam set to 1009/1010 to get index of first item (0 if there is no updir, 1 otherwise) (32/64) 08.06.16 Added: Send WM_USER+50 with wparam set to 1007/1008 to get index of current item (caret) (32/64) 08.06.16 Added: Send WM_USER+50 with wparam set to 1005/1006 to get total number of selected items (32/64) 08.06.16 Added: Send WM_USER+50 with wparam set to 1003/1004 to get total number of items (including those hidden by quick filter (32/64) 08.06.16 Added: Send WM_USER+50 with wparam set to 1001/1002 to get number of items in left/right list (32/64) 08.06.16 Added: Send WM_USER+50 with wparam set to 1000 to get active panel: 1=left, 2=right (32/64) 08.06.16 Added: Ctrl+Q: Only enable viewing of readme files in archives which have default extensions (e.g. .zip): wincmd.ini [Configuration] QuickViewUnzipReadMe=-1 (32/64) 08.06.16 Added: Compatibility with TWinkey plugin: Turn off tab icons in Configuration - Options - Folder tabs if you want to use the tab coloring from TWinkey (32/64) 08.06.16 Added: Send WM_USER+50 with wparam=1..29 -> returns window handle of control. Controls are: 1=leftlist, 2=rightlist, 3=active list, 4=inactive list, 5=leftheader, 6=rightheader, 7=leftsize, 8=rightsize, 9=leftpath, 10=rightpath, 11=leftinfo, 12=rightinfo, 13=leftdrives, 14=rightdrives, 15=leftpanel, 16=rightpanel, 17=bottompanel, 18=lefttree, 19=righttree, 20=cmdline, 21=curdirpanel, 22=inplaceedit, 23=splitpanel, 24=leftdrivepanel, 25=rightdrivepanel, 26=lefttabs, 27=righttabs, 28=buttonbar, 29=buttonbarvertical (32/64)
Trenobol, Если это выпадающее меню, то добавить или изменить PopupIconSize=(16, 20, 24, и.т.д.) в Wincmd.ini: [Buttonbar] PopupIconSize=32 PopupOverlay=1