Autorun
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 118, 119, 120 ... 133, 134, 135  Next  :| |:
Total Commander -> Плагины Total Commander

#1771:  Author: Loopback PostPosted: Mon Sep 26, 2022 16:47
    —
yozhik wrote:
Назрела хотелка.

Она, похоже, уже раньше когда-то назревала, поскольку есть в моем списке с приоритетом "подумать когда-нибудь" Smile Но пока не чувствую, что время уже пришло...

#1772:  Author: sa PostPosted: Mon Sep 26, 2022 16:59
    —
yozhik wrote:
на функциональные кнопки (клавиши) теперь можно навесить много всего полезного

А можно как-нибудь навесить установку языка (русского или английского), например, после Ctrl+D - для удобства перехода по горячим клавишам в меню избранных каталогов?

#1773:  Author: yozhik PostPosted: Mon Sep 26, 2022 17:26
    —
sa wrote:
навесить установку языка

Речь про установку языка в TC, если я правильно понял. Ну, при поверхностном взгляде мне кажется можно при помощи новых SetHotkeyAction и SetMessageAction в субплагине Tweaks. На некий хоткей повесить перезапись в wincmd.ini значения ключа LanguageIni и отправку TC команды перечитать wincmd.ini. Но это теоретичсссски, надо разбираться, я пока туда не лез. А в моей фразе «функциональные кнопки (клавиши)» ключевое слово всё же «кнопки», а «клавиши» только постольку, поскольку на них отображается F3/F4/F5 и т.д.

#1774:  Author: sa PostPosted: Mon Sep 26, 2022 17:35
    —
yozhik wrote:
Речь про установку языка в TC

Нет, языка в системе. Если установлен русский язык, а символы перехода по пунктам меню на английском, то приходится менять язык.

#1775:  Author: Loopback PostPosted: Mon Sep 26, 2022 19:31
    —
sa wrote:
Нет, языка в системе.


Язык-то всё равно меняется на уровне приложения.

С помощью вспомогательного скрипта можно сделать. В конфиге Autorun переопределить Ctrl+D:

Code:

SetHotkeyAction /K:C /H:D SetLangAndOpen

Func SetLangAndOpen()
    ShellExec /WAIT "<path_to_Autoit>\AutoIt3.exe" "<path_to_Script>\setlang.au3"
    SendCommand "cm_DirectoryHotlist"
EndFunc


Скрипт (переключает на английский, для русского строка "0419"):

Code:

_TCHSetKeyboardLayout("0409", __TCHGetActiveInstance())

Func _TCHSetKeyboardLayout($sLayoutID, $hWnd)
    Local $WM_INPUTLANGCHANGEREQUEST = 0x50
    Local $ret = DllCall("user32.dll", "long", "LoadKeyboardLayout", "str", $sLayoutID, "int", 0)
    DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWnd, _
                                                "int", $WM_INPUTLANGCHANGEREQUEST, _
                                                "int", 1, _
                                                "int", $ret[0])
EndFunc

Func __TCHGetActiveInstance()
    Local $sInst = EnvGet("COMMANDER_HWND") ; if set by Autorun, preferable
    If ($sInst <> "") And StringIsDigit($sInst) Then Return Hwnd($sInst)
    ; Fallback to "active" window method
    Local $aList = WinList("[CLASS:TTOTAL_CMD]")
    For $i = 1 To $aList[0][0]
        If WinActive($aList[$i][1]) Then Return $aList[$i][1]
    Next
    Return 0
EndFunc

#1776:  Author: sa PostPosted: Mon Sep 26, 2022 20:42
    —
Loopback wrote:
Язык-то всё равно меняется на уровне приложения.
Понятно, просто у yozhik речь велась про ключ LanguageIni (отвечающий за используемый языковой файл), который мне не нужно менять.

Loopback wrote:
С помощью вспомогательного скрипта можно сделать.
Спасибо, сработало!
Можно теперь обойтись без внешней утилиты (для автоматического переключения языка после Ctrl+D).

#1777:  Author: Loopback PostPosted: Mon Sep 26, 2022 22:11
    —
Версия 2.2.7 beta

+ добавлена обновленная английская справка
- функции реестра не работали с именами параметров, содержащими "\"
+ Runtime: добавлена функция IsPressed
- опять исправлена директива LegacyExpression
- исправлена проверка переменной для цикла For
+ добавлена функция RunThread

#1778:  Author: jentoso PostPosted: Mon Sep 26, 2022 22:56
    —
Loopback wrote:

- функции реестра не работали с именами параметров, содержащими "\"

Теперь отрабатывает без ошибки.

#1779:  Author: yozhik PostPosted: Tue Sep 27, 2022 02:58
    —
Loopback
Вот диалог cm_CopySamePanel (Shift+F5/F6):
Code:
IniRead CRNTLNG "%COMMANDER_INI%" "Configuration" "LanguageIni"
LngRead TREEBTN 5002 "%COMMANDER_PATH%\LANGUAGE\%CRNTLNG%"

If %AUTORUN_TCARCH% = 32 Then
  AddDialog    /W:105 /CENTER:1 "TCheckComboBox"
  AddCondition /TEXT  "TButton" 1 "%TREEBTN%"
  AddControl   /X:106 "TButton" 1
  AddControl   /X:106 "TButton" 2
  AddControl   /X:106 "TButton" 3
  AddControl   /W:109 "TMyComboBox" 1
Else
  AddDialog    /W:105 /CENTER:1 "TCheckComboBox"
  AddCondition /TEXT  "Button" 3 "%TREEBTN%"
  AddControl   /X:106 "Button" 3
  AddControl   /X:106 "Button" 4
  AddControl   /X:106 "Button" 5
  AddControl   /W:108 "LCLComboBox" 1
EndIf

В 32бит всё чётко работает, а в 64бит ModifyDialogs не может поменять ширину LCLComboBox. А у MVV его Autorun_FixWindows.dll меняет ширину этого комбобокса! Может можно что-нибудь «подкрутить»? Или смириться с тем что под 64бит сей комбобокс несгибаем?

#1780:  Author: Loopback PostPosted: Tue Sep 27, 2022 14:46
    —
yozhik wrote:
Или смириться с тем что под 64бит сей комбобокс несгибаем?

Увы, в данной реализации да. В том плагине в целом используется другой метод и, скорее всего, дополнительная поддержка именно этого контрола, позволяющая снять ограничения на изменение ширины.

#1781:  Author: sa PostPosted: Tue Sep 27, 2022 15:18
    —
Команда SetHotkeyAction: у меня комбинации с модификатором Alt почему-то не работают. Пробовал и левую, и правую клавишу.

#1782:  Author: Loopback PostPosted: Tue Sep 27, 2022 21:30
    —
sa
Да, что-то упустил, похоже альт вообще забыл проверить.

#1783:  Author: yozhik PostPosted: Wed Sep 28, 2022 08:22
    —
Loopback
Пара замеченных очепяток в справке:

глава RegDelete
Code:
RegDelete [\K] <ключ> [<параметр>]

слэш в переключателе надо бы перевернуть

глава While...Wend
Code:
While var > 0
  MsgBox(var) # --> 3 --> 2 --> 1
  var = var - 1
Next

вместо Next надо бы WEnd

#1784:  Author: Loopback PostPosted: Wed Sep 28, 2022 20:21
    —
yozhik
Спасибо, поправлю.

#1785:  Author: yozhik PostPosted: Fri Sep 30, 2022 00:47
    —
Loopback
Вы AkelPad пользуетесь? Я сделал для него подсветку синтаксиса autorun.cfg.

------

Партия замеченных опечаток и недоумений:

В описании CommandExec
Описание гласит:
CommandExec wrote:
Выполнить пользовательскую команду em_* или установить в панелях заданные пути.

При этом в примерах видим выполнение не только пользовательских команд:
Code:
# открывает диалог настроек
CommandExec cm_Config

и это работает. Хорошо, но чем тогда CommandExec отличается от SendCommand? Только тем, что во 2й внутренние команды TC можно передавать числами? А литерально в обеих — не создаст ли это путаницы? Далее читаем:
CommandExec wrote:
Параметры отправки внутренней команды

и при этом в последующей таблице сведения только о пользовательских em_ командах TC. В русской справке TC эти термины не пересекаются: внутренняя/встроенная — только о cm_, а пользовательская — только о em_.

В описании RunThread
Code:
RunThread <funcname> [<param1> [.. <paramN>]
RunThread(<funcname> [, <param1> [, .. <paramN>]]

В 1й строке не хватает закрывающей ], во 2й закрывающей )

В описаниях строчных ф-ций намёк на то, что вместо casesense требуется подставлять boolean есть только в StrReplace. Может в др., там где casesense используется, тоже стоит добавить?

В описании StrPart
Code:
StrPart(<str>, <delim>, <index> [, <casesense>]

Не хватает закрывающей ).
Code:
sDay = StrPart("Понедельник|Вторник|Среда|Четверг|Пятница|Суббота|Воскресенье" "|", nDay)

Не хватает запятой перед delim.

------

Теперь внимание: очень сильная хотелка. Я давно уже её вынашиваю, и вот настало исполнение времён. Пожалуйста!
Дело в том, что у известного хорошего плагина TWinKey есть два существенных недостатка:
  1. он заброшенный, и с новыми версиями TC всё больше и больше подглючивает;
  2. если TC видит, что он подключен, то блокирует собственную раскраску табов, даже если в TWinKey она не используется.

Поэтому, без лишних слов, вот бы часть самых полезных избранных ф-ций из TWinKey реализовать в субплагинах Autorun. И самой первой сделать эту:
 Специальная обработка клавиши Esc

Она могла бы хорошо поместиться среди ф-ций Tweaks. Мне кажется, что Вам на то, чтобы её сделать, всего несколько минут понадобится. А я бы тогда отключил TWinkey, из-за этой ф-ции его держу преимущественно. Там, конечно, много ещё других хороших, но без них прожить можно, а эту я по нескольку раз на дню использую, привык-с даже.



Total Commander -> Плагины Total Commander


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

Goto page Previous  1, 2, 3 ... 118, 119, 120 ... 133, 134, 135  Next  :| |:
Page 119 of 135

Powered by phpBB © 2001, 2005 phpBB Group