summaryrefslogtreecommitdiff
path: root/examples/hooks/beryl.sh
diff options
context:
space:
mode:
Diffstat (limited to 'examples/hooks/beryl.sh')
-rwxr-xr-xexamples/hooks/beryl.sh78
1 files changed, 78 insertions, 0 deletions
diff --git a/examples/hooks/beryl.sh b/examples/hooks/beryl.sh
new file mode 100755
index 000000000..e201d81c8
--- /dev/null
+++ b/examples/hooks/beryl.sh
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# This is a hook for live-helper(7) to install beryl and enable aiglx.
+# It was originally written by Inigo Tejedor Arrondo <inigo@navarrux.org>.
+#
+# To enable it, copy this hook into your config/chroot_local-hooks directory.
+# for forcing aiglx activation type at boot prompt "live forceaiglx"
+# for forcing aiglx deactivation type "live noaiglx"
+
+# Importing archive signing key
+wget -O - http://debian.beryl-project.org/root@lupine.me.uk.gpg | apt-key add -
+
+# Updating indices
+apt-get update
+
+# Installing packages
+PACKAGES="beryl beryl-core beryl-manager beryl-plugins beryl-settings beryl-settings-bindings beryl-settings-simple mesa-utils"
+
+dpkg -s gnome-core > /dev/null 2>&1 && PACKAGES="${PACKAGES} emerald emerald-themes heliodor"
+dpkg -s kde-core > /dev/null 2>&1 && PACKAGES="${PACKAGES} aquamarine"
+
+apt-get install --yes ${PACKAGES}
+
+# Adding init script
+cat > /etc/init.d/aiglx << EOF
+#!/bin/sh
+activate_3d()
+{
+ activate_aiglx
+ activate_beryl
+}
+
+activate_aiglx()
+{
+ echo "" >> /etc/X11/xorg.conf
+ echo "# Added by beryl-hook.sh" >> /etc/X11/xorg.conf
+ echo "Section \"Extensions\"" >> /etc/X11/xorg.conf
+ echo " Option \"Composite\" \"Enable\"" >> /etc/X11/xorg.conf
+ echo "EndSection" >> /etc/X11/xorg.conf
+
+ sed -i -e "s/Section \"Device\""/"Section \"Device\"\n\t Option \"XAANoOffscreenPixmaps\" \"true\"\n\t Option \"AddARGBGLXVisuals\" \"on\"\n\t Option \"AllowGLXWithComposite\" \"true\"/" -e "s/Section \"Module\""/"Section \"Module\"\n\t Load \"i2c\"\n\t Load \"int10\"\n\t Load \"xtrap\"\n\t Load \"vbe\"/" /etc/X11/xorg.conf
+}
+
+activate_beryl()
+{
+ # http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html
+ ! [ -d /etc/xdg/autostart ] && mkdir -p /etc/xdg/autostart
+
+cat > /etc/xdg/autostart/beryl-manager.desktop << EOS
+[Desktop Entry]
+Encoding=UTF-8
+Name=Beryl Manager
+GenericName=3D Window Manager
+Comment=Beryl Manager daemon
+Icon=
+Exec=beryl-starter
+Terminal=false
+Type=Application
+Categories=
+EOS
+
+cat > /usr/local/bin/beryl-starter << EOS
+#!/bin/sh
+glxinfo > /dev/null 2>&1 && beryl-manager
+EOS
+
+chmod 0755 /usr/local/bin/beryl-starter
+}
+
+if ! cat /proc/cmdline | grep noaiglx > /dev/null
+then
+ echo "Configuring xorg for aiglx..."
+ activate_3d
+fi
+EOF
+
+chmod 0755 /etc/init.d/aiglx
+update-rc.d aiglx defaults