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 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Wed Apr 21, 2010 16:13    Post subject: Избранные каталоги в виде меню панели инструментов Reply with quote

Создал себе копию меню избранных каталогов в виде выпадающего меню панели инструментов. Получилось что-то вроде этого
Вызов можно осуществлять как мышкой, так и комбинацией клавиш, назначенной на пользовательскую команду вызова простейшего скрипта. Назначил вызов на Alt+D, поскольку переназначение родной комбинации Ctrl+D традиционно оказалось сопряжено с некоторыми издержками.
Самый существенный плюс для меня, что случайные перемещения мышки теперь не оказывают влияния на промежуточную навигацию по меню (подменю), которую привычно выполняю с помощью клавиатуры (цифры, буквы на английском). Раньше приходилось давать себе установку: нажал левой рукой Ctrl+D – останови на время правую с мышкой, иначе можешь случайно оказаться в подменю, или, наоборот, сам того не желая, вернуться из подменю в основное меню и в итоге попасть совсем не туда, куда планировал. Чтобы попасть не туда, теперь нужно случайно нажать клавишу мышки (ещё и в определённом месте!), что легче поддаётся контролю, чем просто смещение курсора.
Самый существенный минус в том, что иногда при первичном вызове с клавиатуры, меню появляется с небольшой задержкой и ТК последующие нажатия клавиш успевает воспринять как клавиши быстрого поиска (при моих настройках), а вовсе не как горячие клавиши меню. Причина такого поведения, кажется, связана с тем, что при установке фокуса на панель инструментов командой cm_FocusButtonBar (Alt+Shift+F11) и последующем нажатии любой кнопки или клавиши Esc зачем-то происходит перерисовка всей панели инструментов, на что требуется определённое время. Да и сама по себе эта перерисовка раздражает. При вызове меню мышкой такой задержки (и перерисовки) не замечал.
Решил создать тему в расчёте, что кому-то пригодятся плюсы такой реализации, а кто-то подскажет, как избавиться от минусов…
Back to top
View user's profile Send private message
ask-rus



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

Post (Separately) Posted: Sun May 02, 2010 11:30    Post subject: Reply with quote

sa wrote:
переназначение родной комбинации Ctrl+D традиционно оказалось сопряжено с некоторыми издержками.

Не понимаю, поподробнее пожалуйста, о каких издержках речь.

Плюс менюшки вижу в значках, наглядно. Далее, раскрывающиеся ">>" (хотелось бы увидеть скрин с одним раскрытым элементом меню, допустим, comparE), видимо, какой-то утилитой (tcmenu?) или стандарт средствами реалли? Запуск из меню клавишами как реализовано (например, Foto) (подчеркивание клавиши запуска)?
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Sun May 02, 2010 23:42    Post subject: Reply with quote

Если честно полностью клавиатурой я не пользусь для вызова команд(примерно 30% клава, 70% мышь)
К примеру, если в меню и русские и английские названия, то как быть? пример на картинке:


Для основных команд я стараюсь назначать "горячие клавиши", пример на картинке:


Я привык пользоваться избранными папками через главное меню:


Но у каждого свои привычки...
Что касается прорисовки окна, надо было приложить скрипт, которым ты вызываешь меню... Я например таким скриптом и вроде проблем с прорисовкой не испытываю, попробуй
Code:
' Вызов первого меню (или первой команды) на текущей панели инструментов
Dim TCS
    Set TCS = CreateObject("TCSCRIPT.Helper")
    TCS.LockTC True
    TCS.SendCommand "cm_FocusButtonBar"
    TCS.SendKeystroke "{Enter}"
Set TCS = Nothing


Описание из справки Helper
Quote:
LockTC [True|False] - блокирует перерисовку основного окна TC во
время работы скрипта. Есть смысл применять при выполнении
скриптов активно меняющих содержание этого окна (выделение
файлов, перемещение фокуса с панели на панель и тп). Более
эстетично, да и работать скрипт будет быстрее.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Sun May 02, 2010 23:59    Post subject: Reply with quote

ask-rus wrote:
Не понимаю, поподробнее пожалуйста, о каких издержках речь.

Например, назначим на Ctrl+D пользовательскую команду для скрипта, вызывающего предварительно созданную нами (в виде меню) панель инструментов для избранных каталогов:
Code:
Dim WSH
Set WSH = WScript.CreateObject("WScript.Shell")
WSH.SendKeys "%+{F11}{END}{ENTER}"
Set WSH = Nothing
Wscript.Quit

(в примере предполагается, что кнопка вызова меню избранных каталогов – последняя в панели инструментов).
Нажимаем Ctrl+D – вызывается меню панели инструментов. Нажимаем “Esc”. Снова нажимаем Ctrl+D – вызывается традиционное меню избранных каталогов вместо ожидаемого меню панели инструментов.

Quote:
скрин с одним раскрытым элементом меню, допустим, comparE

У меня он выглядит так:

Наверное, к избранным каталогам это подменю многим покажется притянутым за уши, ну уж как есть.

Quote:
Запуск из меню клавишами как реализовано…(подчеркивание клавиши запуска)

Традиционным в ТК способом:
символ & делает подчёркнутым символ, следующий за ним (из справки).

Подправил скрин: теперь в нём показан ранее забытый переход к родительскому меню.


Last edited by sa on Tue May 04, 2010 12:14; edited 1 time in total
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Mon May 03, 2010 00:36    Post subject: Reply with quote

Andrey_A wrote:
если в меню и русские и английские названия, то как быть?
Я выкручиваюсь, используя цифры или заменяя русские буквы похожими по начертанию английскими. Да, в начале скрипта у меня ещё вставлен принудительный переход на английский язык.
Quote:
Но у каждого свои привычки...
Согласен на все сто.
Quote:
вроде проблем с прорисовкой не испытываю, попробуй
Тоже надеялся сначала на TCS.LockTC True из Helper-а - не помогло, сейчас на всякий случай проверил ещё раз - аналогично.
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Mon May 03, 2010 01:11    Post subject: Reply with quote

Quote:
Да, в начале скрипта у меня ещё вставлен принудительный переход на английский язык.

Покажи, пожалуйста, кусок скрипта, где принудительно на английский и тоже самое на русский.
Я поставил твой скрипт и на разные кнопки для испытания
на Ctrl+D действительно происходит, то что ты описывал
Quote:
Нажимаем Ctrl+D – вызывается меню панели инструментов. Нажимаем “Esc”. Снова нажимаем Ctrl+D – вызывается традиционное меню избранных каталогов вместо ожидаемого меню панели инструментов.

На других кнопках всё нормально. Придётся искать другое удобное сочетание.
Что касается скриптов, мне больше при испытании понравился именно Helper. Один из примеров при WSH... если чуть-чуть задержишь клавишу Ctrl - вылетает бог знает что (по крайней мере у меня так)
И ещё пару раз непонятное ловил. При 100 нажатиях Helper показал, на мой взгляд, лучший результат.
Back to top
View user's profile Send private message
AlexTex



Joined: 10 Jul 2008
Posts: 42

Post (Separately) Posted: Mon May 03, 2010 01:33    Post subject: Reply with quote

sa
Quote:
У меня он выглядит так:

Выглядит оно хорошо, но интересно каким способом ты делаешь подменю в выпадающем меню панели инструментов.
Собственно, это и ask-rus спрашивал.
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Mon May 03, 2010 02:45    Post subject: Reply with quote

Quote:
каким способом ты делаешь подменю в выпадающем меню панели инструментов

1. Создаете пустой файл Menu.bar с кодом
Code:
[Buttonbar]
Buttoncount=1

2. Переносите его удерживая левую кнопку мыши на панель инструментов (Основная)
3. Правой кнопкой мыши нажимаете на него -> Изменить -> ставите галочку "в виде меню" -> Okey
4. Удерживая Shift нажимаете на копку мышью (открылася пустая панель Menu.bar)
5. Создаёте файл Podmenu.bar (пункты 1,2,3,4)
6. Накидываете туда команды и переходите обратно в Основную панель
(повторите сколько необходимо раз создавая Podmenu_2.bar,Podmenu_3.bar... пункты 4,5,6)
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Mon May 03, 2010 08:15    Post subject: Reply with quote

Andrey_A wrote:
Покажи, пожалуйста, кусок скрипта, где принудительно на английский и тоже самое на русский.

Это просто сочетания клавиш Ctrl+Shift+1 и Ctrl+Shift+2, на которые назначил в системе переключение на английский и русский языки ( Панель управления - Язык и региональные стандарты - Языки - Подробнее - Параметры клавиатуры - Переключение на Английский…)
Code:
WSH.SendKeys "^+1"      'Переключение на английский
WSH.SendKeys "^+2"      'Переключение на русский

Quote:
если чуть-чуть задержишь клавишу Ctrl - вылетает бог знает что

То же сталкивался. Где-то писали, что родные тоталовские горячие клавиши следует заменять с большой осторожностью. Назначил на Alt+D: они ещё и ближе друг к другу, чем Ctrl и D.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Mon May 03, 2010 08:42    Post subject: Reply with quote

AlexTex wrote:
каким способом ты делаешь подменю в выпадающем меню панели инструментов.

В контекстном меню (вызываемом правой клавишей мышки) для кнопки выпадающего меню есть пункт "Правка дочерней панели..."
Далее "Добавить" - "Изменить >>" - "Добавить панель..." - указать имя файла существующей панели или имя для вновь создаваемой.
Ключевое слово для выпадающего меню панели - "в виде меню".
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Mon May 03, 2010 12:38    Post subject: Reply with quote

Quote:
Это просто сочетания клавиш Ctrl+Shift+1 и Ctrl+Shift+2, на которые назначил в системе переключение на английский и русский языки

sa не очень удобный метод переключения (у меня на эти клавиши назначено другое, и к тому же это не Портабельно).
1. Может есть какая-то специальная команда переключения
2. Как добавить в реестр или куда ещё информацию Ctrl+Shift+1 - англ и Ctrl+Shift+2 - русс , без ползания по окнам Языков...

sa , кстати, не знаешь как сделать имитацию нажатия клавиши WIN с помощью скрипта, Просто хотел избранные каталоги (на панели) посадить на кнопку WIN + F2
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2688

Post (Separately) Posted: Mon May 03, 2010 21:31    Post subject: Reply with quote

Andrey_A wrote:
не очень удобный метод переключения
Так и писал "Я выкручиваюсь"

Andrey_A wrote:
1. Может есть какая-то специальная команда переключения
Batya давал вот такой совет, но я не сумел воспользоваться.

Andrey_A wrote:
как сделать имитацию нажатия клавиши WIN с помощью скрипта
Не понял, разве нельзя без скрипта?
Quote:
18.03.08 Added: Allow to use the Windows key for custom hotkeys similar to Shift, Ctrl and Alt...
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Mon May 03, 2010 22:18    Post subject: Reply with quote

Разобрался можно и без скрипта обойтись, но интерес остался можно и как использовать кнопку с флажком Windows использовать наряду с другими, через скрипты. По английски я почти ничего не понял, может где-то это обсуждалось, только я не нашёл
Back to top
View user's profile Send private message
AlexTex



Joined: 10 Jul 2008
Posts: 42

Post (Separately) Posted: Tue May 04, 2010 00:08    Post subject: Reply with quote

sa, Andrey_A, огромное спасибо за "рецепт" подменю!
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 Mar 26, 2011 08:36    Post subject: Reply with quote

sa wrote:
символ & делает подчёркнутым символ, следующий за ним (из справки).

Сейчас заметил, что у меня не подчеркиваются, хотя запуск по ним осуществляется. В чем может быть дело?
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
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
Goto page 1, 2  Next
Page 1 of 2

 
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