# -*- coding: utf-8 -*- from gi.repository import Pango from gi.repository import Gtk from gi.repository import Gdk from gi.repository import GLib from gajim.common import app, ged, helpers from gajim.plugins import GajimPlugin from gajim.plugins.gui import GajimPluginConfigDialog from gajim.dialogs import ChangeActivityDialog, ChangeMoodDialog from gajim import gtkgui_helpers class RosterTweaksPlugin(GajimPlugin): def init(self): self.description = _( 'Allows user to tweak roster window appearance ' '(eg. make it compact).') self.config_default_values = {'hide_status_combo': (False, ''), 'use_ctr_m': (False, ''), 'menu_visible': (True, ''), 'quick_status': (False, ''), 'contact_status_subs': (False, ''), } self.events_handlers = {'our-show': (ged.GUI2, self.our_show), 'pep-received': (ged.GUI2, self.pep_received)} self.gui_extension_points = { 'roster_draw_contact': (self.roster_draw_contact, self.disconnect_roster_draw_contact), } self.roster = app.interface.roster self.config_dialog = RosterTweaksPluginConfigDialog(self) def roster_draw_contact(self, roster, jid, account, contact): self.connected = True if not self.active: return if not self.config['contact_status_subs']: return child_iters = roster._get_contact_iter( jid, account, contact, roster.model) if not child_iters: return name = roster.model[child_iters[0]][1] if '\n