当用户点击我的扩展程序上的按钮时如何插入文本?

时间:2014-10-07 12:04:34

标签: javascript gnome gnome-shell gnome-shell-extensions

我正在编写一个扩展名,在弹出窗口中显示两个项目(" Hello"" Goodbye")。

我想要做的是,当用户点击其中一个项目时,插入相应的文字。

例如:我在gedit上,我想插入" Hello"。所以我打开扩展程序,然后点击" Hello"它出现在gedit上。

这是当前的代码:

this._menucontent = null;

this._mymenu = new PopupMenu.PopupMenuItem(this._menucontent, { reactive: true });

item = new PopupMenu.PopupMenuItem(_("Hello"));
this.menu.addMenuItem(item);
item = new PopupMenu.PopupMenuItem(_("Goodbye"));
this.menu.addMenuItem(item);

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

首先,你需要连接到可点击菜单项的发射信号,在这种情况下是'激活'信号:

    item.connect('activate', _FunctionToCall);

然后在函数中,您需要调用某种“粘贴”操作来插入文本。 Gnome3扩展“Drop Down Terminal”有一个粘贴剪贴板文本的功能,所以看看它的代码会给你一个提示:

github/dropdownterminal terminal.js

正在使用gi.Gtk与终端窗口进行交互。