- def update_indicator(self, keymap):
- label = '⚫' if keymap.get_num_lock_state() else '⚪'
- label += self.locks['num'] + ' '
- label += '⚫' if keymap.get_caps_lock_state() else '⚪'
- label += self.locks['caps'] + ' '
- label += '⚫' if keymap.get_scroll_lock_state() else '⚪'
- label += self.locks['scr']
- self.indicator.set_label(label, '')
+ def update_indicator(self, keymap, order):
+ labels = []
+ for i in order:
+ if i == 'N':
+ state = keymap.get_num_lock_state()
+ elif i == 'C':
+ state = keymap.get_caps_lock_state()
+ elif i == 'S':
+ state = keymap.get_scroll_lock_state()
+ else:
+ raise ValueError('Invalid value in ORDER')
+ labels += [('⚫' if state else '⚪') + self.locks[i]]
+ self.indicator.set_label(' '.join(labels), '')