Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Обсуждение темы "Обмен кнопками"
Goto page Previous  1, 2, 3 ... 81, 82, 83, 84  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
HankHank



Joined: 15 Apr 2010
Posts: 39

Post (Separately) Posted: Sun Jan 16, 2022 21:25    Post subject: Как присвоить сочетание клавиш иконке на панели инструментов Reply with quote

Доброго времени присутствующим.

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

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

Спасибо.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10255
Location: Россия, Саратов

Post (Separately) Posted: Sun Jan 16, 2022 21:42    Post subject: Reply with quote

HankHank
На панели инструментов создаются не иконки, а кнопки, причём никаких назначений клавиш кнопке, естественно, нет и быть не может.
Любое назначение клавиш в таких случаях делается по стандартному шаблону в два шага:
1. Создаётся пользовательская команда (с префиксом em_) в диалоге, очень похожем на диалог создания кнопки.
2. Этой команде назначается клавиатурный вызов.
Всё. Обсуждать тут, собственно, больше нечего, а к текущей теме вопрос практически не имеет отношения.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Scorpkoms



Joined: 31 Mar 2008
Posts: 27
Location: Россия

Post (Separately) Posted: Mon Oct 03, 2022 19:48    Post subject: Reply with quote

Доброго времени уважаемые,есть консоль Локальная политика безопасности (secpol.msc)
хотел на кнопку поставить в ТС,но что то только по абсолютному пути запускается,а он уж
больно длинный.Переменные прописывал,не помогло,может я что то пропустил? Спасибо.
Win7_64,TC 9.51.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10255
Location: Россия, Саратов

Post (Separately) Posted: Tue Oct 04, 2022 07:33    Post subject: Reply with quote

Scorpkoms
Замечание за нарушение правил форума с переносом сообщения куда следует из "Обмена кнопками", где подобные вопросы в принципе задаваться не должны, о чём говорилось уже многократно.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
ДругТогоСамого



Joined: 03 Apr 2023
Posts: 2

Post (Separately) Posted: Mon Apr 03, 2023 17:42    Post subject: Перемещение файлов каталога в родительский Reply with quote

Просидел уже 8 часов на форуме. Много полезного. Спасибо всем!

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

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

Спасибо.
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 237

Post (Separately) Posted: Tue Apr 04, 2023 05:24    Post subject: Reply with quote

ДругТогоСамого
Утилита 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
Переместить выделенные объекты на уровень вверх и удалить родительскую папку, если она пустая (и так же если все подкаталоги пустые)

Путь до утилиты впишите ваш.
Back to top
View user's profile Send private message
ДругТогоСамого



Joined: 03 Apr 2023
Posts: 2

Post (Separately) Posted: Tue Apr 04, 2023 11:59    Post subject: Reply with quote

Monarch-LFV wrote:
Monarch-LFV


Спасибо
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2567

Post (Separately) Posted: Thu Apr 27, 2023 14:44    Post subject: Reply with quote

ДругТогоСамого
Без утилит.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2567

Post (Separately) Posted: Sat Feb 24, 2024 15:11    Post subject: Reply with quote

Orion9
Кнопку попробовал, работает.
Может, пример команды не самый показательный: если команде cm_SwitchColorsByFileType (2957) назначить в кнопке значок, то TC будет сам отображать его по-разному, в зависимости от состояния ключа ColorFilters.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 170

Post (Separately) Posted: Sun Feb 25, 2024 00:25    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2567

Post (Separately) Posted: Tue Feb 27, 2024 12:08    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 170

Post (Separately) Posted: Wed Feb 28, 2024 01:11    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Kspeh



Joined: 13 Apr 2024
Posts: 15

Post (Separately) Posted: Sat Apr 13, 2024 11:15    Post subject: Reply with quote

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 - нашёл где-то в скрипте такой путь, создал папку, но безрезультатно. Подскажите, пожалуйста, как исправить.
И, кстати, хорошо бы добавить кнопку возвращения назад, на основной бар.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 170

Post (Separately) Posted: Sat Apr 13, 2024 14:31    Post subject: Reply with quote

Kspeh
Я посмотрю.
А у вас главная панель где располагается? Попробуйте переименовать (или скопировать) ее просто в "Main.bar" и положить в папку Bars. Но в Wincmd.ini в секции [Buttonbar], в таком случае, должен быть ключ указывающий путь к панели по умолчанию (главной панели) Buttonbar=%Commander_Path%\Bars\Main.bar
Back to top
View user's profile Send private message
Kspeh



Joined: 13 Apr 2024
Posts: 15

Post (Separately) Posted: Sat Apr 13, 2024 14:43    Post subject: Reply with quote

Да, теперь работает, спасибо. Правильно, когда оно выглядит как баллоны с "i", 20 штук, если подвести курсор, то всплывает название плагина с датой обновления? Кнопку возврата в майн я сейчас сам у себя сделаю, но так-то неплохо было бы добавить, чтобы она уже была.
Успехов Вам.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 81, 82, 83, 84  Next
Page 82 of 84

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group