IMPOMEZIAЦитата: при 1680x1050 и 15.4" пользуюсь стандартными размеров шрифтов и буду сильно против если кто-то сделает их крупнее
Сообщи это разработчикам Linux - для новых десктопов в теме по-умолчанию шрифты KDE и Gnome значительно крупнее, чем мелкософтовские, и это удобнее, чем ловить мышью восьмипиксельный флажок или строку меню.
Во многих источниках указано, что шрифт стандартных тем Windows слишком мелкий для высоких разрешений монитора.
Всем сразу угодить сложно, но в сборке TC Expert многое сделано для быстрой загрузки/импорта/отката настроек, и их выбора из меню 'Тема'. Например можно выбрать пункт: 'Загрузить настройки' и открыть свой файл Wincmd.ini, используя [more=скрипт TSet.vbs]
' Быстрое переключение и экспорт настроек. © Victor Dobrov
' TSet.vbs - загрузка/импорт/экспорт/откат настроек Total Commander, расширение возможностей утилиты TSet.exe.
' Возможности: 1) перезапустить коммандер с настройками из tset-файла; 2) экспортировать все или заданные секции настроек в ini или tset-файл 3)восстановить предыдущую конфигурацию
' параметры: 1) отсутствуют - загрузить настройки 2) /ini:<имя ini-файла> или /tset:<имя tset-файла>, <названия секций> для экспорта в файл, если не указывать, выполняется импорт из tset-файла настроек. 3) /B - откат настроек.
On Error Resume Next
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
ScriptPath = FSO.GetFile(WScript.ScriptFullName).ParentFolder & "\"
Commander_Path = WshShell.ExpandEnvironmentStrings("%COMMANDER_PATH%")
BaseIni = WshShell.ExpandEnvironmentStrings("%COMMANDER_INI%") : If BaseIni = "%COMMANDER_INI%" Then WScript.Quit 'BaseIni = TCS.MainINI
Set TCS = CreateObject("TCScript.Helper") 'пропишите ваш путь к TCWSHelp.exe
If not IsObject(TCS) Then WshShell.Run Quote(Commander_Path & "\Scripts\TCWSHelp.exe") & " /REGSERVER",,True : _
Set TCS = CreateObject("TCScript.Helper")
If not IsObject(TCS) Then MsgBox "Script Helper ActiveX for Total Commander" & vbTab & VbCr & VbCr & "для регистрации в системе выполните:" & VbCr & "TCWSHelp.exe /REGSERVER",vbSystemModal + vbInformation,"Отсутствует компонент ActiveX" : _
WScript.Quit 'ошибка регистрации
if WScript.Arguments.Count = 0 Then 'выбрать файл конфигурации
Result = OpenFile(4, ScriptPath, "Цвета и настройки TC (*.tset)|*.tset|Файлы конфигурации (*.ini)|*.ini|Все файлы (*.*)|*.*", 1)
If Result = "" Then WScript.Quit 'Отмена' в диалоге выбора файла
Else
Result = WScript.Arguments.Unnamed(0) 'tset-файл указан
End If
Result = WshShell.ExpandEnvironmentStrings(Result)
If FSO.FileExists(Result) Then 'применить настройки, если файл выбран или указан в параметрах
If FSO.GetExtensionName(Result) = "ini" Then
If InstrRev(Result, "\") = 0 Then Result = ScriptPath + Result 'имя файла было указано без пути
If Len(TCS.INIReadSection(Result, "Configuration")) = 0 Then MsgBox "Указанный файл конфигурации" & vbTab & VbCr & "не подходит к Total Commander",vbSystemModal + vbInformation,"Ошибка: " & FSO.GetFile(Result).Name : WScript.Quit
FSO.GetFile(BaseIni).Name = FSO.GetFile(BaseIni).Name & ".bak" 'зарезервировать текущие настройки
FSO.GetFile(Result).Copy BaseIni, true 'подсунуть TC выбранный ini-файл
WshShell.Run Quote(ScriptPath & "TSet.exe") & " /R"
Else
WshShell.Run Quote(ScriptPath & "TSet.exe ") & Result,,True
End If
MsgBox "Для отката к прежним настройкам выберите" & vbTab & VbCr & "в меню 'Тема' пункт 'Вернуть предыдущие...'",vbSystemModal + vbInformation,"Загружены новые настройки TC"
WScript.Quit
End If 'иначе экспорт конфигурации в ini или tset-файл
If WScript.Arguments(0) = "/B" Then 'возврат к резервной копии настроек
If FSO.FileExists(BaseIni & ".bak") Then
WshShell.Run Quote(ScriptPath & "TSet.exe") & " /B",,True
MsgBox "Прежние настройки восстановлены." & vbTab,vbSystemModal + vbInformation,"Откат настроек"
Else
MsgBox "Отсутствует резервный файл:" & vbCrLf & vbCrLf & BaseIni & ".bak",,"Ошибка отката настроек"
End If
WScript.Quit
End If
FileName = "Моя тема"
For i = 0 To WScript.Arguments.Unnamed.Count-1 'все параметры одной строкой
Sections = Sections + " " + WScript.Arguments.Unnamed.Item(i)
Next
If Len(Sections) = 0 or InStr(LCase(Sections), "alls") > 0 Then
Sections = "Configuration Confirmation Layout Lister Extensions Packer PackerPlugins ListerPlugins FileSystemPlugins ContentPlugins Shortcuts Buttonbar Tabstops Colors Searches LeftTabs RightTabs CustomFields HintsCustomField ThumbsCustomField DriveHints DirMenu User 800x600 1024x768 1280x800 1280x1024 1600x1200 1920x1440" 'список секций Wincmd.ini, экспортируемых по-умолчанию
FileName = "Мои настройки" 'добавьте свои разрешения монитора в Sections
End If
if WScript.Arguments.Named.Exists("ini") then
Result = WScript.Arguments.Named.Item("ini")
FileType = ".ini" 'экспортировать ini-файл TC
Else
Result = WScript.Arguments.Named.Item("tset")
FileType = ".tset" 'экпорт по-умолчанию
End If
Result = WshShell.ExpandEnvironmentStrings(Result)
If Result = "" Then 'в параметрах указаны только названия секций (или Alls)
Result = SaveFile(FileName + FileType, "*" + FileType)
If Result = "" Then WScript.Quit 'Отмена' в диалоге выбора файла
End If
If FSO.GetExtensionName(Result) = "" Then Result = Result + FileType 'в диалоге выбора имя введено без расширения
If InstrRev(Result, "\") = 0 Then Result = ScriptPath + Result 'имя файла было указано без пути
FSO.GetFile(Result).Name = FSO.GetFile(Result).Name & ".bak" : FSO.DeleteFile Result, True
If FileType = ".tset" Then WriteFile Result, "@TSET" & VbCrLf & "@MAIN" 'создать tset-файл
Sections = Split(LTrim(Sections))
For i = 0 To Ubound(Sections)
If Sections(i) = "800x600" Or Sections(i) = "1024x768" Or InStr(Sections(i), "1280x") > 0 Or InStr(Sections(i), "1600x") > 0 Or InStr(Sections(i), "1920x") > 0 Then Sections(i) = Sections(i) + " (8x16)"
Values = TCS.INIReadSection(BaseIni, Sections(i))
If Len(Values) > 0 Then 'секция найдена и не пуста
If FileType = ".tset" And Not WScript.Arguments.Named.Exists("add") Then _
WriteFile Result, "-[" & Sections(i) & "]" 'удалять секции из Wincmd.ini перед импортом tset-файла
TCS.INIWriteSection Result, Sections(i), Values
WriteFile Result, vbNullString 'для красоты разделим секции пустой строкой
End If
Next
Function SaveFile(File, Filters)
Set objDialog = CreateObject("SAFRCFileDlg.FileSave")
objDialog.FileName = File
objDialog.FileType = Filters
intReturn = objDialog.OpenFileSaveDlg 'или OpenFileOpenDlg
If intReturn Then SaveFile = objDialog.FileName
End Function
Function OpenFile(Flags, InitialDir, Filters, Index)
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.InitialDir = InitialDir
objDialog.Flags = Flags
objDialog.FilterIndex = Index
objDialog.Filter = Filters
intResult = objDialog.ShowOpen
If intResult Then OpenFile = objDialog.FileName
End Function
Function WriteFile(File, Line)
Set TextStream = FSO.OpenTextFile(File, 8, True)
TextStream.WriteLine Line
TextStream.Close
End Function
Function Quote(PathFile) 'заключить в кавычки, если путь содержит пробелы
If InstrRev(PathFile," ") = 0 Then Quote = PathFile Else Quote = Chr(34) & PathFile & Chr(34)
End Function
[/more].