编码 GTK+没有窗口管理器的应用程序?
我想编码某事。基本上就像 TiVo 一样工作。打开它,您只能看到菜单或输出,因此用户无法直接看到底层操作系统或其他任何内容。
所以我想使用Linux作为基础。你能建议一个好的基础分布吗?
- 我可以在没有启动和运行窗口管理器的情况下编写前端代码吗?
- 如果是,您建议使用 java-gnome 或哪种语言/gui 框架组合可以实现这一点吗?
- 如果不是,那么可以处理精美菜单等的最小窗口管理器是什么?
- 在高清流上创建视频叠加需要什么?有一些我应该看的图书馆吗?
谢谢
I want to code sth. that basically works like TiVo. Switch it on, you only see the menu or an output, so no underlying OS or anything else is directly visible to the user.
So I want to use Linux as base. Can you suggest a good base distribution?
- Can I code a frontend without having a window-manager up and running?
- If yes, is that possible with java-gnome or what language/gui-framework combination would you suggest?
- If no, what's the minimal window manager that can handle fancy menus, etc?
- What does it take to create video-overlays over a HD-stream? Are there some libraries I should take a look at?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的。如果您只有一个窗口,则不需要窗口管理器。使用 X,您可以启动某些应用程序并从命令行设置其位置和大小(使其全屏显示)。如果这是您想要的,您可能想看看 xinit。这可能是让某些东西发挥作用的最简单的原因。但另一种选择是跳过 X 并使用 DirectFB。另一方面,如果您想显示多个窗口,则需要某种窗口管理器来管理它们。
只要你运行 X,使用 java-gnome 作为框架就没有问题,如果你愿意的话。我猜你并不是想运行普通的 gnome 应用程序,而是自己编写用户可见的所有内容。
这很大程度上取决于您对精美菜单的理解。如果您指的是透明度等,您需要一个复合管理器(如果您不只是在应用程序窗口中自己渲染所有内容)。我对此不确定,但我认为如果您认为合适,您可以运行独立于窗口管理器的复合管理器。同样,这是如果您运行 X。使用 DirectFB 透明度等可以以更简单的方式完成。
如果您打算编写自己的媒体播放器,您应该看看GStreamer。它可以流式传输、解码和显示视频,还可以添加视频叠加(除其他外),并且非常易于使用。
Yes. If you only have one window you don't need a window manager. Using X you can start some application and set it's position and size from the commandline (making it fullscreen). You might want to take a look at xinit if this is what you want. This is likely the easiest why to get something working. But another option is skip X and use DirectFB. If you want to display several windows, on the other hand, you need some sort of window manager to manage them.
As long as you run X there is no problem using java-gnome as framework if that's what you are confortable with. I guess you didn't mean to run the stock gnome applications, but code everything visible to the user yourself.
This very much depends on what you mean with fancy menus. If you mean transparancy and such you need a composite manager (if you don't just render everything yourself inside your application window). I'm not sure about this but I think you can run a composite manager independent from a window manager if you find that suitable. Again, this is if you run X. Using DirectFB transparency and such are done in a more simple way.
If you intend to write your own media player you should take a look at GStreamer. It can stream, decode and display video and also add video-overlays (among other things) and is extremly easy to use.
简约的平铺窗口管理方式类似于 Awesome、Ratpoison 或 XMonad 可能可以作为基础,否则你会必须自己管理焦点和窗口大小。通常很容易使这些对用户不可见。
Minimalistic tiling window manages like Awesome, Ratpoison or XMonad may be useful as a base, otherwise you'll have to manage focus and window sizing yourself. It is normally fairly easy to make these invisible to the user.