Ruby和Ubuntu的Notify-OSD

Mik*_*one 5 ruby libnotify

我在Ruby GTK应用程序中使用ruby-libnotify,它可以很好地在Ubuntu中创建一个气泡弹出窗口.我在哈代,这一切都很棒.然后我让其他人在Jaunty上尝试应用程序,而不是像我预期的那样使用新的Notify-OSD系统的气泡弹出窗口,通知变成了一个对话框.

我调查了一下,发现Ubuntu wiki说问题是因为我设置了0的超时:

某些程序指定expire_timeout为0以生成永远不会自行关闭的通知,假设它们可以像在notification-daemon中一样手动关闭.由于这通常是针对需要响应或确认的消息进行的,因此Notify OSD将其显示为警告框而不是泡泡.

有没有办法我可以通过某种方式使用libnotify来获得具有"永不过期"超时的正常气泡?如果我可以使用旧的通知系统,我实际上更喜欢它,因为Notify-OSD似乎根本不支持永久性气泡.

为我设置对话框是不可接受的,因为它不会停留在所有窗口上,因此用户不会立即看到弹出窗口(这是使用气泡弹出窗口的全部要点).

wds*_*wds 0

有点侧面的答案,但也许如果通知 API 不能完全映射到您想要做的事情,您应该考虑使用更通用的库,该库允许您在屏幕上绘制气泡。我想到了xosd,虽然我记得它相当有限,但也许还有其他选择......