Ruby和Ubuntu的Notify-OSD

时间:2009-09-11 17:53:18

标签: ruby libnotify

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

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

  

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

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

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

3 个答案:

答案 0 :(得分:3)

看起来你只是想尝试使用Notify-OSD来实现它不适合的东西。 Notify-OSD气泡具有信息性和瞬态性,这意味着不应将任何重要信息放入其中,因为它们可以忽略

根据Ubuntu设计指南,看起来你正试图制作一个morphing alert box,它应该很适合你的需求。

答案 1 :(得分:0)

一个侧面答案的排序,但是如果通知API没有完全映射到你想要做的事情,你应该考虑使用一个更通用的库,它允许你绘制自己的屏幕上的气泡。 xosd浮现在脑海中,虽然我记得它非常有限,但也许还有其他选择......

答案 2 :(得分:0)

我记得使用一些命令行工具来显示通知。你可以用系统或``。

来调用它