View previous topic :: View next topic |
Author |
Message |
UserTC
Joined: 02 Jan 2008 Posts: 22
|
(Separately) Posted: Wed Jan 02, 2008 14:07 Post subject: Активная панель на все окно |
|
|
есть ли комбинация клавиш: Активная панель на всю ширину окна выкл/вкл, как было в NC ? примерно как команда "cm_50Percent" только не 50 процентов, а 100. |
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Wed Jan 02, 2008 18:05 Post subject: |
|
|
когда-то вполне нормально работало вот это. Это не совсем точно то, но очччень близко. |
|
Back to top |
|
 |
UserTC
Joined: 02 Jan 2008 Posts: 22
|
(Separately) Posted: Wed Jan 02, 2008 22:52 Post subject: |
|
|
Спасибо, сделал через VBS - в принципе меня устраивает, тока выполняется немного с небольшой задержкой не так плавно как со стандартными командами. |
|
Back to top |
|
 |
UserTC
Joined: 02 Jan 2008 Posts: 22
|
(Separately) Posted: Sun Jan 06, 2008 14:50 Post subject: |
|
|
еще назрел вопрос, можно сделать так что бы позиция окна при выходи сохранялась автоматом без указания в меню сверху конфигурации - "запомнить позицию"?. В настройках можно поставить что бы сохранял историю настроек, но позиции окна я там не увидел. |
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sun Jan 06, 2008 16:02 Post subject: |
|
|
C помощью того же скрипта можно изменять параметр wincmd.ini Divider, но для этого, как я понял, нужно получить разрешение экрана, т.к. этот параметр находится в секции вида
Справка wrote: | [1024x768 (10x20)] - Данные, зависящие от разрешения экрана и размера шрифта (размер шрифта определяется числами в скобках: (8x16) — для нормального и уменьшенного шрифта, (10x20) — для крупного шрифта). |
Насколько это реально, лучше знает автор скрипта. |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Mon Jan 07, 2008 00:16 Post subject: |
|
|
В принципе это все возможно, но весьма геморно. Для этого придется задействовать WMI, что не всегда приемлемо. Есть два (как минимум, и не считая реквеста к Гислеру) обходных решения:
1) Не определять программно имя текущей секцию с параметром Divider, а определив его "вручную" одиножды, задать его в скрипте жестко.
2) Отключить вообще систему разделения настроек внешнего вида по выбранному шрифту и разрешению экрана. Для этого достаточно добавления параметра ResolutionSpecific=0 в секцию [Configuration]. После этого настройки для всех разрешений и размеров шрифтов будут храниться в одной общей секции [AllResolutions] (для удобства просто переименуйте активную секцию, используя именно это имя).
Какой вариант более приемлемый? |
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Mon Jan 07, 2008 00:46 Post subject: |
|
|
2Volniy
Насколько я знаю, твой Хелпер умеет команды Тоталу посылать.
Так вот, положение разделителя сохраняется при использовании
cm_ConfigSavePos.
Можно закинуть соотв. функцию куда-то в конец скрипта. |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Mon Jan 07, 2008 01:22 Post subject: |
|
|
Ну да, а я и забыл Тут, правда, есть один нюанс. Сохранение позиции это не совсем то, что нужно, потому как оно сохраняет не только положение сепаратора, а еще и размеры окна, его состояние и пр. Это немного некорректно, хотя может кому-то вполне подойдет.
Ладно, выдаю тогда сразу два варианта (закоментируйте ненужный и наоборот):
Code: | '=========================[ Start of file ]===================
' File: Separators+.vbs
' Description: Производит переключение между 3-мя любыми позициями
' разделителя панелей ТС. Позиция сохраняется (!!!)
' Installation: Создайте новую команду в меню Запуск TC
' Команда: "диск:\путь\к\файлу\Separators+.vbs"
' Назначьте на нее горячую клавишу
' Copyright: (c) 2008, Volniy
Option Explicit
Dim TCS
Const Pos1=95, Pos2=5, Pos3=50
Set TCS = CreateObject("TCScript.Helper")
TCS.Pause = 10
TCS.LockTC True
If TCS.Separator < 0 Or TCS.Separator > 100 Then
TCS.SendCommand "cm_50Percent", True
End If
Select Case CInt(TCS.Separator)
Case (Pos2 - 1), Pos2, (Pos2 + 1)
TCS.Separator = Pos3
Case (Pos3 - 1), Pos3, (Pos3 + 1)
TCS.Separator = Pos1
Case (Pos1 - 1), Pos1, (Pos1 + 1)
TCS.Separator = Pos2
Case Else
TCS.Separator = Pos3
End Select
TCS.LockTC False
'1 способ, чистый ибо только сохраняет позицию сепаратора
'TCS.MainINI="c:\TC\wincmd.ini" - это если путь автоматом не определяется
If TCS.INIRead(TCS.MainINI,"Configuration","ResolutionSpecific","1")="0" Then
Call TCS.INIWrite(TCS.MainINI,"AllResolutions","Divider",TCS.Separator*10)
Else
Call TCS.INIWrite(TCS.MainINI,GetSectionName,"Divider",TCS.Separator*10)
End If
'2 способ, сохраняет заодно и позицию окна
'при этом способе функция GetSectionName лишняя
'TCS.SendCommand 493 , -1
Set TCS = Nothing
Wscript.Quit()
Function GetSectionName
Dim objWMIService, colItems, objItem, Sec
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery(_
"Select * from Win32_DesktopMonitor")
For Each objItem in colItems
Sec=""
Sec= CStr(objItem.ScreenWidth) & "x" _
& CStr(objItem.ScreenHeight)
If objItem.PixelsPerXLogicalInch > 96 Then
Sec= Sec & " (10x20)"
Else
Sec= Sec & " (8x16)"
End If
Next
GetSectionName = Sec
End Function
'=========================[ End of file ]=================== |
Last edited by Volniy on Mon Jan 07, 2008 03:02; edited 2 times in total |
|
Back to top |
|
 |
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Mon Jan 07, 2008 01:43 Post subject: |
|
|
2Volniy
Кажется, твой скрипт не учитывает ResolutionSpecific=0 и название секции [AllResolutions]... |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Mon Jan 07, 2008 02:56 Post subject: |
|
|
DrShark wrote: | 2Volniy
Кажется, твой скрипт не учитывает ResolutionSpecific=0 и название секции [AllResolutions]... |
... а еще и температуру воздуха на пляжах Прибалтики
OK. Уже исправил. |
|
Back to top |
|
 |
prog_san

Joined: 29 Sep 2007 Posts: 283 Location: Пенза
|
(Separately) Posted: Thu Jul 23, 2009 01:42 Post subject: |
|
|
Почему-то после выполнения команды TCS.Separator=100 в задачах системы остается запись 100% - указывает на процесс Totalcmd.exe. И появляется и не исчезает всплывающее значение позиции разделителя. Для других значений такого поведения не наблюдается.
Code: | Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True
TCS.Separator = 100
TCS.LockTC False
Set TCS = Nothing
Wscript.Quit()
|
TC 7.50 beta 7 _________________ Errare humanum est |
|
Back to top |
|
 |
Den_Klimov
Joined: 03 Nov 2006 Posts: 207 Location: Ukraine.Kiev
|
(Separately) Posted: Sun May 16, 2010 06:06 Post subject: Команды\кнопки управления разделителем файл-панелей в Тотале |
|
|
В Тотале имеется уж давненько встроенная команда "Установить границу файловых панелей по центру".
Но насколько помню никаких иных внутренних команд для управления разделителем файловых панелей НЕТ. Всё приходится делать мышей, да и то самым неудобным способом.
Тем не менее потребность в других командах для клавиатурников есть. И она весьма велика.
Хотя бы в таких двух:
- растянуть активную файловую панель на весь Тотал (полностью скрыв таким образом противоположную панель)
или
- растянуть активную файловую панель в сотношении 80\20
Естественно подразумевается возможность сделать это не перезагружая Тотал.
У кого-то есть какие-то идеи по этом поводу?
Реально ли вообще сделать пользовательские команды с двумя такими функциями (или хотя бы с первой) при помощи каких-то внешних костылей, не перекоцывая полностью Total?
Хотелось бы повесить на эти функции клавиатурные сочетания и заодно кнопки для мышатников, но встренных в Тотал таких команд насколько помню нет. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun May 16, 2010 10:55 Post subject: |
|
|
Ищи по форуму текст TCS.Separator |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10417 Location: Россия, Саратов
|
(Separately) Posted: Sun May 16, 2010 11:13 Post subject: |
|
|
Den_Klimov
Кстати, Гислеру и на бета-форуме улучшения в этом направлении предлагали. Но это будет реализовано (если будет) уже, естественно, не в 7.55, а пока относится к списку "хотелок" для восьмёрки. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
|