现在我终于让 xmonad 可以很好地与 MATE DE 配合使用,但我会尝试将GNOME2/3/XFCE4 面板小程序移植到 mate 上,因为 MATE 本质上是 GNOME2。
到目前为止,我已经为 MATE 添加了必要的依赖项,ifdef 等,并且运行autogen.sh --with-panel=mate
会吐出一个显示任何错误的 Makefile。但是,运行make
会出现此错误:Makefile:770: *** missing separator. Stop.
这是我的 Makefile: http: //pastebin.com/bLF9TD4M。
这是导致错误的部分:
# $(applet_files): $(applet_files:.desktop=.desktop.in)
# $(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
if PANEL_MATE
applet_files = org.mate.panel.XmonadLogApplet.panel-applet
$(applet_files): $(applet_files:.panel-applet=.panel-applet.in)
$(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
else
applet_files = org.gnome.panel.XmonadLogApplet.panel-applet
$(applet_files): $(applet_files:.panel-applet=.panel-applet.in)
$(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
endif
if !PANEL_MATE
servicedir = $(SESSION_BUS_SERVICES_DIR)
service_in_files = org.gnome.panel.applet.XmonadLogAppletFactory.service.in
service_DATA = $(service_in_files:.service.in=.service)
org.gnome.panel.applet.XmonadLogAppletFactory.service: $(service_in_files)
$(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
else
servicedir = $(SESSION_BUS_SERVICES_DIR)
service_in_files = org.mate.panel.applet.XmonadLogAppletFactory.service.in
service_DATA = $(service_in_files:.service.in=.service)
org.mate.panel.applet.XmonadLogAppletFactory.service: $(service_in_files)
$(SED) -e "s|\@PLUGIN_DIR\@|$(PLUGIN_DIR)|" $< > $@
endif
这些 IF 语句是 Makefile.am 文件的剩余部分,它们不应该在这里。如果我手动删除 if 语句(将相关内容保留在其中)并运行 make,我会得到:
make all-am
make[1]: Entering directory `/home/ari/development/xmonad-log-applet'
gcc -DHAVE_CONFIG_H -I. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -MT xmonad_log_applet-main.o -MD -MP -MF .deps/xmonad_log_applet-main.Tpo -c -o xmonad_log_applet-main.o `test -f 'main.c' || echo './'`main.c
main.c:15:21: fatal error: gtk/gtk.h: No such file or directory
compilation terminated.
make[1]: *** [xmonad_log_applet-main.o] Error 1
make[1]: Leaving directory `/home/ari/development/xmonad-log-applet'
make: *** [all] Error 2
这是我第一次真正使用 makefile 和 automake,所以任何帮助将不胜感激。这是我在 github 上的修改:https ://github.com/geniass/xmonad-log-applet