#!/bin/bash # K700-theme-builder.sh # v 0.5 20050225 # Build a K700 theme out of an image. A bash script, requires ImageMagick # (at least version 5.*) convert. # Copyright (C) Robert Maron # Feel free to use this script and modify it as long, as you not remove the # copyright statement and this licence. # It is just a quick hack to speed up work - do not expect more than that... if ! [ $# -eq 1 ] ; then echo "$(basename $0) image_file" 1>&2 exit 1 fi F="$1" if ! [ -r "$F" ] ; then echo "Cannot read '$F'" 1>&2 exit 2 fi EXT='jpg' OPTS='-quality 95' FN="$(basename ${F%.*} | tr -d -c '0-9a-zA-Z\.')" BF="$FN"-base # theme filename TF="$FN".thm # xml filename XF="$FN".xml # ring filename (if exists) RF="$FN".mid BXS=176 BYS=220 # home dir of the script #DIR="$(dirname $0)" # create a backup dir BD="/tmp/BUILD-PARTS/$(date '+%Y%d%m-%H%M%S')" mkdir -p "$BD" if [ -r "$XF" ] ; then mv "$XF" "$BD"/ ; fi if [ -r "$TF" ] ; then mv "$TF" "$BD"/ ; fi echo '' > "$XF" # file list L="$XF " uudecode <<-"EOF" begin 644 pop-highlight.png MB5!.1PT*&@H````-24A$4@```)P````>"`8```#9P'>>````!F)+1T0`_P#_ M`+ZA9M:5````"7!(67,```L3```+$P$`FIP8````!W1)344'U0(8%BX?_^[0 M-P```&Y)1$%4>-KMV<$)`"$,`,$(]H^UI+S3AST(YN'-E!"6*-HR"0W`(#@2' MX.`X.`^_E`;G:PM'*HY4L.$0'`@.P?%#&P"A'X]2Y<=D`````$E%3D2N0F"" ` end EOF uudecode <<-"EOF" begin 644 sng-dhighlight.png MB5!.1PT*&@H````-24A$4@```*D````W"`8```!WN6H<````!F)+1T0`_P#_ M`+ZA9M:5````"7!(67,```L3```+$P$`FIP8````!W1)344'U0(8%C``IJ?B M'0```3!)1$%4>-KMV5L.@C`00-'1_;DHMT3C5$TD!DH*DL-62%!;IWT@J*\FD`$D!DH*D M0%.2^I<',BFIVGR>)(5,"JPMJ2W.5BN3^I%`4I!4%H-,"I`4)-U.^:`,(2D: M6M`D!4@*D@(M2^H0I!Z622&3.M6"I,":DLI>V$PF;4U6B\]VKQXV?Y)")@6^ M(ZDZ##*I>M'\2`J2`B0%2`J2;N>0X$T&29UJ05(TODA)"I("2[D`U-BXX37E .@L,`````245.1*Y"8((` ` end EOF uudecode <<-"EOF" begin 644 tab-highlight.png MB5!.1PT*&@H````-24A$4@```*D````@"`8```!I:E@_````!F)+1T0`_P#_ M`+ZA9M:5````"7!(67,```L3```+$P$`FIP8````!W1)344'U0(8%C0#6\)V MHP```J])1$%4>-KM6TERQ#`(A"K]_S%^29Z30S*=4ZJRC,=L0F#;Q\2V&FAH MD#6\;=L;S;M`?2]<$'=)F\=D8+@)F8Z?'>_ABKX81/1Y!_]6@LJ8!A$]"AJ% MA5F-@XIT)UXRIF>5%!=U(IY(7S<2G#)V5KG/ZF.SJZF$J*>1T2X8)"2%$R@G M&H_@M;68L-#V+"5!-LG_DE1*LDR@6>M?M3EO=9WP6S79TM2]E5TV\ M&7UY>B65`O7(!@H&L/MVF7>@AC!VRWO26YJOZU,W)FLEY61IUQQ%Z[0]0PU\ M'UE=30/@,`XT6!AD%*BF'ON])--.\P@F+SNQJULRS>"$8+`=JM8KVR.2S&I? MYL&;Z%T9UE;B9W*?44TBJZF5D)Y]3U!N_W>6#7W3[HWFYR-93D5`1DIE<&7P M.PTY2\_(#D,?@T79C*3U9@9?,@!V(:]7S<1G$CQR/].HJM4H\E`TJ)XZ92:X M^-X1E"75I"2+Y(_&B9=Y)MB%:5!->^LZ1W"MBDE'L6,>+ MB1?Y:#7)LF+W:W#B@\EY)G%9`)P3IW0DD4+R73OJ/`*28J<=P@_7&PN,DOS= M0CHN-*3QP60?9;_W\,;JV$&B@D-I8)9LL3$K/9CV2(Z)=M(+)9.L<^0GRX%N M!&*'@>2[/:G449I`\4*26X@[@^0P)J0%$QO49>\9*&.`0)+_>\_WKT6E/1$; MG6ZID!'5A)7/\P%)M(22K&^I[E[5D<:6@XJ3*\:#B-X-9+/>RY.>]][KJ0@: EQ6`##BL9V?'.%;LXO#>T?P'VG98CK)#S2P````!)14Y$KD)@@@`` ` end EOF uudecode <<-"EOF" begin 644 tab-sel.png MB5!.1PT*&@H````-24A$4@```",````;"`8```#V\#:9````!F)+1T0`_P#_ M`+ZA9M:5````"7!(67,```L3```+$P$`FIP8````!W1)344'U0(8%C,*;5]8 MP````/U)1$%4>-KM5LL.PD`('`S__S']+(WQ;6)KBR=-LRXM[*/VX%Z9789A MH*6F:7JLY/""N<1"1GXDA,3(#&MJTY^,1J:O8<94,L_:4V+$$0/H*I()8S2% M9P#M0FTQ[9F'7UJ#:TT````` (245.1*Y"8((` ` end EOF uudecode <<-"EOF" begin 644 tab-unsel.png MB5!.1PT*&@H````-24A$4@```",````7"`8```"!,O;B````!F)+1T0`_P#_ M`+ZA9M:5````"7!(67,```L3```+$P$`FIP8````!W1)344'U0(8%C$(L6=; M;@```)-)1$%4>-KM5' >> "$XF" } function addfile() # addfile tag_name file { N="$2" ; if ! [ -r "$N" ] ; then N="$N"."$EXT" ; fi addtag "$1" 'Source="'$N'"' L="$L $N" } # build the base image: scaleimg "$F" "$BF" "$BXS" "$BYS" echo '' >> "$XF" addtag 'Background Color="0x5d5d5d"' # build the Single Title components cropimg "$BF" "$FN"-sng-background 0 47 "$BXS" 147 addfile 'Background_image' "$FN"-sng-background addtag 'Desktop Color="0x808080"' # build the Desktop components cropimg "$BF" "$FN"-dsk-wallpaper 0 18 "$BXS" 176 addfile 'Desktop_image' "$FN"-dsk-wallpaper addtag 'Desktop_title_text Color="0xcccccc"' addtag 'Highlight_text Color="0x1a1a1a"' addtag 'Highlight Color="0xcecece"' # build the Single Title components #cropimg "$BF" "$FN"-sng-dhighlight 0 100 169 55 copyimg sng-dhighlight.png "$FN"-sng-dhighlight.png addfile 'Highlight_image' "$FN"-sng-dhighlight.png # build the Tab components #cropimg "$BF" "$FN"-tab-highlight 0 100 169 32 copyimg tab-highlight.png "$FN"-tab-highlight.png addfile 'Highlight_small_image' "$FN"-tab-highlight.png addtag 'Popup_text Color="0xbbbbbb"' addtag 'Popup Color="0x444444"' addtag 'Popup_frame Color="0x000000"' addtag 'Popup_highlight_text Color="0x1a1a1a"' addtag 'Popup_highlight Color="0xcdcdcd"' # build the Popup components #cropimg "$BF" "$FN"-pop-highlight 7 100 156 30 copyimg pop-highlight.png "$FN"-pop-highlight.png addfile 'Popup_highlight_image' "$FN"-pop-highlight.png # build the Popup components cropimg "$BF" "$FN"-pop 7 33 163 152 addfile 'Popup_image' "$FN"-pop addtag 'Popup_scrollbar_background Color="0x868686"' addtag 'Popup_scrollbar_slider Color="0xffffff"' addtag 'Popup_title_text Color="0x131313"' addtag 'Popup_title Color="0x979797"' # build the Popup components cropimg "$BF" "$FN"-pop-title 7 33 163 29 addfile 'Popup_title_image' "$FN"-pop-title if [ -r "$RF" ] ; then addfile 'Ring_signal' "$RF" fi addtag 'Scrollbar_background Color="0x3d3d3d"' addtag 'Scrollbar_slider Color="0xffffff"' addtag 'Softkeys_text Color="0x000000"' addtag 'Softkeys Color="0xbcbcbc"' # build the Desktop components cropimg "$BF" "$FN"-dsk-softkeys 0 194 "$BXS" 26 addfile 'Softkeys_image' "$FN"-dsk-softkeys # build the Standby components cropimg "$BF" "$FN"-std-wallpaper 0 18 "$BXS" 176 addfile 'Standby_image' "$FN"-std-wallpaper addtag 'Standby_operatorname_text Color="0xf0f0f0"' addtag 'Standby_operatorname_outline Color="0x414141"' # build the Standby components cropimg "$BF" "$FN"-std-softkeys 0 194 "$BXS" 26 addfile 'Standby_softkey_image' "$FN"-std-softkeys # build the Standby components cropimg "$BF" "$FN"-std-status 0 0 "$BXS" 18 addfile 'Standby_statusbar_image' "$FN"-std-status addtag 'Standby_time Color="0xf0f0f0"' addtag 'Standby_time_outline Color="0x414141"' # build the Desktop components cropimg "$BF" "$FN"-dsk-status 0 0 "$BXS" 18 addfile 'Statusbar_image' "$FN"-dsk-status addtag 'Tab_text Color="0x1a1a1a"' addtag 'Tab Color="0xdadada"' # build the Tab components cropimg "$BF" "$FN"-tab 0 18 "$BXS" 52 addfile 'Tab_image' "$FN"-tab # build the Tab components #cropimg "$BF" "$FN"-tab-sel 50 18 35 27 copyimg tab-sel.png "$FN"-tab-sel.png addfile 'Tab_selected_image' "$FN"-tab-sel.png # build the Tab components #cropimg "$BF" "$FN"-tab-unsel 50 18 35 23 copyimg tab-unsel.png "$FN"-tab-unsel.png addfile 'Tab_unselected_image' "$FN"-tab-unsel.png addtag 'Text Color="0xbbbbbb"' # build the Double Title components cropimg "$BF" "$FN"-dbl-title 0 18 "$BXS" 52 addfile 'Title_image' "$FN"-dbl-title # build the Single Title components cropimg "$BF" "$FN"-sng-title 0 18 "$BXS" 29 addfile 'Title_small_image' "$FN"-sng-title addtag 'Title_text Color="0xaaaaaa"' addtag 'Title Color="0xdadada"' addtag 'Wapbrowser_underline Color="0x0000ff"' addtag 'Wapbrowser_tableborder Color="0x0000ff"' echo '' >> "$XF" # create theme tar cf "$TF" $L # remove images mkdir -p "$FN"-img mv "$FN"-*.jpg "$FN"-*.png "$FN"-img/