# pinstall for ptheme
############################################################################
echo
for dtop in switch2 GTK-Chtheme icon_switcher Desktop-drive-icons {
test -f "usr/share/applications/${dtop}.desktop" || continue
if grep -q "^NoDisplay" usr/share/applications/${dtop}.desktop {
sed -i 's%NoDisplay=.*%NoDisplay=true%' usr/share/applications/${dtop}.desktop
} else {
echo 'NoDisplay=true' >> usr/share/applications/${dtop}.desktop
}
}
# poor man's pTheme!
# choose a global theme
############################################################################
#woof-code/_00build.conf
#the PTHEME variable con be specified in build.conf
if test $PTHEME != "" {
setvar theme = "$PTHEME"
} else {
echo
test -f /tmp/ptheme_choose && rm /tmp/ptheme_choose
echo "You can choose from the following global themes"
echo
setvar num = '1'
while read i {
echo "$num $i"
echo "$num $i" >> /tmp/ptheme_choose
setvar num = $(($num + 1))
} <<< "`ls usr/share/ptheme/globals`"
echo
echo "Type the number of the theme you want"
setvar xnum = '1'
setvar theme = """"
while test $xnum -lt 4{
read ptheme_num
echo $ptheme_num | grep -qv '[0-9]' && echo "A number is needed" && continue
if grep -q ${ptheme_num} /tmp/ptheme_choose{
setvar theme = $(grep -w ${ptheme_num} /tmp/ptheme_choose|cut -d ' ' -f2,3,4)
echo "You chose ${theme}. Excellent choice."
break
} else {
if test $xnum -lt 3{
echo "Sorry, that didn't work, try another number"
} else {
echo "Last chance..."
}
setvar xnum = $(($xnum + 1))
}
}
}
if test ! -f usr/share/ptheme/globals/"${theme}"{
setvar theme = ""Bright Mouse""
echo "Invalid theme, defaulting to $theme"
}
echo "Setting $theme to default"
source usr/share/ptheme/globals/"${theme}"
##### JWM
test ! -d root/.jwm && mkdir -p root/.jwm
cp -af usr/share/jwm/themes/"${PTHEME_JWM_COLOR}-jwmrc" root/.jwm/jwmrc-theme
#cp -af usr/share/jwm/themes/"${PTHEME_JWM_COLOR}-colors" root/.jwm/jwm_colors
echo "jwm colors: ${PTHEME_JWM_COLOR}"
cp -f usr/share/jwm/tray_templates/"$PTHEME_JWM_TRAY"/jwmrc-tray* root/.jwm/
#hybrid
rm -f root/.jwm/jwmrc-tray*_hybrid
for I in 1 2 3 4 {
if test $(grep -F '_hybrid' root/.jwm/jwmrc-tray$I) {
grep -vF '_hybrid' root/.jwm/jwmrc-tray$I | sed -e 's%autohide="\(top\|bottom\|left\|right\)" %autohide="off"%' -e "s%layer=\"above\"%layer=\"below\"%" > root/.jwm/jwmrc-tray${I}_hybrid
}
}
#---
echo $PTHEME_JWM_TRAY > root/.jwm/tray_active_preset
echo "jwm tray: ${PTHEME_JWM_TRAY}"
# make new default the backup
cp -af root/.jwm/jwmrc-tray* root/.jwm/backup/
cp -af root/.jwm/jwmrc-theme root/.jwm/backup/
case (PTHEME_JWM_SIZE) {
small { rm root/.jwm/menuheights}
normal { echo "MENHEIGHT=24" > root/.jwm/menuheights}
large { echo "MENHEIGHT=32" > root/.jwm/menuheights}
huge { echo "MENHEIGHT=40" > root/.jwm/menuheights}
* { echo "MENHEIGHT=24" > root/.jwm/menuheights} # default
}
echo "jwm size: ${PTHEME_JWM_SIZE}"
mkdir -p root/.jwm/window_buttons
setvar Dir = "usr/share/jwm/themes_window_buttons/${PTHEME_JWM_BUTTONS}"
for icon in $Dir/* {
setvar ifile = $(basename $icon)
setvar ext = ${ifile##*.}
setvar newicon = $(echo $ifile|sed "s%${ext}$%png%)
#JWM does a crappy svg convert, so we help out if rsvg-convert is installed
if test $(which rsvg-convert) {
rsvg-convert -w 48 -h 48 -o root/.jwm/window_buttons/${newicon} ${icon}
} else {
ln -sf ${icon} root/.jwm/window_buttons/${newicon}
}
}
echo "jwm buttons: ${PTHEME_JWM_BUTTONS}"
sleep 1 # reading time
##### GTK
cat > root/.gtkrc-2.0 <<< """
# -- THEME AUTO-WRITTEN BY gtk-theme-switch2 DO NOT EDIT
include "/usr/share/themes/${PTHEME_GTK}/gtk-2.0/gtkrc"
style "user-font"
{
font_name=""
}
widget_class "*" style "user-font"
include "/root/.gtkrc-2.0.mine"
# -- THEME AUTO-WRITTEN BY gtk-theme-switch2 DO NOT EDIT
gtk-theme-name = "${PTHEME_GTK}"
"""
echo "gtk: ${PTHEME_GTK}"
# icon theme
test -n $PTHEME_ICONS_GTK && \
setvar USE_ICON_THEME = "$(find usr/share/icons -type d -name $PTHEME_ICONS_GTK -maxdepth 1)"
test -z $USE_ICON_THEME && setvar USE_ICON_THEME = ""Puppy Standard"" || setvar USE_ICON_THEME = "$PTHEME_ICONS_GTK" # default if exists
if test -d "usr/share/icons/$USE_ICON_THEME"{
# first global
echo -e "gtk-icon-theme-name = \"$USE_ICON_THEME\"" >> root/.gtkrc-2.0
# then ROX
setvar ROX_THEME_FILE = ""root/.config/rox.sourceforge.net/ROX-Filer/Options"" # this could change in future
sed -i "s%ROX%$USE_ICON_THEME%" $ROX_THEME_FILE
echo "icon theme: $USE_ICON_THEME"
}
sleep 1 # reading time
##### WALLPAPER #copy it as mv messes the themes
setvar ext = "${PTHEME_WALL##*.}"
cp -af usr/share/backgrounds/"${PTHEME_WALL}" usr/share/backgrounds/default.${ext}
echo "wallpaper: ${PTHEME_WALL}"
sleep 1 # reading time
##### ROX
setvar BACKDROP = "" /usr/share/backgrounds/default.${ext}""
echo -e '\n' > /tmp/newpin
echo $BACKDROP >> /tmp/newpin
cat usr/share/ptheme/rox_pinboard/"${PTHEME_ROX_PIN}" >> /tmp/newpin
echo '' >> /tmp/newpin
cp -a /tmp/newpin root/Choices/ROX-Filer/PuppyPin
echo "rox icons arrangement (apps): ${PTHEME_ROX_PIN}"
sleep 1 # reading time
#drive icons
if test $PTHEME_ROX_DRIVEICONS {
for I in ICONDESK ICONPARTITIONS LABELPARTITIONS ICON_PLACE_EDGE_GAP ICON_PLACE_START_GAP ICON_PLACE_SPACING ICON_PLACE_ORIENTATION {
setvar TMP = "$(grep "^$I" etc/eventmanager)"
setvar VALUE = "$(grep "^$I" "usr/share/ptheme/eventmanager_driveicons/${PTHEME_ROX_DRIVEICONS}" | cut -d= -f2)"
test ! $VALUE && continue
sed -i "s/${TMP}/${I}=${VALUE}/" etc/eventmanager
}
}
echo "rox icons arrangement (drives): ${PTHEME_ROX_DRIVEICONS}"
sleep 1 # reading time
##### ICONS
echo -n ${PTHEME_ICONS} > etc/desktop_icon_theme
echo "icons: ${PTHEME_ICONS}"
sleep 1 # reading time
##### CURSOR
if test -d root/.icons/{
test ! $(grep 'ORIGINAL THEME' ) && ln -snf $PTHEME_MOUSE root/.icons/default
echo "cursor: ${PTHEME_MOUSE}"
sleep 1 # reading time
}
##### GTKDIALOG
test -d root/.config/ptheme/ || mkdir -p root/.config/ptheme/
cp -f "usr/share/ptheme/gtkdialog/$PTHEME_GTKDIALOG" root/.config/ptheme/gtkdialog_active
echo "gtkdialog: ${PTHEME_GTKDIALOG}"
sleep 1 # reading time
#### update JWMRC
setvar JWMRCVER = $(grep JWMRC_VERSION etc/xdg/templates/_root_.jwmrc | cut -f 4 -d '_' | cut -f 1 -d ' ')
setvar UPDATEVER = $(grep JWMRC_VERSION etc/rc.d/rc.update | cut -f 3 -d '_' | cut -f 1 -d ' ')
test $JWMRCVER != $UPDATEVER && sed -i "s/$UPDATEVER/$JWMRCVER/" etc/rc.d/rc.update
sync
echo "done"
echo
echo