refactor trayicon