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 ... 215, 216, 217
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Orion9



Joined: 01 Jan 2024
Posts: 979

Post (Separately) Posted: Sun Jan 04, 2026 14:10    Post subject: Reply with quote

FallenAngel
На комментарии просто времени не хватило, хотел сделать рабочий вариант, чтобы вы могли попробовать, и вроде даже успел )

А сам функционал был уже в модуле Title.aucfg, мне просто пришлось освежить немного память и взять кое-что оттуда. Там, конечно, всё сильно нагромождено переменными и раздутым телом цикла, но сам принцип тот же. Запуск заголовка происходит после считывания ключа ShowTitle, а выход из цикла при присвоении переменной gShowTitle значения false.

Есть менее громоздкая версия, состоящая всего из 200 строк. По сути это первая версия заголовка, где алгоритм предается более наглядно, и в нем нет ничего лишнего: только пинг, память и процессор. Если к этому добавить короткую дату и скорость передачи трафика, то и получится заголовок, которым я постоянно пользуюсь.

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

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

На счет погоды. Может быть, город и не потребуется. Я сначала думал, что нет возможности указать координаты, но сейчас более внимательно посмотрел, оказыается есть в справке об этом. Соответственно, можно указывать в запросе нужные координаты, например:
https://wttr.in/55.75,37.62?format=3
Что эквивалентно:
https://wttr.in/Moscow?format=3
И наверное, так будет лучше, чем просто указание города или автоматическое определение местоположения по IP.

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

Интервал обновления тоже будет сохраняться. В общем, завтра попробую что-то сделать. Может с первого наскока чего и получится )

ZiabrevLV
У вас всё почти есть. Нужно только считать ключ DriveBarHide для определения текущего состояния, и в зависимости от его значения, выполнить ту или иную функцию. То есть:
Code:
Local sDriveBarHide
IniRead sDriveBarHide %COMMANDER_INI% "Configuration" "DriveBarHide" ""
If StrPos(sDriveBarHide, "-") Then
   IniWrite %COMMANDER_INI% "Configuration" "DriveBarHide" ""   
Else
   IniWrite %COMMANDER_INI% "Configuration" "DriveBarHide" "-"
EndIf
CommandExec cm_VisTwoDriveButtons 2
CommandExec cm_VisTwoDriveButtons 1

Только я не проверял работоспособность, но кажется здесь нужно быть осторожным, т.к. ключ DriveBarHide может содержать подстроки, а значит их тоже нужно будет сохранять.

 Hidden text

Т.е. возможно так будет правильнее:
Code:
RegisterCommand 63003 "SwitchShowHide"

Func SwitchShowHide(lParam)
    Local sDriveBarHide, sValue
    IniRead sDriveBarHide %COMMANDER_INI% "Configuration" "DriveBarHide" ""
    If StrPos(sDriveBarHide, "-") Then
       # удаление "-" из значения ключа
       sValue = StrReplace(sDriveBarHide, "-", "")
       IniWrite %COMMANDER_INI% "Configuration" "DriveBarHide" sValue
    Else
       # добавление "-" к значению ключа
       sValue = sDriveBarHide & "-"
       IniWrite %COMMANDER_INI% "Configuration" "DriveBarHide" sValue
    EndIf
    CommandExec cm_VisTwoDriveButtons 2
    CommandExec cm_VisTwoDriveButtons 1
EndFunc
Back to top
View user's profile Send private message
ZiabrevLV



Joined: 15 Sep 2022
Posts: 4

Post (Separately) Posted: Sun Jan 04, 2026 17:35    Post subject: Reply with quote

Orion9
Да, первый вариант отлично работает.
Спасибо.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 979

Post (Separately) Posted: Tue Jan 06, 2026 00:38    Post subject: Reply with quote

FallenAngel
Мда. Как всегда легко и просто только на бумаге, а берешься делать сразу вслывает куча нюансов. С одними проверками загребешься: тут надо учесть, там надо учесть. Но все-таки доделал, раз уж взялся, тем более что кому-то тоже может пригодится.

Небольшой подвох с сервером: он очень плохо откликается, иногда погода вообще может не обновиться по таймауту. Пришлось немного по-другому сделать отображение процесса обновления, что по сути и отняло больше всего времени.

При наведении на заголовок всплывает посказка. Alt - добавляет информацию о файлах. Ctrl - отображает подсказку о погоде и прогнозе из дополнительно указанной ссылки. Правый клик вызывает меню.

Настройки должны храниться в файле Header.ini в подкаталоге Ini. Т.е. %COMMANDER_INI%\Ini\Header.ini

 Hidden text

Поскольку все эти "города, координаты и прочее" довольно приватная вещь, есть возможность сохранить информацию в дополнительном файле пользователя Wttr.ini, который расположен по умолчанию в LocalAppData\GHISLER\Wttr.ini.

Соответственно, если файл пользователя существует, настройки прежде всего будут считываться с него, кроме двух ключей секции [Title], т.е. ShowTitle и Wttr. Последний отключает погоду в заголоке при Wttr=0

 Пример Wttr.ini


Строку запроса можно настроить по-разному, все зависит от ключей сайта wttr.in.

Ошибки, конечно, могут быть: все сделать и протестировать за один день невозможно. Но радует, что кроме самого Autorun с последним модулем RegExp, для работы больше ничего не требуется.

 InfoHeader.aucfg

Нужны только еще две дополнительные функции, которые можно найти 1-2 страницы назад, но я лучше их еще раз приложу.

 Hidden text

P.S.
Заголовок мне понравился, очень понравился. Даже завидую тем, кто первый раз его подключит )
Back to top
View user's profile Send private message
FallenAngel



Joined: 30 Dec 2025
Posts: 7

Post (Separately) Posted: Wed Jan 07, 2026 11:59    Post subject: Reply with quote

Orion9
Работает. Но я не разобрался как менять город.

Я думал, что достаточно в Wttr.ini (или Header.ini при отсутствии) указать свой город в Name=
...но ничего не поменялось.

Так же, Name должен отображаться и в заголовке. Вообще по выбору города - нужно упростить, сделать более юзер френдли. К примеру, в ПКМ меню добавить простую форму ввода города.


UPD. Поигрался с Url - но тоже безрезультатно.

Вообще в InfoHeader.aucfg сильно не хватает "шапки". Нужно написать версия, автор и т.д.
"Данный файл нужно подключать к плагину Autorun.wdx след. способом...
Настройка:
п1.
п2.
п3.
...

Обратная связь: ссылка на форум, почту, гитхаб
"
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 979

Post (Separately) Posted: Thu Jan 08, 2026 00:31    Post subject: Reply with quote

FallenAngel wrote:
Работает.

Это главное.

А подсказка с прогнозом на три дня у вас тоже работает? Cервер хорошо откликается?
FallenAngel wrote:
Но я не разобрался как менять город.

В принципе город и координаты можно не указывать. Сервис попытается установить местоположение по ip, если в запросе не будет этих данных, например:
https://wttr.in/?T
https://wttr.in/?format=%l:+%C+%t

Первую ссылку можно добавить в "Hint" в качестве подсказки, а вторую использовать для однострочного вывода в заголовок.

Предполагается, что пользователь сам создаст и сохранит ссылку, которая ему нужна (температура, давление, влажность, ветер и т.д.) в Header.ini или Wttr.ini. Ключ "Name" нужен для вывода произвольного текста в заголовок, к примеру, если вы хотите вывести в заголовок не имя города, а что-то другое, типа "Погода:". Если ключ пуст, дополнительный текст не появится.
FallenAngel wrote:
Вообще по выбору города - нужно упростить, сделать более юзер френдли. К примеру, в ПКМ меню добавить простую форму ввода города.

Это не реалистично сделать на Autorun. Даже при помощи специального объекта, упрощающего работу с GUI (если таковой бы имелся) и наличия базы данных городов (если таковая имелась бы), пришлось бы изрядно отвлечься на работу с этой базой, что далеко выходило бы за рамки простого скрипта. Да и зачем оно? Ведь город можно явно указать в запросе, или использовать более точные координаты для определения местоположения.
FallenAngel wrote:
Вообще в InfoHeader.aucfg сильно не хватает "шапки"

Если скрипт пройдет проверку временем, можно будет над этим подумать. Да, нужно добавить туда хотя бы версию Autorun, которая требуется для его работы, с этим я согласен.
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 ... 215, 216, 217
Page 217 of 217

 
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