From: Mirko Vogt Date: Wed, 21 Jan 2009 21:02:54 +0000 (+0000) Subject: introduce new uci option "autostart" and modify xserver init scripts and window manag... X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=6d1cb5e254109fd548b448617a2521f1f494d8e2;hp=7838947ae22c654474f7d26faf19391fcd17846b introduce new uci option "autostart" and modify xserver init scripts and window managers to make use of it SVN-Revision: 14140 --- diff --git a/Xorg/wm/fluxbox/Makefile b/Xorg/wm/fluxbox/Makefile index d1ed3fa67b..42b12f6646 100644 --- a/Xorg/wm/fluxbox/Makefile +++ b/Xorg/wm/fluxbox/Makefile @@ -68,9 +68,10 @@ define Package/fluxbox/install $(CP) $(PKG_INSTALL_DIR)/usr/share/fluxbox/styles/* $(1)/usr/share/fluxbox/styles/ $(CP) files/init $(1)/usr/share/fluxbox/ $(CP) files/menu $(1)/usr/share/fluxbox/ - echo "#!/bin/sh" > $(1)/usr/bin/WM - echo "/usr/bin/fluxbox" >> $(1)/usr/bin/WM - chmod +x $(1)/usr/bin/WM + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_DATA) \ + ./files/uci-defaults/x11 \ + $(1)/etc/uci-defaults/ endef define Package/fbsetbg/install @@ -88,5 +89,12 @@ define Package/fbrun/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fbrun $(1)/usr/bin/ endef +define Package/fluxbox/postinst + #!/bin/sh + [ -n "$${IPKG_INSTROOT}" ] && exit + . /etc/functions.sh + uci_apply_defaults +endef + $(eval $(call BuildPackage,fbrun)) $(eval $(call BuildPackage,fluxbox)) diff --git a/Xorg/wm/fluxbox/files/uci-defaults/x11 b/Xorg/wm/fluxbox/files/uci-defaults/x11 new file mode 100644 index 0000000000..3d029c0e0c --- /dev/null +++ b/Xorg/wm/fluxbox/files/uci-defaults/x11 @@ -0,0 +1 @@ +uci set x11.@desktop[0].autostart=enlightenment_start \ No newline at end of file diff --git a/Xorg/wm/matchbox-window-manager/Makefile b/Xorg/wm/matchbox-window-manager/Makefile index 948a573bdb..43439f1162 100644 --- a/Xorg/wm/matchbox-window-manager/Makefile +++ b/Xorg/wm/matchbox-window-manager/Makefile @@ -58,6 +58,17 @@ define Package/matchbox-window-manager/install $(CP) \ $(PKG_INSTALL_DIR)/usr/share/themes/* \ $(1)/usr/share/themes/ + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_DATA) \ + ./files/uci-defaults/x11 \ + $(1)/etc/uci-defaults/ +endef + +define Package/matchbox-window-manager/postinst + #!/bin/sh + [ -n "$${IPKG_INSTROOT}" ] && exit + . /etc/functions.sh + uci_apply_defaults endef $(eval $(call BuildPackage,matchbox-window-manager)) diff --git a/Xorg/wm/matchbox-window-manager/files/uci-defaults/x11 b/Xorg/wm/matchbox-window-manager/files/uci-defaults/x11 new file mode 100644 index 0000000000..3d029c0e0c --- /dev/null +++ b/Xorg/wm/matchbox-window-manager/files/uci-defaults/x11 @@ -0,0 +1 @@ +uci set x11.@desktop[0].autostart=enlightenment_start \ No newline at end of file diff --git a/Xorg/xorg/xserver/xorg-server/files/x.init b/Xorg/xorg/xserver/xorg-server/files/x.init index 04ef4ae1e1..08dbf86932 100755 --- a/Xorg/xorg/xserver/xorg-server/files/x.init +++ b/Xorg/xorg/xserver/xorg-server/files/x.init @@ -27,19 +27,23 @@ input() { ARGS="$ARGS -$cfg $driver,,device=$device" } -start_with_x() { +desktop() { local cfg="$1" - config_get start $cfg start - [ -n "$start" ] && START="$START $start &" + config_get autostart $cfg autostart + [ -n "$autostart" ] && eval $autostart & } start() { + export DISPLAY=":0" config_load x11 config_foreach screen screen config_foreach graphic graphic config_foreach input input - #config_foreach start_with_x start X $ARGS & - #eval $START # not used yet, because the buildroot lacks of the functionality of editing uci-values while building a package - sleep 1 && DISPLAY=":0" WM & # workaround + config_foreach desktop desktop + #test -d /etc/xdg/autostart || exit + #for elem in `ls /etc/xdg/autostart/`; do + # exec=`grep "^Exec=" "/etc/xdg/autostart/$elem"` + # eval ${exec#*=} & + #done } diff --git a/Xorg/xserver/xglamo/Makefile b/Xorg/xserver/xglamo/Makefile index fd2f9312ef..d16d268901 100644 --- a/Xorg/xserver/xglamo/Makefile +++ b/Xorg/xserver/xglamo/Makefile @@ -123,7 +123,7 @@ define Build/Compile endef define Package/xglamo/install - $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib $(1)/etc/init.d $(1)/etc/config + $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib $(1)/etc/init.d $(1)/etc/config $(1)/etc/uci-defaults $(CP) $(PKG_INSTALL_DIR)/usr/bin/Xglamo $(1)/usr/bin/ $(CP) ./files/x.init $(1)/etc/init.d/x11 $(if $(TS_POINTERCAL),$(CP) ./files/pointercal.$(TS_POINTERCAL) $(1)/etc/pointercal) diff --git a/Xorg/xserver/xglamo/files/x.init b/Xorg/xserver/xglamo/files/x.init index 78ce6c4e77..555fc4941c 100755 --- a/Xorg/xserver/xglamo/files/x.init +++ b/Xorg/xserver/xglamo/files/x.init @@ -12,9 +12,21 @@ screen() { [ -n "$dpi" ] && ARGS="$ARGS -dpi $dpi" } +desktop() { + local cfg="$1" + config_get autostart $cfg autostart + [ -n "$autostart" ] && eval $autostart & +} + start() { + export DISPLAY=":0" config_load x11 config_foreach screen screen TSLIB_TSDEVICE="/dev/event1" Xglamo $ARGS & - DISPLAY=":0" WM & # workaround + config_foreach desktop desktop + #test -d /etc/xdg/autostart || exit + #for elem in `ls /etc/xdg/autostart/`; do + # exec=`grep "^Exec=" "/etc/xdg/autostart/$elem"` + # eval ${exec#*=} & + #done }