From db193a0c06cd836de923866d3725f93777f59c35 Mon Sep 17 00:00:00 2001 From: kostix Date: Tue, 7 Apr 2009 23:39:39 +0000 Subject: Improve per-chat state handling (fixes the 'focus before open_chat_post_hook' bug) git-svn-id: http://svn.xmpp.ru/repos/tkabber-3rd-party/branches/plugins-0.11.1/urgent@208 cc602e41-bd33-0410-9637-a208f32f1443 --- urgent.tcl | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/urgent.tcl b/urgent.tcl index 40c75c3..fb3de51 100644 --- a/urgent.tcl +++ b/urgent.tcl @@ -116,13 +116,17 @@ proc urgent::chat_xwinid {chatid} { xclientwinid $tkwin } +proc urgent::initialize {chatid type} { + variable state + set state(active,$chatid) false +} + proc urgent::record_xwinid {chatid _type} { variable state set state(xwinid,$chatid) [xwinid $chatid] - set state(active,$chatid) false } -proc urgent::forget_xwinid {chatid} { +proc urgent::cleanup {chatid} { variable state unset state(xwinid,$chatid) @@ -177,8 +181,9 @@ namespace eval urgent { } }] + hook::add open_chat_pre_hook [namespace current]::initialize hook::add open_chat_post_hook [namespace current]::record_xwinid 40 - hook::add close_chat_post_hook [namespace current]::forget_xwinid + hook::add close_chat_post_hook [namespace current]::cleanup hook::add draw_message_hook [namespace current]::chat_message_notify 19 hook::add got_focus_hook [namespace current]::clear_urgency_hint } -- cgit v1.2.3