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 

Пустота в строке вкладок после OPENTABS

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
campoviy



Joined: 18 Dec 2010
Posts: 109
Location: Russian Federation, Krasnodar region

Post (Separately) Posted: Mon May 09, 2011 19:31    Post subject: Пустота в строке вкладок после OPENTABS Reply with quote

У меня появилось желание сделать кнопку, при нажатии которой, вид панелей TC возвращался к заранее заданному (в плане вкладок, их расположения, активности, открытых каталогов). На ум пришла команда OPENTABS, коей в качестве параметра полагается передавать путь к TAB-файлу.
Приступив за дело, создал юзер-команду:
Code:
[em_OpenTabs_My]
button=C:\TOTALCMD\WCMICONS.DLL,83
cmd=OPENTABS
param=C:\TOTALCMD\Tabs\My_Tabs.tab
menu=Мои табы в ФП

Оно, по сути, значения не имеет, но вот содержимое C:\TOTALCMD\Tabs\My_Tabs.tab:
Code:
[activetabs]
0_path=C:\TOTALCMD\
0_options=0|0|0|0|0|0|0
1_path=C:\Program Files\Tools\
1_options=0|0|0|0|0|0|0
2_path=C:\Program Files\Winamp\
2_options=0|0|0|0|0|0|0
activetab=0
[inactivetabs]
0_path=D:\Docs\
0_options=0|0|0|0|0|0|0
1_path=D:\Docs\Soft\
1_options=0|0|0|0|0|0|0
2_path=D:\Docs\_Progs\Pascal\
2_options=0|0|0|0|0|0|0
3_path=D:\Music\
3_options=0|0|0|0|0|0|0
4_path=D:\Docs\TEMP\
4_options=0|0|0|0|0|0|0
5_path=D:\SandBoxIE\
5_options=0|0|0|0|0|0|0
6_path=D:\Downloads\
6_options=0|0|0|0|0|0|0
activetab=0

Однако, выполнив юзер-команду, я получил вот что (скриншот: PNG, 1024*768, 52 Кб; то, на что стоит обратить внимание, выделено красным).

Почему появляется это пространство? Кстати, флажок "Все вкладки имеют одинаковую ширину" в "Конфигурация->Настройка...\Вкладки папок" отмечен.
Если в таком состоянии вкладок создать вкладку, то она займёт своё место именно в этой пустоте (пустота исчезнет).
На основе этого, я сделал мега-костыль (EM-команда, юзающая em_OpenTabs_My), использующий TCMC, который просто потрясает своей неуниверсальностью, однако, работает:
Code:
[em_My_Tabs]
button=C:\TOTALCMD\WCMICONS.DLL,83
cmd=C:\TOTALCMD\Plugins\Tools\TCMC\TCMC.exe
menu=Открытие дефолтных табов в ФП
param=CMcm_LeftActivateTab1 EMem_OpenTabs_My CMcm_LeftActivateTab1 CMcm_OpenNewTabBg CMcm_LeftActivateTab4 CMcm_CloseCurrentTab CMcm_RightActivateTab1 CMcm_OpenNewTabBg CMcm_RightActivateTab8 CMcm_CloseCurrentTab CMcm_RightActivateTab1 CMcm_LeftActivateTab1

Вы и так прекрасно понимаете, что за команды выполняются, но для упрощения поясню:
1. Активация 1-й вкладки левой панели, это сделано для того, чтобы следующая команда выполнялась именно при активной левой панели, и каталоги открывались именно так, как необходимо (cm_LeftActivateTab1).
2. Выполнение заранее созданной юзер-команды, которая открывает TAB-файл, используя OPENTABS. Вот на этом этапе мы и получаем то, что отмечено на скриншоте: пустое место в каждой панели после последней вкладки, по размеру равно всем вкладкам панели (em_OpenTabs_My).
3. Опять на 1-ую вкладку левой панели переключение, в данном случае шаг, возможно, лишний - я не проверял (cm_LeftActivateTab1).
4. При активной левой панели, фоновое открытие новой вкладки (cm_OpenNewTabBg).
5. Так как известно, что новосозданная в активной левой панели фоновая вкладка будет строго 4-я, на неё переключение (cm_LeftActivateTab4).
6. В прошлой команде произошло переключению на 4-ю вкладку левой панели, теперь закроем её, как текущую. (cm_CloseCurrentTab).
7. Оставляем в покое левую панель, в ней активной остаётся 3-я вкладка, переключение на 1-ую вкладку правой панели (cm_RightActivateTab1).
8. Аналогично шагу №4, однако уже в активной правой панели происходит открытие новой фоновой вкладки (cm_OpenNewTabBg).
9. Как и в шаге №5, известно, что новосозданная, теперь уже в активной правой панели вкладка, является 8-ой, на неё, соответственно, переключение. (cm_RightActivateTab8).
10. Опять, схоже с шагом №6, закрытие текущей вкладки, которой является 8-я в правой активной панели (cm_CloseCurrentTab).
11. Как и шаг №7, активация 1-ой вкладки правой панели (cm_RightActivateTab1).
12. Так же, как в шагах №1 и №3 - активация первой вкладки левой панели (cm_LeftActivateTab1).
Итог: в файловых панелях открыты все необходимые вкладки, в каждой панели активна 1-я вкладка, пустых мест, как на скрине - нет.

Кстати, вот ещё что удивило и в некоторой степени относится к теме. В TAB-файле, как видно выше, используются имена секций [activetabs] и [inactivetabs], по логике их можно заменять на [lefttabs] и [righttabs], что позволило бы избежать использование пары-тройки команд в приведённой ниже TCMC-em-команде, однако - НЕ работает.

ОС: Windows XP SP2 (однако, уверен, что воспроизведётся всюду).
TC: 7.56a; TwinKey не используется.

Сейчас попытаюсь воспроизвести проблему на чистом Тотале, в песочнице, позднее отпишусь о результатах.
Просьба - пожалуйста, отписаться, кто, что думает по вышеизложенному поводу: баг ли это, и т. п.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Mon May 09, 2011 20:26    Post subject: Reply with quote

Перезапустить TC следует после OPENTABS и табы растянутся.
Баг?
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
campoviy



Joined: 18 Dec 2010
Posts: 109
Location: Russian Federation, Krasnodar region

Post (Separately) Posted: Mon May 09, 2011 23:05    Post subject: Reply with quote

ask-rus wrote:
Перезапустить TC следует после OPENTABS и табы растянутся.
Да, именно так. Рестарт - не единственный варинат, достаточно создать и удалить вкладку (необязательно).
ask-rus wrote:
Баг?
Возможно. Подождём, что ещё скажут.

Как обещал, поставил в песочницу с чистым конфигом. Настроил лишь: показ вкладки, даже если она единственная; одинаковые длины всех вкладок. Кликнув ПКМ по вкладке, загрузил табы из файла, удалив текущие: воспроизвёл.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Sat May 14, 2011 10:43    Post subject: Reply with quote

Кто-нибудь может ещё подтвердить? Достаточно установить опцию "Все вкладки имеют одинаковую ширину", сохранить вкладки в файл, закрыть все вкладки и открыть сохраненные по OPENTABS - они не растянутся, а должны.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
campoviy



Joined: 18 Dec 2010
Posts: 109
Location: Russian Federation, Krasnodar region

Post (Separately) Posted: Sat May 14, 2011 13:24    Post subject: Reply with quote

ask-rus wrote:
Кто-нибудь может ещё подтвердить?
Да, хотелось бы. Но я считаю, что при соответствующем значении уже упомянутых настроек, у всех такое поведение будет.
ask-rus wrote:
Достаточно установить опцию "Все вкладки имеют одинаковую ширину", сохранить вкладки в файл, закрыть все вкладки и открыть сохраненные по OPENTABS - они не растянутся, а должны.
Точнее: закрывать все вкладки, вручную, не обязательно, ибо в их контекстном меню есть пункт "Добавить вкладки из файла, удалив текущие".
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
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