const Gio = imports.gi.Gio; const GLib = imports.gi.GLib; const Lang = imports.lang; const St = imports.gi.St; const Shell = imports.gi.Shell; const Main = imports.ui.main; function OnScreenKeyboardButton() { this._init(); } OnScreenKeyboardButton.prototype = { _init: function() { label = GLib.markup_escape_text('Keyboard', -1); this.actor = new St.Button ({ label: label }); this.actor.connect("clicked", Lang.bind(this, this._toggleShowOnScreenKeyboard)); }, _toggleShowOnScreenKeyboard: function() { if (Main.keyboard && Main.keyboard._visible) { Main.keyboard.hide(); } else { Main.keyboard.show(); } }, }; let button; function init() { button = new OnScreenKeyboardButton(); } function enable() { let _children = Main.panel._centerBox.get_children(); Main.panel._centerBox.insert_actor(button.actor, _children.length - 1); Main.panel._centerBox.add(button.actor); } function disable() { Main.panel._centerBoxBox.remove_actor(button.actor); }