def __init__(self):
"""Initialize the indicator.
"""
# initialize gobject
GObject.GObject.__init__(self)
GObject.type_register(AnyPingIndicator)
GObject.threads_init()
# initialize mutex
self.mutex = threading.Lock()
# icon counter to get different icon names
self.icon_count = 0
# list of icon tuples
self.list_of_icon_tuple = []
# get ping objects from config
self.ping_objects_tuple = config.ping_object_tuples
self.ping_objects = []
count = 0
for item in self.ping_objects_tuple:
self.ping_objects.append(PingObject(count,
item.name,
item.address,
item.update_rate,
item.number_of_pings,
item.show_indicator,
item.show_text,
item.is_activated))
self.ping_objects[count].set_ping_warning(config.ping_warning)
count += 1
# update list of icon tuples
self.update_list_of_icon_tuples()
# init windows variables
self.preferences_window = None
self.about_dialog = None
# check autostart
self.check_autostart()
# initialize notification
notify.init(APPINDICATOR_ID)
# initialize and build indicator menu
self.menu = gtk.Menu()
self.build_menu()
# initialize indicator
self.indicator = appindicator.Indicator.new(APPINDICATOR_ID,
resource.image_path("icon_red", theme.THEME),
appindicator.IndicatorCategory.SYSTEM_SERVICES)
self.indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
self.indicator.set_menu(self.menu)
# update indicator icon
self.update_indicator_icon()
# start ping objects
self.start_ping_objects()
评论列表
文章目录