2011-01-11 21 views
1

我最近知道一個乳膠編輯器「gummi」,請參閱http://gummi.midnightcoding.org/ ,它由GTK +圖形界面工具包編寫。有兩個面板,一個在左邊是一個編輯器(使用庫gtksourceview),右邊是一個查看器(使用庫poppler)。我很好奇,如果我們能爲每個程序做相似的事情。 例如,用「terminal」,「emacs」,「vim」,「終止符(多窗口終端)」等代替編輯器。並將其替換爲其他觀看者,這在我看來是Adobe Reader。 與作者討論時,他提到:GTK +與任何程序

查看器組件也是可替換的,但用Adobe Reader來做並不容易,甚至不可能。這樣做的原因是已安裝Adobe Reader是一個完整的程序,而不是圖書館,而且封閉源代碼

所以我有一些問題:

a)我們只能讓「庫」嵌入作爲面板,但是我們無法爲(任何)程序執行此操作?

b)我們可以用emacs替換編輯器嗎?終端?

c)我們可以用Adobe Reader替換瀏覽器嗎?如果不是,爲什麼?因爲它是一個程序或它是封閉的源代碼?

我知道這個帖子中的問題不是很精確,對不起。

回答

0

a)如果任何程序具有足夠的API來執行此操作,則可以對其執行此操作,但這種情況非常少見。他們自己的庫提供超出工具包的功能(這裏:gtk +)的功能。所以最後你必須替換另一個類(在源代碼中)使用另一個庫(或提供跨進程功能)的類。

B)終端:是(請Anjuta的),爲Emacs,可能是肯定的,但是從我用emacs的有關知識有限的觀點我會說這是一個很大的工作來實現這一

C)它既沒有足夠的跨進程API,也沒有源代碼來直接使用它的類。您可以使用evince(或類似的開源pdf查看器)代替。