Курсор, перемещающийся по ростеру, обладает некоторыми удобными свойствами:
курсор “приклеен” к контакту, на котором он расположен, независимо от того, появляются ли в ростере новые контакты, меняется ли порядок контактов в списке от переходов в онлайн/оффлайн.
если пользователь нажимает на клавиши, перемещающие курсор, курсор “отлипает” от контакта, и перемещается по воле пользователя.
кнопка “0” заставляет курсор “отклеиться” и найти контакт с непрочитанными сообщениями.
как только пользователь оставил курсор в покое, примерно через 2 секунды курсор прилипнет к контакту, на котором он расположен.
приход нового сообщения - если курсор был в “прилипшем” состоянии, то курсор “переклеивается” на контакт, содержащий это новое сообщение. если курсор был в “отклеенном” состоянии, курсор не будет перемещаться на контакт с пришедшим сообщением.