Tkabber Wiki

Tkinactive
Login

Материал из Tkabber Wiki.

Как известно, подсистема AutoAway у Ткаббера в Windows вначале зависела от расширения тикля tclWinidle.

Начиная с версии 0.10.0 Ткаббер умеет пользоваться встроенным средством Tk — командой tk inactive, которая, однако, появилась только в Tcl/Tk 8.5.

Расширение tclWinidle, к сожалению, имеет некоторые поблемы: при некоторых обстоятельствах (которые не удаётся пока чётко отследить) оно начинает "врать" относительно периода неактивности пользователя. Выглядит это как внезапный самостоятельный переход Ткаббера в состояние "extended away", из которого его нельзя вывести никаким образом, кроме запрещения механизма AutoAway (установкой обоих периодов неактивности в 0 минут) или перезагрузкой. Ещё одна проблема с tclWinidle не видна пользователю и заключается в том, что это расширение использует для работы приём, известный как "DLL injection".

Эта страница посвящена "внедрению в Ткаббер" нового (для него) расширения Tk: tkinactive. Данное расширение интересно тем, что представляет собой код, реализующий упомянутую команду Tk 8.5 tk inactive, только в виде самостоятельного пакета, который может работть с Tcl/Tk 8.4 (а возможно и 8.3). Использование tkinactive вместо tclWinidle призвано решить указанные выше проблемы.

Единственная новая "проблема", известная у tkinactive, состоит в том, что это расширение не работает под Win9x, однако поскольку ОС этого класса не поддерживаются даже фирмой, их создавших, это ограничение не выглядит существенным.

Kostix портировал tkinactive под современное состояние TEA, чтобы пакет нормально собирался как под Unix, так и под Win32, а teo выложил виндовую сборку на своём сайте. Параллельно с этим код подсистемы AuwoAway Ткаббера был изменён так, чтобы грузить пакет tkinactive вместо tclWinidle, если он доступен.

Таким образом, открыто тестирование комбинации этого расширения с Ткаббером под Windows. Широкие массы убедительно призываются к тестированию.

Что потребуется:

  1. Ткаббер из репозитория, не старее ревизии 1125;
  2. Виндовая сборка расширения tkinactive.

Распакуйте каталог с расширением в каталог с остальными расширениями тикля (обычно это C:\Tcl\lib), обновите Ткаббер из репозитория и перезапустите его.

Обо всех глюках докладывайте в комнате xmpp:tkabber@conference.jabber.ru, на багтеркре Ткаббера или сообщайте напрямую kostix.

Да, о стабильной работе тоже сообщайте. Только не в багзиллу :)