Обсуждение темы "Обмен кнопками"
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Как присвоить сочетание клавиш иконке на панели инструментов
Доброго времени присутствующим.
Интересует, можно ли присвоить сочетание клавиш иконке, созданной на панели инструментов TC?
К примеру, есть кнопка на панели, выполняющая сжатие 7Z с максимальной степенью сжатия:
Команда:
%COMMANDER_PATH%\Plugins\arc\7z\7zG.exe a -t7z –ssw
Параметры:
-mx9 -r %T%N.7z %P%S
Путь запуска:
%COMMANDER_PATH%\Plugins\arc\7Z\
Файл значка:
%COMMANDER_PATH%\Plugins\arc\7Z\7zG.exe
Можно ли присвоить этой кнопке сочетание клавиш?
Если нельзя с кнопкой, как иначе привязать сжатие этим архиватором к сочетанию клавиш?
Спасибо.
Интересует, можно ли присвоить сочетание клавиш иконке, созданной на панели инструментов TC?
К примеру, есть кнопка на панели, выполняющая сжатие 7Z с максимальной степенью сжатия:
Команда:
%COMMANDER_PATH%\Plugins\arc\7z\7zG.exe a -t7z –ssw
Параметры:
-mx9 -r %T%N.7z %P%S
Путь запуска:
%COMMANDER_PATH%\Plugins\arc\7Z\
Файл значка:
%COMMANDER_PATH%\Plugins\arc\7Z\7zG.exe
Можно ли присвоить этой кнопке сочетание клавиш?
Если нельзя с кнопкой, как иначе привязать сжатие этим архиватором к сочетанию клавиш?
Спасибо.
HankHank
На панели инструментов создаются не иконки, а кнопки, причём никаких назначений клавиш кнопке, естественно, нет и быть не может.
Любое назначение клавиш в таких случаях делается по стандартному шаблону в два шага:
1. Создаётся пользовательская команда (с префиксом em_) в диалоге, очень похожем на диалог создания кнопки.
2. Этой команде назначается клавиатурный вызов.
Всё. Обсуждать тут, собственно, больше нечего, а к текущей теме вопрос практически не имеет отношения.
На панели инструментов создаются не иконки, а кнопки, причём никаких назначений клавиш кнопке, естественно, нет и быть не может.
Любое назначение клавиш в таких случаях делается по стандартному шаблону в два шага:
1. Создаётся пользовательская команда (с префиксом em_) в диалоге, очень похожем на диалог создания кнопки.
2. Этой команде назначается клавиатурный вызов.
Всё. Обсуждать тут, собственно, больше нечего, а к текущей теме вопрос практически не имеет отношения.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Scorpkoms
Замечание за нарушение правил форума с переносом сообщения куда следует из "Обмена кнопками", где подобные вопросы в принципе задаваться не должны, о чём говорилось уже многократно.
Замечание за нарушение правил форума с переносом сообщения куда следует из "Обмена кнопками", где подобные вопросы в принципе задаваться не должны, о чём говорилось уже многократно.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
-
ДругТогоСамого
- Сообщения: 2
- Зарегистрирован: Пн апр 03, 2023 15:48
Перемещение файлов каталога в родительский
Просидел уже 8 часов на форуме. Много полезного. Спасибо всем!
Что нужно: Скрипт или кнопка, при нажатии на которую перемещаются все файлы каталога в родительский. (И, в идеале, открывается окно родительской папки, та что уровнем выше и удаляется дочерняя пустая папка).
Поиском пользовался. Нашло 76 результатов. Пролистал 55 страниц. Потратил 8 часов. Проще спросить. )
Спасибо.
Что нужно: Скрипт или кнопка, при нажатии на которую перемещаются все файлы каталога в родительский. (И, в идеале, открывается окно родительской папки, та что уровнем выше и удаляется дочерняя пустая папка).
Поиском пользовался. Нашло 76 результатов. Пролистал 55 страниц. Потратил 8 часов. Проще спросить. )
Спасибо.
- Monarch-LFV
- Сообщения: 360
- Зарегистрирован: Пн июл 22, 2019 13:20
ДругТогоСамого
Утилита TCIMG с кодом кнопки:
Путь до утилиты впишите ваш.
Утилита TCIMG с кодом кнопки:
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\exe\TCIMG\TCIMG.exe
moves=%WL||:://0//(.+\\).+\\.+\\?//$1 tcimg=$cm2002 <IF> <info=d1"%p"//> = 0 <THEN> delsm="%p"||1||upd<1> <ENDIF>
%COMMANDER_PATH%\Plugins\exe\TCIMG\TCIMG.dll,66
Переместить выделенные объекты на уровень вверх и удалить родительскую папку, если она пустая (и так же если все подкаталоги пустые)-
ДругТогоСамого
- Сообщения: 2
- Зарегистрирован: Пн апр 03, 2023 15:48
ДругТогоСамого
Без утилит.
Без утилит.
Orion9
Кнопку попробовал, работает.
Может, пример команды не самый показательный: если команде cm_SwitchColorsByFileType (2957) назначить в кнопке значок, то TC будет сам отображать его по-разному, в зависимости от состояния ключа ColorFilters.
Кнопку попробовал, работает.
Может, пример команды не самый показательный: если команде cm_SwitchColorsByFileType (2957) назначить в кнопке значок, то TC будет сам отображать его по-разному, в зависимости от состояния ключа ColorFilters.
sa
Вы правы. Пример не совсем удачный, т.к. он не раскрывает весь потенциал связки Autorun+TCFS2 для переключения иконок на кнопках панели инструментов, а ведь он огромен!
Например, можно использовать не только внутренние команды, но и пользовательские команды + скрипты со сложыми алгоритмами и действиями, которые будут записывать результат своей работы в ini-файл, а затем передавать его в Autorun. Ну а там уже можно раскрыть case по полной
Небольшой демо-эксперимент:
Четыре кнопки выпадающего меню из файла панели включают подсветку нужных файлов, меняя шаблон ColorFilter2, который располагается сразу за шаблоном Autorun (ColorFilter1=>Autorun) в секции цветов [Colors]. При этом иконка самого выпадающего меню переключается соответствующим образом через переменную %HIGHLIGHT_ICON%
autorun.cfg
test0001.bar
TCFS2.ini
[Searches]
Шаблон ">0" не существует, поэтому при его выборе подсветка отключается. Пример, конечно, сыроват, но как демо подойдет 
Вы правы. Пример не совсем удачный, т.к. он не раскрывает весь потенциал связки Autorun+TCFS2 для переключения иконок на кнопках панели инструментов, а ведь он огромен!
Например, можно использовать не только внутренние команды, но и пользовательские команды + скрипты со сложыми алгоритмами и действиями, которые будут записывать результат своей работы в ini-файл, а затем передавать его в Autorun. Ну а там уже можно раскрыть case по полной
Небольшой демо-эксперимент:
Четыре кнопки выпадающего меню из файла панели включают подсветку нужных файлов, меняя шаблон ColorFilter2, который располагается сразу за шаблоном Autorun (ColorFilter1=>Autorun) в секции цветов [Colors]. При этом иконка самого выпадающего меню переключается соответствующим образом через переменную %HIGHLIGHT_ICON%
autorun.cfg
Код: Выделить всё
SetMessageAction "HighlightMessage" SetColorFilter
Func SetColorFilter()
IniRead /R sFilter %COMMANDER_INI% "Colors" "ColorFilter2" ">0"
Switch sFilter
Case ">0"
SetEnv HIGHLIGHT_ICON "%COMMANDER_PATH%\Icons\Clsw\1.ico"
Case ">Аудиодорожек > 1"
SetEnv HIGHLIGHT_ICON "%COMMANDER_PATH%\Icons\Clsw\3.ico"
Case ">2"
SetEnv HIGHLIGHT_ICON "%COMMANDER_PATH%\Icons\Clsw\5.ico"
Case ">Siblings"
SetEnv HIGHLIGHT_ICON "%COMMANDER_PATH%\Icons\Clsw\4.ico"
EndSwitch
SendCommand 2945
EndFuncКод: Выделить всё
TOTALCMD#BAR#DATA
%Commander_Path%\Bars\test0001.bar
%HIGHLIGHT_ICON%
1
-1
Код: Выделить всё
[Buttonbar]
Buttoncount=4
button1=%COMMANDER_PATH%\Icons\Clsw\1.ico
cmd1=%COMMANDER_PATH%\Utilites\TCFS2\TCFS2.exe
param1=/ei hlt0
menu1=Выключить подсветку
button2=%COMMANDER_PATH%\Icons\Clsw\3.ico
cmd2=%COMMANDER_PATH%\Utilites\TCFS2\TCFS2.exe
param2=/ei hlt1
path2=
iconic2
menu2=Аудиодорожек > 1
button3=%COMMANDER_PATH%\Icons\Clsw\5.ico
cmd3=%COMMANDER_PATH%\Utilites\TCFS2\TCFS2.exe
param3=/ei hlt2
path3=
iconic3=
menu3=Кодек HEVC
button4=%COMMANDER_PATH%\Icons\Clsw\4.ico
cmd4=%COMMANDER_PATH%\Utilites\TCFS2\TCFS2.exe
param4=/ei hlt_sib
path4=
iconic4=
menu4=Сиблинги
Код: Выделить всё
hlt0=set_tcini(Colors, ColorFilter2, `>0`) tcm(2957, 1) tcm(2957, 1) msg(regmsg(HighlightMessage), 0, 0)
hlt1=set_tcini(Colors, ColorFilter2, `>Аудиодорожек > 1`) tcm(2957, 1) tcm(2957, 1) msg(regmsg(HighlightMessage), 0, 0)
hlt2=set_tcini(Colors, ColorFilter2, `>2`) tcm(2957, 1) tcm(2957, 1) msg(regmsg(HighlightMessage), 0, 0)
hlt_sib=set_tcini(Colors, ColorFilter2, `>Siblings`) tcm(2957, 1) tcm(2957, 1) msg(regmsg(HighlightMessage), 0, 0)
Код: Выделить всё
Аудиодорожек > 1_SearchFor=
Аудиодорожек > 1_SearchIn=
Аудиодорожек > 1_SearchText=
Аудиодорожек > 1_SearchFlags=0|002002000020||||||||22220|0000|||
Аудиодорожек > 1_plugin="tcmediainfo.Stream Count.Audio only" > 1
2_SearchFor=
2_SearchIn=
2_SearchText=
2_SearchFlags=0|002002000020|||||||||0000|||
2_plugin="tcmediainfo.Video Format" contains evc
Siblings_SearchFor=
Siblings_SearchIn=
Siblings_SearchText=
Siblings_SearchFlags=0|002002000020|||||||||0000|||
Siblings_plugin=file.Sibling != ""Orion9
Файлы значков (в autorun.cfg) WCMICONS.dll и WCMICON2.DLL.
Можно номер иконки из библиотеки задать непосредственно в кнопке, но альтернативные иконки (из разных библиотек) должны в этом случае иметь один и тот же номер (в примере это 79):иконки должны быть в виде отдельных файлов
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(2957) msg(regmsg(ColorMessage)) tcm(2945)"
%COLOR_ICON%,79
Цвета для типов файлов: вкл/выкл
-1sa
Прикольно.
Так ведь можно и все значки одним махом поменять! Т.е. использовать разные группы значков для разных режимов, например, для более подходящего отображения в DarkMode. Что-то вроде:
Прикольно.
Так ведь можно и все значки одним махом поменять! Т.е. использовать разные группы значков для разных режимов, например, для более подходящего отображения в DarkMode. Что-то вроде:
Код: Выделить всё
Func SwitchDarkMode()
SendCommand 2950
IniRead dMode %COMMANDER_INI% "Configuration" "DarkMode" 0
If dMode = 0 Then
SetEnv BAR_ICONS "%COMMANDER_PATH%\LIGHT.DLL"
Else
SetEnv BAR_ICONS "%COMMANDER_PATH%\DARK.DLL"
EndIf
SendCommand 2945
EndFunc
- а можно сделать то же самое, но чтобы монтировалось Alcohol Portable? Он безплатный.Кнопка для монтирования образа в виртуальный диск PowerISO
Добавлено спустя 33 минуты:
Orion9
- спасибо. У меня выскакивает ошибка в строке кода 308:
timestamp := FileGetTime(main_bar)
- не удаётся найти указанный файл. И потом 350:
Local inibar := IniRead(main_bar, "Buttonbar")
Я переименовал бар по умолчанию в main_bar.bar и в main_bar.br2 но ничего не изменилось. Перемещал их в папку Bars - нашёл где-то в скрипте такой путь, создал папку, но безрезультатно. Подскажите, пожалуйста, как исправить.
И, кстати, хорошо бы добавить кнопку возвращения назад, на основной бар.
Kspeh
Я посмотрю.
А у вас главная панель где располагается? Попробуйте переименовать (или скопировать) ее просто в "Main.bar" и положить в папку Bars. Но в Wincmd.ini в секции [Buttonbar], в таком случае, должен быть ключ указывающий путь к панели по умолчанию (главной панели) Buttonbar=%Commander_Path%\Bars\Main.bar
Я посмотрю.
А у вас главная панель где располагается? Попробуйте переименовать (или скопировать) ее просто в "Main.bar" и положить в папку Bars. Но в Wincmd.ini в секции [Buttonbar], в таком случае, должен быть ключ указывающий путь к панели по умолчанию (главной панели) Buttonbar=%Commander_Path%\Bars\Main.bar