def init(self):
        self.button = Gtk.Button()
        self.button.connect("button-press-event", self._on_button_press)
        self.button.connect("button-release-event", self._on_button_release)
        self.label = Gtk.Label()
        self.label.set_ellipsize(Pango.EllipsizeMode.END)
        self.applet.add(self.button)
        self.button.add(self.label)
        self.entry = WSNameEntry(self)
        self.entry.connect("button-press-event", self._on_entry_button_press)
        try:
            self.settings = Gio.Settings.new("com.puzzleapper.wsname-applet-py")
            self.set_width(self.settings.get_int("width"))
            self.settings.connect("changed::width", self.on_width_changed)
        except:
            self.set_width(100)
        self.screen = Wnck.Screen.get_default()
        self.workspace = really_get_active_workspace(self.screen)
        self.screen.connect("active_workspace_changed", self._on_workspace_changed)
        self.button.set_tooltip_text(_("Click to change the name of the current workspace"))
        self._name_change_handler_id = None
        self.prefs = WSNamePrefs(self)
        self.show_workspace_name()
        self.applet.show_all()
        return True