Обсуждение темы "Обмен кнопками"
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... , 81, 82, 83  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1216: Как присвоить сочетание клавиш иконке на панели инструментов Author: HankHank PostPosted: Sun Jan 16, 2022 21:25
    —
Доброго времени присутствующим.

Интересует, можно ли присвоить сочетание клавиш иконке, созданной на панели инструментов 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

Можно ли присвоить этой кнопке сочетание клавиш?
Если нельзя с кнопкой, как иначе привязать сжатие этим архиватором к сочетанию клавиш?

Спасибо.

#1217:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Jan 16, 2022 21:42
    —
HankHank
На панели инструментов создаются не иконки, а кнопки, причём никаких назначений клавиш кнопке, естественно, нет и быть не может.
Любое назначение клавиш в таких случаях делается по стандартному шаблону в два шага:
1. Создаётся пользовательская команда (с префиксом em_) в диалоге, очень похожем на диалог создания кнопки.
2. Этой команде назначается клавиатурный вызов.
Всё. Обсуждать тут, собственно, больше нечего, а к текущей теме вопрос практически не имеет отношения.

#1218:  Author: ScorpkomsLocation: Россия PostPosted: Mon Oct 03, 2022 19:48
    —
Доброго времени уважаемые,есть консоль Локальная политика безопасности (secpol.msc)
хотел на кнопку поставить в ТС,но что то только по абсолютному пути запускается,а он уж
больно длинный.Переменные прописывал,не помогло,может я что то пропустил? Спасибо.
Win7_64,TC 9.51.

#1219:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Oct 04, 2022 07:33
    —
Scorpkoms
Замечание за нарушение правил форума с переносом сообщения куда следует из "Обмена кнопками", где подобные вопросы в принципе задаваться не должны, о чём говорилось уже многократно.

#1220: Перемещение файлов каталога в родительский Author: ДругТогоСамого PostPosted: Mon Apr 03, 2023 17:42
    —
Просидел уже 8 часов на форуме. Много полезного. Спасибо всем!

Что нужно: Скрипт или кнопка, при нажатии на которую перемещаются все файлы каталога в родительский. (И, в идеале, открывается окно родительской папки, та что уровнем выше и удаляется дочерняя пустая папка).

Поиском пользовался. Нашло 76 результатов. Пролистал 55 страниц. Потратил 8 часов. Проще спросить. )

Спасибо.

#1221:  Author: Monarch-LFV PostPosted: Tue Apr 04, 2023 05:24
    —
ДругТогоСамого
Утилита TCIMG с кодом кнопки:
Code:
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
Переместить выделенные объекты на уровень вверх и удалить родительскую папку, если она пустая (и так же если все подкаталоги пустые)

Путь до утилиты впишите ваш.

#1222:  Author: ДругТогоСамого PostPosted: Tue Apr 04, 2023 11:59
    —
Monarch-LFV wrote:
Monarch-LFV


Спасибо

#1223:  Author: sa PostPosted: Thu Apr 27, 2023 14:44
    —
ДругТогоСамого
Без утилит.

#1224:  Author: sa PostPosted: Sat Feb 24, 2024 15:11
    —
Orion9
Кнопку попробовал, работает.
Может, пример команды не самый показательный: если команде cm_SwitchColorsByFileType (2957) назначить в кнопке значок, то TC будет сам отображать его по-разному, в зависимости от состояния ключа ColorFilters.

#1225:  Author: Orion9 PostPosted: Sun Feb 25, 2024 00:25
    —
sa
Вы правы. Пример не совсем удачный, т.к. он не раскрывает весь потенциал связки Autorun+TCFS2 для переключения иконок на кнопках панели инструментов, а ведь он огромен!

Например, можно использовать не только внутренние команды, но и пользовательские команды + скрипты со сложыми алгоритмами и действиями, которые будут записывать результат своей работы в ini-файл, а затем передавать его в Autorun. Ну а там уже можно раскрыть case по полной Smile

Небольшой демо-эксперимент:

Четыре кнопки выпадающего меню из файла панели включают подсветку нужных файлов, меняя шаблон ColorFilter2, который располагается сразу за шаблоном Autorun (ColorFilter1=>Autorun) в секции цветов [Colors]. При этом иконка самого выпадающего меню переключается соответствующим образом через переменную %HIGHLIGHT_ICON%

autorun.cfg
Code:
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

Code:
TOTALCMD#BAR#DATA
%Commander_Path%\Bars\test0001.bar

%HIGHLIGHT_ICON%


1
-1

test0001.bar
Code:
[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=Сиблинги

TCFS2.ini
Code:
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)

[Searches]
Code:
Аудиодорожек > 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 != ""

Шаблон ">0" не существует, поэтому при его выборе подсветка отключается. Пример, конечно, сыроват, но как демо подойдет Smile

#1226:  Author: sa PostPosted: Tue Feb 27, 2024 12:08
    —
Orion9
Quote:
иконки должны быть в виде отдельных файлов

Можно номер иконки из библиотеки задать непосредственно в кнопке, но альтернативные иконки (из разных библиотек) должны в этом случае иметь один и тот же номер (в примере это 79):
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(2957) msg(regmsg(ColorMessage)) tcm(2945)"
%COLOR_ICON%,79
Цвета для типов файлов: вкл/выкл


-1

Файлы значков (в autorun.cfg) WCMICONS.dll и WCMICON2.DLL.

#1227:  Author: Orion9 PostPosted: Wed Feb 28, 2024 01:11
    —
sa
Прикольно.

Так ведь можно и все значки одним махом поменять! Т.е. использовать разные группы значков для разных режимов, например, для более подходящего отображения в DarkMode. Что-то вроде:
Code:
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

#1228:  Author: Kspeh PostPosted: Sat Apr 13, 2024 11:15
    —
Quote:
Кнопка для монтирования образа в виртуальный диск PowerISO

- а можно сделать то же самое, но чтобы монтировалось Alcohol Portable? Он безплатный.

Добавлено спустя 33 минуты:

Orion9
- спасибо. У меня выскакивает ошибка в строке кода 308:
timestamp := FileGetTime(main_bar)
- не удаётся найти указанный файл. И потом 350:
Local inibar := IniRead(main_bar, "Buttonbar")
Я переименовал бар по умолчанию в main_bar.bar и в main_bar.br2 но ничего не изменилось. Перемещал их в папку Bars - нашёл где-то в скрипте такой путь, создал папку, но безрезультатно. Подскажите, пожалуйста, как исправить.
И, кстати, хорошо бы добавить кнопку возвращения назад, на основной бар.

#1229:  Author: Orion9 PostPosted: Sat Apr 13, 2024 14:31
    —
Kspeh
Я посмотрю.
А у вас главная панель где располагается? Попробуйте переименовать (или скопировать) ее просто в "Main.bar" и положить в папку Bars. Но в Wincmd.ini в секции [Buttonbar], в таком случае, должен быть ключ указывающий путь к панели по умолчанию (главной панели) Buttonbar=%Commander_Path%\Bars\Main.bar

#1230:  Author: Kspeh PostPosted: Sat Apr 13, 2024 14:43
    —
Да, теперь работает, спасибо. Правильно, когда оно выглядит как баллоны с "i", 20 штук, если подвести курсор, то всплывает название плагина с датой обновления? Кнопку возврата в майн я сейчас сам у себя сделаю, но так-то неплохо было бы добавить, чтобы она уже была.
Успехов Вам.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... , 81, 82, 83  Next  :| |:
Page 82 of 83

Powered by phpBB © 2001, 2005 phpBB Group