Ejemplo n.º 1
0
    def __init__(self, config):
        self._loading = False
        self.config = config
        self.quick_switcher = None
        self.set_snooze_widget = None
        self.workspaces = list(config['workspaces'].items())
        self.store = Store(self.workspaces, self.config)
        Store.instance = self.store
        urwid.set_encoding('UTF-8')
        sidebar = LoadingSideBar()
        chatbox = LoadingChatBox('Everything is terrible!')
        palette = themes.get(config['theme'], themes['default'])

        custom_loop = SclackEventLoop(loop=loop)
        custom_loop.set_exception_handler(self._exception_handler)

        if len(self.workspaces) <= 1:
            self.workspaces_line = None
        else:
            self.workspaces_line = Workspaces(self.workspaces)

        self.columns = urwid.Columns([
            ('fixed', config['sidebar']['width'], urwid.AttrWrap(sidebar, 'sidebar')),
            urwid.AttrWrap(chatbox, 'chatbox')
        ])
        self._body = urwid.Frame(self.columns, header=self.workspaces_line)

        self.urwid_loop = urwid.MainLoop(
            self._body,
            palette=palette,
            event_loop=custom_loop,
            unhandled_input=self.unhandled_input
        )
        self.configure_screen(self.urwid_loop.screen)
        self.last_keypress = (0, None)
Ejemplo n.º 2
0
Archivo: app.py Proyecto: tuandm/sclack
 def switch_to_workspace(self, workspace_number):
     self.sidebar = LoadingSideBar()
     self.chatbox = LoadingChatBox('And it becomes worse!')
     self._loading = True
     self.message_box = None
     self.store.switch_to_workspace(workspace_number)
     loop.create_task(self.animate_loading())
     loop.create_task(self.component_did_mount())
Ejemplo n.º 3
0
Archivo: app.py Proyecto: budnik/sclack
 def __init__(self, config):
     self.config = config
     self.store = Store(config['token'], self.config)
     Store.instance = self.store
     urwid.set_encoding('UTF-8')
     sidebar = LoadingSideBar()
     chatbox = LoadingChatBox('Everything is terrible!')
     palette = themes.get(config['theme'], themes['default'])
     self.columns = urwid.Columns([('fixed', config['sidebar']['width'],
                                    urwid.AttrWrap(sidebar, 'sidebar')),
                                   urwid.AttrWrap(chatbox, 'chatbox')])
     self.urwid_loop = urwid.MainLoop(
         urwid.Frame(self.columns),
         palette=palette,
         event_loop=urwid.AsyncioEventLoop(loop=loop),
         unhandled_input=self.unhandled_input)
     self.configure_screen(self.urwid_loop.screen)
Ejemplo n.º 4
0
 def __init__(self, config):
     self.config = config
     self.workspaces = list(config['workspaces'].items())
     self.store = Store(self.workspaces, self.config)
     Store.instance = self.store
     urwid.set_encoding('UTF-8')
     sidebar = LoadingSideBar()
     chatbox = LoadingChatBox('Everything is terrible!')
     palette = themes.get(config['theme'], themes['default'])
     if len(self.workspaces) <= 1:
         self.workspaces_line = None
     else:
         self.workspaces_line = Workspaces(self.workspaces)
     self.columns = urwid.Columns([('fixed', config['sidebar']['width'],
                                    urwid.AttrWrap(sidebar, 'sidebar')),
                                   urwid.AttrWrap(chatbox, 'chatbox')])
     self.urwid_loop = urwid.MainLoop(urwid.Frame(
         self.columns, header=self.workspaces_line),
                                      palette=palette,
                                      event_loop=SclackEventLoop(loop=loop),
                                      unhandled_input=self.unhandled_input)
     self.configure_screen(self.urwid_loop.screen)