generic-poky/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook_0....

224 lines
8.4 KiB
BlitzBasic

DESCRIPTION = "Custom MB session files for poky"
LICENSE = "GPL"
SECTION = "x11"
RDEPENDS = "formfactor gtk-engines initscripts matchbox-session"
PR = "r18"
# This package is architecture specific because the session script is modified
# based on the machine architecture.
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRC_URI = "file://session"
S = "${WORKDIR}"
do_install() {
install -d ${D}/${sysconfdir}/matchbox
install ${S}/session ${D}/${sysconfdir}/matchbox/session
chmod +x ${D}/${sysconfdir}/matchbox/session
}
pkg_postinst_${PN} () {
#!/bin/sh -e
if [ "x$D" != "x" ]; then
exit 1
fi
. ${sysconfdir}/init.d/functions
# Theme
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/metacity/general/theme "Moblin-Netbook"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/metacity/general/button_layout ":close"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/interface/gtk_theme "Moblin-Netbook"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/interface/icon_theme "moblin"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/peripherals/mouse/cursor_theme "moblin"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/interface/toolbar_style "icons"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type bool -s \
/desktop/gnome/interface/menus_have_icons false
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type bool -s \
/desktop/gnome/interface/buttons_have_icons false
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/sound/theme_name moblin
# Screen shot
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/metacity/global_keybindings/run_command_screenshot \
"Print"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/metacity/keybinding_commands/command_screenshot \
"gnome-screenshot"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/metacity/global_keybindings/run_command_window_screenshot \
"<Alt>Print"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/metacity/keybinding_commands/command_window_screenshot \
"gnome-screenshot --window"
# Window Actions
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/metacity/general/action_double_click_titlebar "none"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/metacity/general/action_middle_click_titlebar "none"
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/metacity/general/action_right_click_titlebar "none"
# UX Shell
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type bool -s \
/apps/mutter/general/clutter_disabled false
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type list --list-type string -s \
/apps/mutter/general/clutter_plugins '[moblin-netbook]'
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/url-handlers/http/command 'moblin-web-browser %s'
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/url-handlers/https/command 'moblin-web-browser %s'
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/background/picture_filename \
'/usr/share/mutter-moblin/theme/moblin-panel-myzone/toys.jpg'
# Fonts
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/interface/document_font_name \
'Liberation Sans 10'
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/interface/font_name \
'Liberation Sans 10'
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/desktop/gnome/interface/monospace_font_name \
'Liberation Mono 10'
# Nautilus
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type bool -s \
/apps/nautilus/preferences/always_use_browser true
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type bool -s \
/apps/nautilus/preferences/exit_with_last_window false
# Do not automount, this is done by g-s-d plugin
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type bool -s \
/apps/nautilus/preferences/media_automount false
# And should not open new window whenever media mounted
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type bool -s \
/apps/nautilus/preferences/media_automount_open false
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type bool -s \
/apps/nautilus/icon_view/labels_beside_icons false
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/nautilus/icon_view/default_zoom_level standard
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type string -s \
/apps/gnome_settings_daemon/keybindings/power ""
# General
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type float -s \
/desktop/gnome/peripherals/mouse/mouse_acceleration 0.8
gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \
--direct --type int -s \
/desktop/gnome/peripherals/mouse/mouse_threshold 2
#
# The interesting bit - we convert to run the system as the user "pokyuser"
# and setup this user account as needed
#
if [ ! -d /home/pokyuser ]; then
adduser --disabled-password --ingroup users pokyuser
# Setup any .skel files
if [ -d ${sysconfdir}/skel ]; then
cp -pPR ${sysconfdir}/skel/.[a-zA-Z0-9]* /home/pokyuser/ || /bin/true
cp -pPR ${sysconfdir}/skel/* /home/pokyuser/ || /bin/true
fi
# Move any sample media into this user
if [ -d ${sysconfdir}/skel-media ]; then
mv ${sysconfdir}/skel-media/* /home/pokyuser/ || /bin/true
fi
chown pokyuser.users -R /home/pokyuser/* || /bin/true
chown pokyuser.users -R /home/pokyuser/.[a-zA-Z0-9]* || /bin/true
# Make sure Xorg is suid
chmod a+s /usr/bin/Xorg
# Tell X to run as this user
mkdir -p ${sysconfdir}/X11/
echo "pokyuser" > ${sysconfdir}/X11/Xusername
# Add pokyuser to the audio group
audiousers=`grep ^audio < /etc/group | cut -d ':' -f 4`
if [ "x$audiousers" == "x" ]; then
audiousers=pokyuser
else
audiousers=$audiousers,pokyuser
fi
sed -i -e "s/audio:\(.*\):\(.*\):\(.*\)/audio:\1:\2:$audiousers/" /etc/group
# Add pokyuser to the video group
videousers=`grep ^video < /etc/group | cut -d ':' -f 4`
if [ "x$videousers" == "x" ]; then
videousers=pokyuser
else
videousers=$videousers,pokyuser
fi
sed -i -e "s/video:\(.*\):\(.*\):\(.*\)/video:\1:\2:$videousers/" /etc/group
fi
}