Unity 中的“简单” gnome 小程序 - stickynotes

Unity 中的“简单” gnome 小程序 - stickynotes

我想这是一个相关的问题我可以在 Unity 中使用 GNOME 小程序吗?(由@的建议移动豪尔赫·卡斯特罗

我想stickynotes_applet在 Unity 中使用它。现在在 Gnome 中,这个小程序被添加到一个栏中,然后我必须单击它来创建一个新的注释,并且我可以调用首选项让注释粘贴在桌面上 - 这就是我所需要的。

显然,正如这里提到的,不可能在 Unity 中直接使用这个小程序;但基本上,我需要做的就是打开“首选项”窗口(以便使注释保留下来),并以某种方式发出新注释的命令(否则可以通过单击 Gnome 栏中的小程序图标来执行)。

我尝试运行“ /usr/lib/gnome-applets/stickynotes_applet”,并且似乎它运行了,但是没有显示小程序图标(这是预料之中的),也没有显示任何其他窗口(我希望会显示:))。

所以我很好奇——鉴于这个小程序似乎没有任何与桌面相关的特殊功能——是否有命令行基本上运行此小程序的方法,向其发出“显示首选项”命令,并在 Unity 环境中向其发出新注释命令(目前我可以tomboy从命令行调用并且它可以工作 - 但它的窗口对我来说太笨重了)?

(附加问题 - 如何仅从经典 Gnome 中的命令行启动小程序相关窗口?)

桌面集成对我来说并不那么重要 - 我很乐意从命令行手动运行它,只要我得到保留在桌面上的小而紧凑的笔记(只要该过程处于活动状态)..

谢谢您的任何评论,
干杯!

答案1

你可以用一个小的 gnome-panel 来运行你的小程序。参见如何在 Unity 中使用 GNOME 面板?

答案2

我又回到了这个问题(仍然在 Natty 上);所以我想发布我的结果。

首先,我开始查找是否可以从命令行和在单独的窗口中运行 Gnome 小程序 - 事实证明,这是一种调试 Python 小程序的技术;

投资小程序统一独立

这是脚本:

import sys
import gtk
import pygtk
pygtk.require('2.0')
# sudo apt-get install python-gnomeapplet
import gnomeapplet
import CORBA # must have import gnomeapplet before!
import bonobo
import bonobo.ui
import bonobo.activation

bcontrol = bonobo.activation.activate_from_id('OAFIID:Invest_Applet', 0, False)
win = bonobo.ui.Window("foo", "FOOOOO")
buiwid = bonobo.ui.widget_new_control_from_objref(bcontrol, win.get_ui_container().corba_objref())
win.set_contents(buiwid)
win.show_all()
win.connect("destroy", lambda x: sys.exit(0))
bonobo.ui.main()

... 扩展脚本(带有调试输出和大量混乱的注释)位于gtk_bonobo_applet_widget.py


这是确切地我想要的,起初,我认为它适用于所有小程序 - 至少在 Natty 中(以及它们之中stickynotes);但可惜的是,

现在,Natty 有点特殊,因为它是最后一个 Gnome 2 Ubuntu - 但是,它也具有(第一个)Unity。例如:

  • 一些小程序基于(或公开)bonobo/CORBA接口(在 Python 中,通过gnomeapplet);那些像invest-applet或 这样的小程序brightness-applet可以使用上述技术在自己的窗口中显示 - 并且可以通过libbonobo2-bin工具进行查询(如activation-client
  • 其他小程序,例如stickynotes,已迁移至 GSettings/DBUS 基础(接口)

事实上,在 Natty 发布前不久,stickynotes从 迁移bonobodbus移植到新的 libpanel-applet API);通过将宏替换PANEL_APPLET_BONOBO_FACTORY为 ,这一点显而易见。可以说,如果一个人根据PANEL_APPLET_OUT_PROCESS_FACTORY检出最新的修订版并构建它 - 一个人也应该能够使用上述技术在单独的窗口中实例化小程序,并从那里运行它,即使没有。stickynotesbonobognome-panel

否则我会相信,全部小程序(或者说小程序开发框架)应该具有在单独的窗口中运行的能力 - 如果不是出于其他原因,那么是为了在开发过程中方便调试小程序。并且考虑到一些小程序具有在单独的窗口中运行的命令行开关(上面的“初学者指南”和 都invest-applet具有此类开关) - 我希望也许stickynotes也有这样的命令行参数;但是,我确实通过了它的源文件 - 可惜,我找不到任何关于命令行选项的提及。

但后来,我想知道 - 为什么要进行迁移?嗯,这是因为bonobo它(或者更确切地说,已经)被弃用了一段时间:

AppletsDbusMigration - GNOME Live!:(2009年)

Gnome Panel 最近放弃了 libbonobo 依赖(参见错误 #572131)。

gnome-devel-list 邮件列表 - 什么将取代 bonobo?(2009年)

Dbus 并不是 bonobo 的直接替代品。没有确切的 bonobo 替代品。...
但是
,bonobo 的主要用例,即在一个应用程序中嵌入另一个应用程序(例如 gnumeric 中的扫雷程序,或者(稍微有用一点的)gnumeric 中的 dia 图),并没有得到广泛使用。

gnome-components 邮件列表‘回复:什么将取代 bonobo?’(2005 年)

> 关于 DBUS,很难说它有一天会成为替代品。
> 第一个问题是它不是组件系统,只是消息传递 API。
相信我,肯定有计划实现某种 IDL 编译器,以在 D-BUS 消息之上模仿 CORBA 样式的 RPC。这迟早会发生。

好吧,我自己认为,“将一个应用程序嵌入另一个应用程序”在这种情况下非常有用 - 在 Unity 中运行(至少一些)小程序,并删除对它们的支持:)当然,这是 Natty 中桌面包的“幸运”安排,允许这样做(假设它仍然是 Gnome 2 并且仍然有库bonobo) - 显然,基于 Gnome 3 的后续版本已被bonobo完全删除 - 并且上述 Python 脚本在窗口中实例化技术肯定不会在那里工作:/

最后一个问题是——我们是否可以类似地使用 Python 脚本,但带有绑定dbus,来实现与上述bonobo脚本类似的功能?

我最接近的是用脚本gtk_dbus_applet_widget.py但是,该脚本不会在窗口中显示小程序 - 甚至无法将小程序添加到栏中!它唯一能做的就是通过与小程序“工厂”对话dbus,并指示它创建一个小程序;但这个小程序仍然只是文件系统上某个位置的数据(并且它持续跨越重启!),并且从未被实例化为 Gnome 小部件...并且鉴于上述评论,我怀疑目前(至少在 Natty 上)是否可能发生这样的事情dbus

总之 - 我想这一点,以及gnome-panel技术,穷尽了在 Natty 中轻率地运行 Unity 下的小程序的可能性。

答案3

犀牛有键盘快捷键

答案4

对于那些仍在寻找类似、方便且支持注释类别功能的人来说,有指示便签。

安装:

sudo add-apt-repository ppa:umang/indicator-stickynotes

sudo apt-get update

sudo apt-get install indicator-stickynotes

希望它能有所帮助...享受吧!

相关内容