Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Clojure/Java为X.Org平台编写WM所需的技能和知识_Java_Clojure_Xorg_Window Managers - Fatal编程技术网

使用Clojure/Java为X.Org平台编写WM所需的技能和知识

使用Clojure/Java为X.Org平台编写WM所需的技能和知识,java,clojure,xorg,window-managers,Java,Clojure,Xorg,Window Managers,我是一个Arch Linux用户,因此我尝试了几乎所有可用的DEs和WMs,但没有一个真正让我满意。没有一个真正适合我 所以我决定写我自己的,因为我认为这是最明智的解决办法 看看我熟悉的语言,这真的只是Clojure,所以我决定用它来写。我想让它成为一个堆叠的WM,就像Openbox一样,但在UI上的方向却截然不同 为了实现这一目标,我需要知道什么?我实际上是Java的新手,但我很喜欢阅读Clojure并编写它。要制作一个用Clojure(即Java)编写的X.Org接口,我需要了解什么?计划与

我是一个Arch Linux用户,因此我尝试了几乎所有可用的DEs和WMs,但没有一个真正让我满意。没有一个真正适合我

所以我决定写我自己的,因为我认为这是最明智的解决办法

看看我熟悉的语言,这真的只是Clojure,所以我决定用它来写。我想让它成为一个堆叠的WM,就像Openbox一样,但在UI上的方向却截然不同

为了实现这一目标,我需要知道什么?我实际上是Java的新手,但我很喜欢阅读Clojure并编写它。要制作一个用Clojure(即Java)编写的X.Org接口,我需要了解什么?计划与XCB合作

我想特别了解如何与X.Org服务器通信,以便能够像其他服务器一样管理windows


用C/C++编写会更容易吗?如果与我想学习的内容相比,编写Clojure/Java版本仅仅是一个PITA。

我认为步骤及其先决条件如下所示:

1) 为XCB实现Jvm绑定
这需要弄清楚如何做或者做一些Java。它可能还涉及一些C编程,特别是如果您想要任何类型的跨发行版可移植性

2) 学习X11/XCB的设计和体系结构

3) 设计所需的UI以及它如何映射到基础架构


事实上,如果您以前没有做过JNI,没有写过WM,也没有使用过X11 API,那么您可能会在第一次尝试时重复执行所有这些步骤。

这看起来确实很麻烦。。。你建议我用C/C++写吗?因为这似乎是为Linux编写任何东西的默认语言……我不同意投票结束这项工作的人的看法:这是一个客观的问题(即使这是一个有多种选择的复杂问题)。我同意@mikera,一开始可能是基于观点的,但后来我修改了它,使它不太倾向于观点,更倾向于真正的答案。