2013-12-15 56 views
1

我是Arch Linux用戶,因此我嘗試了幾乎所有可用的DE和WM,但沒有一個能真正滿足我。沒有真正點擊我。在Clojure/Java編寫X.Org平臺的WM所需的技能和知識

所以我決定寫我自己的,因爲我認爲這是最明智的解決方案。

看着我所熟悉的語言,它實際上只有Clojure,所以我決定寫下它。我想使它成爲一個堆疊式WM,就像Openbox一樣,但是對於UI來說,它的方向卻截然不同。

爲了達到這個目的我需要知道些什麼?我幾乎是Java的新手,但我很喜歡閱讀Clojure並編寫它。爲了能夠製作用Clojure(即Java)編寫的X.Org界面,我需要了解什麼?計劃與XCB合作。

我想知道具體如何與X.Org服務器通信,以便能夠像任何其他堆棧WM一樣管理窗口。

只用C/C++編寫它會更容易嗎?如果編寫一個Clojure/Java版本將只是一個PITA,而我認爲我願意學習。

+2

我不同意誰投票結束這個問題:這是一個客觀的問題(即使這是一個複雜的問題)。 – mikera

+0

我同意@mikera,一開始可能是基於意見的,但我從那時起就以較少意見的方式修改它,並且更傾向於真正的答案。 – greduan

回答

2

我認爲步驟及其先決條件將是這個樣子:

1)實現的JVM XCB
這需要結合兩種搞清楚怎麼辦JNI from clojure或做一些Java。它可能還涉及一些C編程,特別是如果您想要任何類型的跨發行版可移植性。

2)學習設計和X11的架構/ XCB

3)設計你想要的用戶界面,以及它如何映射到基礎設施

實際上,如果你還沒有做JNI,沒有寫一個WM,而且之前沒有使用X11 API,您可能會在第一次嘗試中重複執行所有這些步驟。

+0

這當然看起來像很多麻煩......你建議我只是寫在C/C++?由於這似乎是爲Linux編寫任何東西的默認語言...... – greduan