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 

Autorun
Goto page Previous  1, 2, 3 ... 133, 134, 135
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 240

Post (Separately) Posted: Tue Apr 23, 2024 11:42    Post subject: Reply with quote

Loopback
Да, заработало, спасибо!
Единственное, в первой записи запятая лишняя:
Code:
SetEnv portable %"%PP%"
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 202

Post (Separately) Posted: Tue Apr 23, 2024 14:29    Post subject: Reply with quote

Quote:
Нет, узнать надежно какая кнопка нельзя. Ну я во всяком случае не представляю, как это можно сделать. Максимум что можно, наверно, это например найти 5 кнопку слева. Но толку от этого никакого нет. Да и смысл, у кнопок панелей свои настраиваемые подсказки.

Эти подсказки не умеют раскрывать переменные окружения, но меня интересует даже не это. Хотелось бы задать координаты хинту так, чтобы он всплывал под нужной кнопкой при вызове. Видел краем глаза, что есть какие-то функции поиска пикселей на экране или в окне, нельзя из этого что-то выжать?
Quote:

Ну хорошо, как вы себе это представляете, без "танцев"? Ну вот хотя бы в виде псевдокода, или пример из другого языка живой. Просто мне кажется мы по-разному понимаем эти вещи.

Вы все правильно поняли. Мне просто хотелось бы, чтобы плагин имел возможность сообщать о своем статусе в диалоговом окне: версии, даты, пути, что загружено и что выполняется - вот и все. Без дополнительно вмешательства со стороны пользователя.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1293

Post (Separately) Posted: Tue Apr 23, 2024 16:24    Post subject: Reply with quote

Orion9 wrote:
Хотелось бы задать координаты хинту так, чтобы он всплывал под нужной кнопкой при вызове.

Если при вызове, то для этого Autorun вообще не нужен. Скриптовые языки лучше подойдут.

При управлении с клавиатуры думаю не вариант, не к чему привязаться.

При вызове мышью шанс есть, но точно вряд ли получится, только тотал знает границы своих кнопок. В принципе можно просто выводить подсказку под курсором. Можно более-менее определить нижнюю границу каждой строки и сместить к ней, но вот с положением по X проблема.

Расчёт нижней границы строки я делал в одном проекте для меню. Координата X гуляет в пределах ширины кнопки, но меня это устраивает. Вот код (Autoit):

 Hidden text


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

Orion9 wrote:
Мне просто хотелось бы, чтобы плагин имел возможность сообщать о своем статусе в диалоговом окне: версии, даты, пути, что загружено и что выполняется - вот и все.


Ладно, резюмирую. С "версии, даты, пути" всё понятно. C "загружено" 50/50 (плагины? прочие dll? выполняющиеся exe? шрифты?). С потоками вообще непонятно, что именно и в каком виде. В конце-концов, как всю эту информацию сделать читабельной в MsgBox или подсказке (на всякий случай: вариант специального окна даже не рассматривается). Так что отложим до появления конкретики.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 202

Post (Separately) Posted: Tue Apr 23, 2024 18:43    Post subject: Reply with quote

Quote:
Если при вызове, то для этого Autorun вообще не нужен. Скриптовые языки лучше подойдут.

Да, речь шла о теории, как таковой. Поскольку передать полученные координаты в ваш тултип в Autorun или использовать для этого другой тултип (скриптовый) - это дело не сложное.
Quote:
Расчёт нижней границы строки я делал в одном проекте для меню. Координата X гуляет в пределах ширины кнопки, но меня это устраивает. Вот код (Autoit):

Больше всего мне в ваших скриптах нравятся английские комментарии. Рутинное чтение научных трудов превращается в чтение художественных романов в жанре adventure.))
Но я все-таки расчитывал, что как-то можно найти иконку по пикселям. Для меня API Windows еще темный лес, не говоря уж о графическом API.
Quote:
Так что отложим до появления конкретики.

Все примерно так. Чем больше релевантной информации, тем лучше. К путям можно еще добавить модули, успешно подключенные по директивам Pragma Include. Еще можно добавить информацию по горячим клавишам, которые висят на SetHotkeyAction и зарегистрированным SetMessageAction функциям, которые ожидают сообщений. Начать можно и с простого MsgBox, а что касается потоков, то тут, наверное, ничего больше не добавишь, кроме того, что они выполняются + время старта каждого по отдельности + опционально общее время его выполнения, ведь отдельный поток может быть запущен необязательно вместе (одновременно) с самим модулем Autorun, а гораздо позже.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1293

Post (Separately) Posted: Tue Apr 23, 2024 23:00    Post subject: Reply with quote

Orion9 wrote:
Больше всего мне в ваших скриптах нравятся английские комментарии

Давняя привычка. Как ни крути, английский сейчас де-факто стандарт для языков программирования и документации. Зато для большинства читающих код не нужно лезть в переводчик. А то встречался код с комментариями то на немецком, то на японском, вот где боль Smile

Orion9 wrote:
Но я все-таки расчитывал, что как-то можно найти иконку по пикселям.

Да можно наверно. В AHK есть функции ImageSearch, PixelSearch. Но это настолько малонадежный и медленный способ, что я никогда его серьезно не рассматривал.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 202

Post (Separately) Posted: Wed Apr 24, 2024 00:09    Post subject: Reply with quote

Quote:
В AHK есть функции ImageSearch, PixelSearch. Но это настолько малонадежный и медленный способ, что я никогда его серьезно не рассматривал.

Надо будет глянуть при первой возможности. Скорость меня не пугает, т.к. задача все-равно будет в фоне выполняться. Хочу, чтобы хинт получил нужные координаты и всплыл в нужном месте. Своего рода нотификация.
 P.S.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 202

Post (Separately) Posted: Sat Apr 27, 2024 00:50    Post subject: Reply with quote

Loopback
Создаю ControlSetHint /H:2 0 %"%TitleHint%"

Работает, однако:

В ходе выполнения переменная TitleHint меняется, но при наведении на заголовок, всплывает старое (первичное) ее значение.

То же самое делаю с ControlSetMouseAction /R /H:2 0 MsgBox %TitleHint%

А в этой функции все работает так, как ожидается.

Так как заставить ControlSetHint подхватывать изменения?
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1293

Post (Separately) Posted: Sat Apr 27, 2024 12:41    Post subject: Reply with quote

Orion9 wrote:
А в этой функции все работает так, как ожидается.

А просто не надо ожидать от ControlSetHint того, чего в ней не заложено Very Happy Ладно, это шутка, понятно, что пока на нее нет нормальной документации.

В общем тут даже название параметра - "текст". Против "команда" в ControlSetMouseAction. CSMA выполняет команду каждый раз при активации сочетания, и это логично, т к. сама функция больше ничего не делает. Делать то же самое для ControlSetHint было мало смысла, т.к. у неё есть собственная функция - отобразить подсказку.

Можно, конечно, попробовать сделать по аналогии с ShowPopupMenu, добавить ключ, чтобы текст трактовался как функция, которая должна вернуть текст подсказки. Вот только где и зачем это может понадобиться? Да и по производительности есть определенные опасения.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 202

Post (Separately) Posted: Sat Apr 27, 2024 23:50    Post subject: Reply with quote

Quote:
Ладно, это шутка, понятно, что пока на нее нет нормальной документации.

Да норм прикол, полно вам.)

Разумеется, я опасался, что из этого ничего не выйдет, но когда увидел, что ControlSetHint /H:2 0 %"%TitleHint%" отработала без проблем, надежда все же затеплилась))
Quote:

Можно, конечно, попробовать сделать по аналогии с ShowPopupMenu, добавить ключ, чтобы текст трактовался как функция, которая должна вернуть текст подсказки. Вот только где и зачем это может понадобиться?

Это может понадобиться в моих непрекращающихся эксперементах с заголовком Laughing Вот, очередная затея с информерами от яндекса) Не уверен, что это правильный способ получения данных, но как говорится "я его слепила из того, что было, а потом, что было, то и..."
 Hidden text

Quote:
Да и по производительности есть определенные опасения.

Ну, это не проблема. Пусть пользователь сам понимает и принимает все риски подобных экспепементов. В конце концов, для чего еще нужен Тотал, если не для проб и экспериментов, для копировования файлов что ли? Для этого у меня проводник есть Mr. Green

P.S.Там, кстати, в подсказке одна буква отъедается в конце. Забыл в тот раз написать.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1293

Post (Separately) Posted: Tue Apr 30, 2024 21:01    Post subject: Reply with quote

Версия Tweaks от 30.04.2024

- изменены 0/1 для указания типа функции в SetHintParam, теперь можно использовать имена функций или аббревиатуры: ControlSetHint (csh) и ShowHint (sh).
- исправлено обрезание последнего символа в подсказках
- добавлена возможность трактовать текст как имя функции, возвращающей текст подсказки (использован переключатель /F для единообразия с ShowPopupMenu)
- переключатель для смены фокуса теперь /O вместо /F
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 202

Post (Separately) Posted: Tue Apr 30, 2024 23:49    Post subject: Reply with quote

Loopback
Спасибо! Попробуем, заценим...))

Добавлено спустя 21 минуту:

Ну вот теперь работает все чётко!
 P.S.

Еще раз спасибо! Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 133, 134, 135
Page 135 of 135

 
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