[util] TC Menu: вопросы, ответы, предложения

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

VadiMGP писал(а):Такое может происходить в двух случаях. Первый - ты щелкнул мышью и быстро отвел ее в сторону. Когда TCMenu запрашивает положение курсора то вполне вероятно, что она может получить некоторое промежуточное положение между позицией клика и конечной позицией мыши. В этом случае я ничего не могу сделать - какую позицию мне дали - с той и работаю.
Нет, на промежуточную это ну никак не тянет. См. видео:
http://flint-inc.ru/Temp/tc/tcmenu.exe (221 кб) (если есть недоверие к EXE-файлам, могу перевести в AVI).
VadiMGP писал(а):Если курсор находится близко к краю экрана, и винда считает, что меню таких размеров тут показать нельзя, то меню может появиться где угодно (хоть в ботинке, как неразменный пятак). У винды есть свои, никому неведомые соображения насчет того, где в таких случаях показывать меню. Во всяком случае, в таких ситуациях она (винда) плюет на параметры TrackPopupMenu с высокой колокольни.
Как видно, меню появляется гораздо дальше от кнопки, чем максимальное удаление курсора. И к границе экрана курсор не подходит (снятое окно Тотала находится примерно по центру экрана, разрешение моника - 1280х1024).
VadiMGP писал(а):Хорошо, прочитал я, например, default.bar и теперь знаю, что в нем три кнопки c TCMenu. Одна, допустим, крайняя слева, другая - четвертая по счету, третья - крайняя справа. Как я узнаю, по какой именно кнопке меня запустили?
По переданным параметрам, вестимо. Я считаю, что крайне маловероятно наличие двух кнопок с идентичным набором параметров, и даже более того - с идентичным BAR-файлом. Ну, а ежели всё же найдётся такой оригинал - уж звиняйте, пусть включает в программе такой же режим, как реализован сейчас (его надо оставить доступным в виде опции, естественно), с определением по координатам мыши.
Почему же, ё-моё, ты нигде не пишешь "ё"?
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

CaptainFlint писал(а):Как видно, меню появляется гораздо дальше от кнопки, чем максимальное удаление курсора.
Действительно, странно. Это старый эффект - меню прилепляется не к нижнему краю панели инструментов, а того дочернего окна ТС, в котором находится мышь. Я думаю, что если ты успеешь навести курсор после щелчка на список дисков, то меню прилепится к нему, а если на табы, то к нижнему краю табов. Но в этой версии такого быть уже не должно. Я посмотрю в чем тут дело.
CaptainFlint писал(а):Я считаю, что крайне маловероятно наличие двух кнопок с идентичным набором параметров, и даже более того - с идентичным BAR-файлом.
Как раз параметры сплошь и рядом идентичны (что-нибудь типа "-p %p -n %n"), хотя .bar файлы, скорее всего, действительно разные. Но не суть, дело не только в этом. Я к чему упомянул имя default.bar? Я ведь даже не знаю был ли я вообще запущен из главного .bar файла! Пользователь мог временно переключиться на вторичный .bar файл и запустить меня уже оттуда.
Другая проблема - две строки панели инструментов. Если в однострочном варианте кнопка находится у правого края окна, то в двухстрочном она может оказаться у левого. А знать наверняка на какой строке панели инструментов она находится вообще невозможно.
Из более мелких проблем - время запуска. Оно для TCMenu и так критично, вон и мышь успевает удрать, а еще увеличивать его не хотелось бы.

Но давай я сначала разберусь с первой проблемой и посмотрим как оно будет - вдруг все окажется вполне приемлемо?

ЗЫ. Видео хорошее. Чем делал? Я пользуюсь CamStudio, но там качество похуже будет.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

VadiMGP писал(а):Я ведь даже не знаю был ли я вообще запущен из главного .bar файла! Пользователь мог временно переключиться на вторичный .bar файл и запустить меня уже оттуда.
Хм... И верно, об этом я не подумал.
VadiMGP писал(а):Другая проблема - две строки панели инструментов. Если в однострочном варианте кнопка находится у правого края окна, то в двухстрочном она может оказаться у левого. А знать наверняка на какой строке панели инструментов она находится вообще невозможно.
Ширина окна Тотала известна, размер кнопок известен, количество - известно (если считать, что знаем, какой BAR-файл открыт). Посчитать можно, думаю.
VadiMGP писал(а):Из более мелких проблем - время запуска. Оно для TCMenu и так критично, вон и мышь успевает удрать, а еще увеличивать его не хотелось бы.
Поэтому и дописал про кэширование - режим спец-запуска, когда программа запускается медленно, но пользователь это знает и не двигает мышу, и обычный режим, где используются уже закэшированные данные.
VadiMGP писал(а):Но давай я сначала разберусь с первой проблемой и посмотрим как оно будет - вдруг все окажется вполне приемлемо?
OK.
VadiMGP писал(а):ЗЫ. Видео хорошее. Чем делал? Я пользуюсь CamStudio, но там качество похуже будет.
Собственно, качество зависит не от программы, а от кодека. Раньше я тоже пробовал в CamStudio снимать, потом перешёл на uvScreenCamera (бесплатную версию), понравилась гораздо больше. Как раз uvScreenCamera и позволяет сохранять в EXE-файлы со встроенным плеером и отличным (вроде, даже, без потерь) качеством при весьма небольшом размере файла.
Если же нужно сжать в AVI-формат, то настоятельно рекомендую кодек MSU Screen Capture Lossless Codec. К сожалению, стандартными кодеками не декодируется, т.е. на другом компе для воспроизведения он тоже должен быть установлен. Поэтому я и предпочитаю сохранять в EXE со встроенным плеером - он кодеков не требует.
Почему же, ё-моё, ты нигде не пишешь "ё"?
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

CaptainFlint писал(а):...размер кнопок известен,...
Нет, известен только размер иконок. А кнопки больше, причем насколько именно больше - неизвестно. Кроме того, есть сепараторы между кнопками - их размер тоже неизвестен.

Впрочем, вернемся к нашим баранам. Я выложил новую версию, попробуй. http://www.mgpsoft.net/Downloads/TCMenu20b10.zip
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

VadiMGP писал(а):Я выложил новую версию, попробуй. http://www.mgpsoft.net/Downloads/TCMenu20b10.zip
Да, теперь уже заметно лучше. Спасибо!
Почему же, ё-моё, ты нигде не пишешь "ё"?
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

Ну хорошо, теперь, что касается общего решения...
Я считаю, что я сам, в рамках TCMenu, не могу полностью решить проблему с мышой. Косвенным подтверждением этого является то, что, когда я обсуждал проблемы TCMenu с Гислером, по этому пункту он не возражал.

Я потратил месяца два на поиски решения. Результат перед глазами. Поэтому с одной стороны хочется сказать "Плюнь, не трать время и не ломай зря голову". С другой стороны, не хочу совсем убивать надежду, что может быть все-таки решение существует, просто я я его не нашел. :)
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Что ж, во всяком случае поведение в десятой бете стало гораздо лучше. Я просто довольно часто тыкаю пункт меню, и пока менюшка открывается (далеко не везде это происходит мгновенно) сразу двигаю мышь в то место, где будет нужный мне пункт. В случае с TCmenu это приводило к открытию менюшки чуть ли не в самом низу экрана, что, естественно, раздражало. Теперь, когда менюшка не слетает вниз, жить стало куда веселее. :)
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
fa1con
Сообщения: 162
Зарегистрирован: Сб авг 19, 2006 00:33

Сообщение fa1con »

Как вам такая идея: в конце каждой менюшки добавлять кнопку "редактировать" по которой будет вызываться BarEditor? Опционально конечно. Можно и самому в каждой менюшке добавлять такую кнопку, но будет проще, если это будет происходить автоматически.
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

fa1con
Я уже думал как сделать связку с BarEditor-ом, но пока еще не придумал. Например - как узнать установлен ли вообще BarEditor и где?
Добавлять автоматом еще один пункт меню мне по ряду причин не хочется.
Скорее всего сделаю по клику в меню с зажатым Ctrl или Shift, но еще не уверен.
В общем, пока не нашел хорошего варианта.
Аватара пользователя
fa1con
Сообщения: 162
Зарегистрирован: Сб авг 19, 2006 00:33

Сообщение fa1con »

Например - как узнать установлен ли вообще BarEditor и где?
В TCMenu.ini прописывать путь к BarEditor. По-другому ведь никак.

[Common]
использовать_дополнительный_пункт_меню = 1/0
путь_к_BarEditor = ...
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

Выложил новую версию.

Добавлено
- Работа с локализованным INC файлом.
- Запуск BarEditor по Shift+click в открытом меню.

Модераторы, переименуйте, пожалуйста, тему. Уберите - "не раб. внутр. команды". Пусть будет "вопросы, ответы, предложения" - просто тема про TCMenu.
Аватара пользователя
B4rr4cuda
Сообщения: 376
Зарегистрирован: Вс июн 03, 2007 00:36
Откуда: Россия, Москва

Сообщение B4rr4cuda »

VadiMGP не работает запуск BarEditor-a. Выдаёт "No BarEditor specified". У тебя в ридми опечатка "TCmeni.ini".
Долго шаманил, даже файл TCmeni.ini создавал - не фурычит.
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

Не мучались бы и включили BarEditor в поставку меню
Последний раз редактировалось Alextp Пн авг 27, 2007 13:51, всего редактировалось 1 раз.
Аватара пользователя
B4rr4cuda
Сообщения: 376
Зарегистрирован: Вс июн 03, 2007 00:36
Откуда: Россия, Москва

Сообщение B4rr4cuda »

Вариант.
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

B4rr4cuda О. черт! Какая противная вешь - грабли... A если под таким углом посмотреть?
Ответить