0

当我说窗口管理器时,我指的是 KDE、Gnome、lxde、xfce 等。

除了 Qt,我从不构建窗口应用程序,但我的猜测是并非所有应用程序都使用 Qt,有些使用 wx,但是当 ubuntu 的 repos 有一个应用程序时,它会为所有窗口管理器发布。

这些应用程序如何与所有窗口管理器兼容?是应用程序开发人员将他的应用程序与所有窗口管理器链接起来,还是与 Xorg 或其他制作窗口应用程序有共同点?Qt 或 wx 能解决这些问题吗?我想我记得看到过一些仅为 gnome 或 KDE 发布的应用程序,但我不确定。

我一直想知道这一点,这让我想知道 linux 应用领域的碎片化......

4

3 回答 3

2

曾经有ICCCM标准,但现在您至少应该针对EWMH和其他freedesktop标准(包括dbus)。

当然,最近的工具包如 GTK3 或 Qt5 应该会有所帮助,因为它们支持很多。

(而且细节复杂,从头开始不太现实)

于 2013-09-25T10:48:13.447 回答
2

您的应用程序链接到 GUI 库,而不是特定的窗口管理器。对于 X11,此类库的通用基础是 Xlib。

如果应用程序仅可用于某些特定的窗口管理器,原因是它还链接到特定于该窗口管理器的某些功能(例如,KWallet 或 gnome-keyring)。如果您从分发软件存储库安装该应用程序,则会自动安装此类附加库。

于 2013-09-25T11:01:30.767 回答
1

AFAIK Qt 应用程序将在提供 Qt 库的任何地方运行。它与 Linux 发行版有关,与 Window Manager 无关。

另一个问题是菜单和系统托盘集成或桌面消息传递的东西。这与一个窗口管理器不同。

请参阅http://www.freedesktop.org/wiki/Software/dbus/

于 2013-09-25T10:48:45.923 回答