我长期以来一直致力于开发适合我的需求和兴趣的操作系统UI。当我年轻的时候,我疯狂地玩Windows的Stardock皮肤工具。我喜欢开发自己的窗口样式和布局思路。从那以后,我有一个不易察觉的痒。
我在寻找:
我对Linux / OS风格可能有意义,哪些工具/框架对完成任务有用(Qt似乎是一个受欢迎的建议)以及关于如何/在何处开始开发的基本信息感兴趣/测试这样的UI。我也有兴趣阅读人们可能已经开发的任何“个人”用户界面。
这远远超出了我的正常开发工作,所以作为免责声明,如果我看起来很困惑,请原谅我的天真。欢迎纠正见解。
我意识到这是一个很大的问题,所以感谢那些花时间提出建议的人。
答案 0 :(得分:46)
您想构建自己的DE(桌面环境)。常见的例子是GNOME和KDE,尽管它们中更受欢迎。它实际上曾经非常流行来构建自己的DE,并且经常创建专用的脚本工具。
您通常需要组合多个工具:窗口管理器,工具栏程序,桌面管理器(图标),会话管理器,甚至更多。除此之外,只有一个窗口管理器是必需的部分(通常没有任何意义,不在X服务器内运行任何WM),其他是可选的。您通常不会从头开始编写这些工具(这是很多工作),但使用已有的组件。
请注意,GNOME和KDE实际上都包含这些元素(很好地集成)。例如,GNOME由窗口管理器(metacity
),工具栏(gnome-panel
),桌面管理器(nautilus
)等组成。如果需要,您可以将一个元素更改为另一个元素:过去常常使用sawfish
作为窗口管理器而不是metacity
,保持所有其他元素不变。现在,使用compiz
代替metacity
非常受欢迎。
我曾经使用FVWM,这是一个窗口管理器,具有额外的(非常好的)脚本功能,可用于创建工具栏,菜单和其他东西。其中一个很好的例子是FVWM-Crystal,这是一个基于FVWM构建的完整DE和很少的其他工具,用FVWM脚本和Python混合编写。实际上,只需打开FVWM的脚本控制台并输入命令,就可以在运行时更改任何类型的行为。如果你想从已经可用的东西开始,FVWM-Crystal可以是一个很好的起点;如果你想从头开始构建你的DE,那么裸FVWM是好的。
[更新:似乎gnome-shell在这方面与FVWM
非常相似。它的大部分行为都是使用JavaScript编写的(而不是FVWM中的自定义语言),并且很容易更改。它也是非常积极的开发,因为它是GNOME3的重要组成部分,对组合有很好的支持。这是一个黑客的天堂; - )]
[更新2:所以看来我在gnome-shell上是对的。有Cinnamon,它使用与mutter
相同的框架(gnome-shell
窗口管理器),但构建的桌面工作方式与gnome-shell
不同。]
有一个网站是实施的好主意:lynucs.org。现在已经停了两年了,但它得到了archived。
警告:许多这些组件不再维护,特别是因为GNOME / KDE开始变得实际可用。此领域的开发通常更多地受嵌入式设备的特定要求驱动:phones或netbooks。
现在,回答你的实际问题:
compiz
的插件。答案 1 :(得分:3)
我可能会从Ubuntu安装和OpenBox窗口管理器开始,然后从那里开始构建。
OpenBox 非常最小,但您可以添加应用程序(例如Docky,Awn等)来提供桌面界面元素或自己编写。
答案 2 :(得分:1)
如果您使用快速和酷炫的UI,我建议您查看Enlightenment。它比Gnome和我更老,发现它极其快速且资源消耗低。
答案 3 :(得分:0)
你试过Tcl / Tk吗? Tcl是一种脚本语言。 Tk是该语言的GUI部分。您的应用程序将使用 AndroWish 在Android上运行。
如此简单,如此之快。
仅在一小时内,我就可以用日历制作议程。