繁体   English   中英

GTK +与任何程序

[英]GTK+ with any programs

我最近知道了一个乳胶编辑器“ gummi”,请参阅http://gummi.midnightcoding.org/ ,它是由GTK +图形界面工具包编写的。 有两个面板,一个在左侧是编辑器(使用gtksourceview库),在右侧是一个查看器(使用poppler库)。 我很好奇我们是否可以为每个程序做类似的事情。 例如,将编辑器替换为“ terminal”,“ emacs”,“ vim”,“ terminator(多窗口终端)”等。 并用其他查看器替换该查看器,我认为这是Adobe Reader。 在与作者讨论时,他提到:

查看器组件也是可替换的,但是使用Adobe Reader做到这一点并不容易,甚至不可能。 原因是Adobe Reader是一个完整的程序,而不是一个库,并且是封闭源

所以我有一些问题:

a)我们只能将“库”嵌入为面板,但是对于(任何)程序我们不能这样做?

b)我们可以用emacs代替编辑器吗? 与终端?

c)我们可以用Adobe Reader替换查看器吗? 如果没有,为什么? 是因为它是程序还是封闭源代码?

我知道这个线程中的问题不是很精确,很抱歉。

a)如果程序具有足够的API,则可以对任何程序执行此操作,但这很少见。 它们自身的库提供了工具包无法提供的功能(此处为gtk +)。 因此,最后,您必须将一个类替换为另一个使用源库(或提供跨进程功能)的类(在源代码内)。

b)终端:是的(请参阅anjuta),对于emacs来说可能是这样,但是从我对emacs的了解有限的角度来看,要实现这一目标还需要做很多工作

c)它既没有足够的跨进程API,也没有直接使用其类的源代码。 您可以改用evince(或类似的开源pdf查看器)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM