View previous topic :: View next topic |
Пользовательское меню нужно/ненужно? |
Да, требуется очень часто |
|
100% |
[ 3 ] |
Да, но необходимость возникает редко |
|
0% |
[ 0 ] |
Да, но мне хватает панели инструментов |
|
0% |
[ 0 ] |
|
Total Votes : 3 |
|
Author |
Message |
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Sat Oct 29, 2022 07:34 Post subject: Пользовательское меню по горячей клавише |
|
|
Быть может я оказался недостаточно талантлив в формулировании поисковых запросов, но на форуме мне не удалось найти ничего подобного, хотя, вроде бы, очевидно необходимый функционал.
Пользователи двухпанельников - это люди по определению пользующиеся клавиатурой вместо мыши (по крайней мере для большинства операций), предпочитающие нажать клавишу, нежели тянуться за мышью, оставшись в Home row. Как по мне, в подобного рода программах, выполнение любой функции с помощью горячих клавиш должно быть заложено в качестве категорического императива, и уже опционально дублироваться для мыши. Потому у меня прям когнитивный диссонанс возникает, когда я сталкиваюсь с невозможностью выполнить что-либо не отрывая рук от клавиатуры.
Меня бы полностью устроил функционал Панели инструментов или Главного меню, если бы там была заложена возможность назначать её элементам хоткеи.
Так например, в Double Commander реализована такая сущность, как "древовидное меню", которое может вызываться горячей клавишей, и при этом может отображать содержимое панелей, пользователь может наполнять его самостоятельно и присваивать элементам горячие клавиши. И да, присутствует иерархическая структура. Достаточно логичное и элегантное решение.
Быть может, упускаю какие-то очевидные решения или у кого-нибудь имеются свои наработки для подобных задач? Да, есть решения вроде ChooseEditor\F4Menu etc., которые можно приспособить под оные задачи, но работают они все криво, не имеют достаточной гибкости и не могут биндить вызовы для команд.
Требования:
1. Вызов меню или интерактивного списка посредством горячей клавиши;
2. Элементы списка/меню так же должны вызываться с помощью горячих клавиш;
3. Иерархическая структура (вложенные меню);
4. Возможность вызова внутренних команд и взаимодействие с аргументами Total Commander.
Возможно, я хочу слишком многого, но пятнадцать лет назад я думал, что к 2К22-то году, такие вещи будут уже иметь нативную поддержку в программе, претендующей на звание главного двухпанельника планеты. |
|
Back to top |
|
|
imig73
Joined: 18 Jun 2013 Posts: 285 Location: г. Иркутск
|
(Separately) Posted: Sat Oct 29, 2022 10:12 Post subject: |
|
|
slideray
1. F9 - активировать главное меню. Alt+горячая буква - вызвать конкретный пункт + буква для дальнейшего вызова (например Alt+к, м переключит оформление Тёмный<-->Обычный и так далее). Там где нет горячей буквы, есть документированная комбинация для конкретного действия, например Ctrl+F10 покажет все файлы без фильтра и т.д.
2. Достаточно того что есть для того, чтобы не использовать мышь совсем.
3. Какая-то иерархия это фича DC и ТС не обязан её использовать, у него свои фичи есть.
4. Тут вообще вас не понял. Всё есть что надо, просто надо уметь назначать свою комбинацию созданной пользовательской команде на основе встроенной. Пример:
Code: | [em_RestartTC]
button=%COMMANDER_PATH%\Utility\TCPlugman\Plugman.exe,6
cmd=cm_Exit 9
menu=Перезапустить TC (Ctrl+Alt+R) |
В общих чертах учитесь пользовать ТС на всю катушку + доп. плагины и он не обязан равняться на DC и придумывать иерархию. |
|
Back to top |
|
|
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Sat Oct 29, 2022 22:53 Post subject: |
|
|
Вы тут немного недоговариваете. Во-первых, Альт+клавиша - это означает, что сначала вы переключаетесь на нужную раскладку, поскольку привязки эти работают либо в латинской, либо в кириллической. Это дезориентирует всегда, потому как приходится лишний раз задумываться и отвлекаться на выяснение активной раскладки. Это нивелирует преимущества использования горячих клавиш, которые позволяют работать на уровне рефлексов и мышечной памяти.
Во-вторых, примеры вызова команд, которые вы привели в пример вовсе не нуждаются в вызове меню, их можно вызывать напрямую. Тут я и сам думал, что по крайней мере меню "Запуск" позволяет вызывать команды только в случае обращения к меню, пусть и используя ужасающие биндинги, вроде Ctrl+Alt+Shift+F1-F10
Я бы не назвал это поддержкой горячих клавиш на уровне разработчика программы, это лишь реализация на уровне стандарта построения интерфейса оконных систем и соответствующего фреймворка языка программирования. Так или иначе это не удобно. Причём настолько, что проще кликнуть мышью.
Я же имею в виду (в идеале), о возможности нажать хоткей, например, Альт+Х после чего появляется меню, в котором достаточно нажать одну (!) клавишу A, B, или C для вызова назначенной команды. Таким образом у нас становится доступен целый уровень горячих клавиш, который может быть уже задействован. Например, одиночные клавиши ты не сможешь задействовать, если у тебя включен быстрый поиск (только буква).
Вы пытаетесь говорить о возможности, но это не достаточность. Сидели бы тогда в командной строке и говорили, что этого достаточно - там действительно есть всё, что может потребоваться. Есть таких немало, кстати.
По четвёртому пункту уточню. Если использовать какую бы то ни было стороннюю утилиту-лаунчер, то она сможет выполнять прописанные системные команды, но она не будет знать о внутренних командах TC и с его параметрами запуска тоже работать не сможет.
И да, Гислер никому ничего не обязан, но это не означает, что его решения самые удачные и бесспорные по определению. Просто следует признать, что есть реализации более удачные, логичные, удобные. И, возможно, попытаться добавить функционал, которого нехватает. |
|
Back to top |
|
|
imig73
Joined: 18 Jun 2013 Posts: 285 Location: г. Иркутск
|
(Separately) Posted: Sun Oct 30, 2022 02:14 Post subject: |
|
|
slideray
По поводу предварительного переключения раскладки согласен полностью, меня это тоже здорово сбивает особенно в спешке. Касаемо остальных вопросов меня текущая реализация устраивает, а может это просто привычка. Кроме прочего, мышка в ОС Windows всё ж таки играет первую скрипку, как это и было задумано изначально. Совсем обходиться без неё конечно можно, но такой вариант даром большинству не нужен. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2590
|
(Separately) Posted: Sun Oct 30, 2022 03:23 Post subject: |
|
|
slideray wrote: | сначала вы переключаетесь на нужную раскладку, поскольку привязки эти работают либо в латинской, либо в кириллической. |
В Autorun автор недавно добавил вспомогательный скрипт для переключения раскладки на нужную при назначении клавиш.
Кстати, у меня в меню/подменю избранных каталогов много чего есть, кроме навигации. И там как раз можно "нажать одну (!) клавишу A, B, или C для вызова назначенной команды" или подменю. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Sun Oct 30, 2022 13:49 Post subject: |
|
|
slideray wrote: | 4. Возможность вызова внутренних команд и взаимодействие с аргументами Total Commander. |
Есть небольшая утилита tcinc (ссылка в первом сообщении загнулась, см. ниже). |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Tue Nov 01, 2022 18:02 Post subject: |
|
|
slideray
По поводу раскладок клавиатуры можно воспользоваться таким трюком: использовать меню только на английском (или с добавленными английскими буквами для быстрого вызова), а в самом Тотале прописать KeyboardID=$0409. Ну или наоборот, русское меню и $0419. Тогда Тотал будет автоматически возвращаться к этой раскладке после большинства действий, и не надо будет вспоминать, чего там включено. Конечно, если часто и помногу требуется в нём вбивать текст и в той, и в другой раскладке, такое автопереключение может быть неудобным, но, мне кажется, это не слишком частый сценарий для файл-менеджера.
Что касается исходного запроса, могу ещё порекомендовать меню избранного, которое вызывается по Ctrl+D или любым другим сочетанием, которое назначишь. Хоть формально оно называется списком каталогов, туда можно прописывать произвольные внутренние команды Тотала, в том числе параметризованные. Иерархию тоже можно организовывать, создавая вложенные подменю. Вызов пунктов горячими клавишами поддерживается через механизм амперсандов, как в главном меню. Мне кажется, это закрывает поставленную задачу если не полностью, то в значительной степени.
P. S. Дубликат темы я удалил. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Thu Nov 03, 2022 17:16 Post subject: |
|
|
Первый скрипт, который я написал на PowerPro аж 13 лет назад, как раз реализовывал локальное меню. В Нортон Коммандере для вызова локального меню была предназначена клавиша F2, каковую я и переназначил на выполнение скрипта. Сейчас у меня 10 локальных меню с 86 командами на всех. Вызов внутренних команд любезно обеспечил VadiMGP с помощью своей утилиты TCmenu. Я привык к локальным меню и не собираюсь от них отказываться. Это дьявольски удобно. И странно, что Гислер не добавляет такой очевидный (и, насколько я понимаю, несложный в реализации) функционал. Здесь я с slideray согласен всецело.
Что касается горячих клавиш, да еще независимо от раскладки, то на клавиатуре есть... цифры! TCmenu поддерживает вызов команды клавишей, имя которой выделено символом &. Да, костыль, но ведь работает же! _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
|
|
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
|