def init(self):
        self.all_category = {}
        self.switchcategory = {}

        self.sw = Gtk.ScrolledWindow()
        self.maincontainer = Gtk.VBox()
        self.grid = Gtk.Grid()
        self.stack = Gtk.Stack()
        self.stack.set_hexpand(True)
        self.stack.set_vexpand(True)
        self.listbox_ = Gtk.ListBox()

        self.grid.attach(self.listbox_, 0, 0, 1, 1)
        self.grid.attach(self.stack, 1, 0, 1, 1)
        self.maincontainer.add(self.grid)
        self.sw.add(self.maincontainer)
        self.add(self.sw)

        self.loading_all_plugins()

        self.listbox_.connect("row-activated", self.on_activated_row)
        try:
            gi.require_version('Vte', '2.91')
            from gi.repository import Vte
            tscrolledwindow = Gtk.ScrolledWindow()
            self.terminal = Vte.Terminal()

            #self.terminal.set_color_background(Gdk.RGBA(red=0.180392, green=0.203922, blue=0.211765, alpha=1.000000))
            self.terminal.set_color_foreground(
                Gdk.RGBA(red=0.988235,
                         green=0.913725,
                         blue=0.309804,
                         alpha=1.000000))
            vadjustment = self.terminal.get_vadjustment()
            tscrolledwindow.set_vadjustment(vadjustment)
            _pty = Vte.Pty.new_sync(Vte.PtyFlags(0), None)
            _pty.child_setup()
            self.terminal.set_pty(_pty)

            self.terminal.connect("button-release-event", self.on_button_event)

            self.menu = Gtk.Menu()
            self.menu.set_screen(Gdk.Screen().get_default())

            self.copytextmenuitem = Gtk.MenuItem.new_with_label("Copy")
            cursorcolormenuitem = Gtk.MenuItem.new_with_label("Cursor Color")
            backgroundmenuitem = Gtk.MenuItem.new_with_label("Backgound Color")
            foregroundmenuitem = Gtk.MenuItem.new_with_label(
                "Foreground Color")

            self.copytextmenuitem.connect("activate", self.copy_text)
            cursorcolormenuitem.connect("activate",
                                        self.on_cursor_menuitem_activated)
            backgroundmenuitem.connect("activate",
                                       self.on_background_menuitem_activated)
            foregroundmenuitem.connect("activate",
                                       self.on_foreground_menuitem_activated)

            self.menu.append(self.copytextmenuitem)
            self.menu.append(cursorcolormenuitem)
            self.menu.append(backgroundmenuitem)
            self.menu.append(foregroundmenuitem)

            self.vte_format = Vte.Format(1)
            tscrolledwindow.add(self.terminal)
            self.maincontainer.pack_end(tscrolledwindow, True, True, 0)
        except Exception as e:
            print(e)
        self.show_all()