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 

Single Post  Topic: Autorun 
Author Message
Orion9



PostPosted: Fri Jan 16, 2026 20:46    Post subject: Reply with quote

FallenAngel
Я там фигню сморозил. Вместо:
Code:
txt &= "Файл от " & Date('', gWttrFile) & ' ' & Time('', gWttrFile) & " "
txt &= gWttrFile & auCRLF
txt &= "Файл от " & Date('', file) & ' ' & Time('', file) & " "
txt &= file & auCRLF

Должно быть:
Code:
txt &= "Временные файлы:" & auCRLF
txt &= "Файл от " & Date('', FileGetTime(gWttrFile)) & ' ' & Time('', FileGetTime(gWttrFile)) & " "
txt &= gWttrFile & auCRLF
txt &= "Файл от " & Date('', FileGetTime(file)) & ' ' & Time('', FileGetTime(file)) & " "
txt &= file & auCRLF

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

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

Сейчас лучше видно, что происходит в фоне. Информация в заголовке обновляется хоть и медленно, но стабильно (все-таки файл очень маленький приходит от сервера). А вот с Wttr.html могут быть проблемы. Мало того, что он скачивается медленно, так еще и не докачивается иногда, хотя у него размер всего 25-30 Кб. В общем, добавил некоторых проверок. Сейчас недокаченный файл будет отображаться в подсказке примерно так:
 Hidden text

Это лучше, чем сообщение, что файл не содержит данных.

Еще изменил имена у некоторых функций для лучшей унификации имён в модуле.

Что касается Листера, если задача стоит добиться, чтобы его окно при открытии имело тот же размер и положение, что и окно тотала, то можно привязать функцию к сообщению об изменении позиции окна ТС, в модуле это выглядит так:
Code:
Func InfoHeaderSet()
    WinSetText(gShowTitle ? gInfoHeader : gTitle)
    SyncListerPosition()
EndFunc

Func SyncListerPosition()
    Static c = 0
    If IniRead("~/R", COMMANDER_INI, "Lister", "Maximized", 0) = 0 Then
        WinGetPos("x", "y", "w", "h")
        IniWrite("~/R", COMMANDER_INI, "Lister", "x", x)
        IniWrite("~/R", COMMANDER_INI, "Lister", "y", y)
        IniWrite("~/R", COMMANDER_INI, "Lister", "dx", w)
        IniWrite("~/R", COMMANDER_INI, "Lister", "dy", h)
        c += 4
        #ShowHint("Запись ключей: " & c, SYSINFO_DESKTOPWIDTH/2-50, SYSINFO_DESKTOPHEIGHT/2, 1000, 1)
    EndIf
EndFunc

Раскомментируйте ShowHint, чтобы увидеть количество записей в ini-файл, если интересно. Если фича не нужна, просто закомментируйте или уберите SyncListerPosition() из функции InfoHeaderSet().

Теоретически функции SyncListerPosition можно присвоить код через RegisterCommand, например 60050, а далее сделать em_команду с указанным кодом (об этом было 2-3 страницы назад). Полученную em_команду можно использовать в свзяке с командами cm_List*, чтобы перед запуском листера записывались параметры его окна в файл конфигурации.

Shift+клик, как вы хотите, самый сложный вариант. Нужно перехватывать клик, смотреть под каким окном находится указатель мыши, проверять клиентская ли это часть окна или не клиентская, и только потом запускать действие. Тут без Loopback, наверное, не обойтись.

Последний модуль:
 Hidden text

P.s.
Обещал пересмотреть другие модули после праздников, но пока не получается. Теперь только в феврале, наверное, попробую еще раз взяться.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group