16x16/places
|
16x16/status
|
{/code}
|
-We now need to move all the icons of a given size to a directory called __small__. Do the same for some other size and large. In bitweaver we are using 16x16 as small and 32x32 for large icons. Finally we copy the files into an appropriately named directory in bitweaver icon_themes.
|
+We now need to move all the icons of a given size to directories called __small__ and __large__. Bitweaver uses 16x16 px for small and 32x32 px for large icons. Finally we copy the files into an appropriately named directory in bitweaver icon_themes. |
|
In the example below we will create a style called __foo__.
|
{code source=Bash title="Execute this to move all icons to the appropriate directories"}
|
#!/bin/bash
|
mkdir -p foo/small foo/large
|
-cp 16x16/*/*.png foo/small/
|
-cp 32x32/*/*.png foo/large/
|
+cp -f 16x16/*/*.png foo/small/ |
+cp -f 32x32/*/*.png foo/large/ |
mv foo /bitweaver/themes/icon_styles/
|
{/code}
|
|
-!!! 2. SVG icon set themes
|
-These icon themes contain only SVG icon files. If you are on windows I have no idea how to convert these icons using a batch process (perhaps irfanview can deal with SVG files). On linux you will need __rsvg__ installed (you need to install __librsvg__ if you don't have it).
|
-In your downloaded icon theme you can execute something like this:
|
-{code source=Bash title="Convert SVG icon theme to bitweaver compatible icon theme"}
|
-#!/bin/bash
|
-echo Will convert an SVG Gnome or KDE icon theme to a usable bitweaver icon theme
|
-echo
|
+!! 2. SVG icon set themes |
+{attachment id=560 align=left margin=5px text-align=center} These kinds of icon themes contain SVG icon files and also PNG files for small versions of the icons. On Linux you will need __rsvg__ in your path to execute the following script (__librsvg__ is required). |
|
-# Validate Input
|
-if [[ ( $1 == '--help' ) || ( $1 == '-h' ) || ( $1 == '?' ) ]]
|
-then
|
- echo "Usage: sh icon_theme_converter.sh [options]
|
- This script requires that rsvg is available (i.e.: librsvg is installed)."
|
- exit
|
-fi
|
+~clear~ |
+!! Addding style information |
+The style_info directory works exactly the same as it does in the theme styles directories. |
|
-if [ rsvg ]
|
-then
|
- echo "'rsvg' was found in your \$PATH."
|
-else
|
- echo "rsvg could not be found in your \$PATH. Please download and install librsvg."
|
- exit
|
-fi
|
-
|
-dir=scalable
|
-
|
-if [ -d "$dir" ]
|
-then
|
- for folder in `find ./$dir/ -maxdepth 1 -type d`; do
|
- folder=`basename $folder`
|
- if [ "$folder" != $dir ]; then
|
- echo "Converting $folder icons"
|
- for icon in ./$dir/$folder/*.svg; do
|
- basename=${icon%.*};
|
- basename=`basename $basename`;
|
-
|
- mkdir -p "./small/"
|
- rsvg -w16 -h16 $icon "./small/${basename}.png";
|
-
|
- mkdir -p "./large/"
|
- rsvg -w32 -h32 $icon "./large/${basename}.png";
|
- done;
|
- fi;
|
- done
|
-
|
- echo
|
- echo "Conversion is done. Now you need to create an icon style directory, move small/
|
- and large/ into it and place that in the bitweaver/themes/icon_styles/ directory."
|
-
|
-else
|
- echo "Please copy this script to the theme you want to convert and run it from there.
|
- Make sure the svg directory is avalable and that it's called 'scalable'"
|
-fi
|
+!! Overriding a couple of icons |
+The Tango icon theme is BitweaveR's default Icon Style. Any icon not found in the currently selected Icon Style will be searched for in the Tango theme. If you want to override a couple of icons, you can simply create your custom Icon Style in ''/themes/icon_styles/'' and then place your icons in the small and large subdirectories using the same names as in the Tango theme. Finally select your icon style in the ''Themes Manager'' page. To change the default Icon Style (Tango), edit kernel/setup_inc.php: |
+{code source=PHP title="kernel/setup_inc.php"} |
+// Change this line to your preferred default style |
+define( 'DEFAULT_ICON_STYLE', 'tango' ); |
{/code}
|
|
-!!! 3. SVG mixed with PNG icon set themes
|
-You can use the SVG script above and then copy across all PNG icons overwriting the freshly converted icons with the PNG versions - basically combining both scripts:
|
-{code source=Bash title="Combining both scripts for mixed icon themes"}
|
+! Converting icons to GIF |
+If you want to avoid using Javascript to make PNG icons work in Microsoft's Internet Explorer, you can use GIF icons instead. On Linux with ImageMagic, you can use this little script to convert all the PNG images to GIFs. (The above script will also create GIF copies of all PNG icons, but if you want to do it manually, here is a code snippet that might help you.) |
+{code source=Bash title="PNG to GIF conversion script"} |
#!/bin/bash
|
-echo Will convert an SVG Gnome or KDE icon theme to a usable bitweaver icon theme
|
+echo Making gif copies of all png icons |
+echo The gif version is sent to Microsoft Internet Explorer to avoid transparency issues. |
echo
|
+echo Creating directory to hold the final version of the icon style |
+mkdir -v $mydir |
+for dir in $dirlist |
+do |
+ echo |
+ echo Making gif copies in $dir/ |
|
-# Validate Input
|
-if [[ ( $1 == '--help' ) || ( $1 == '-h' ) || ( $1 == '?' ) ]]
|
-then
|
- echo "Usage: sh icon_theme_converter.sh [options]
|
- This script requires that rsvg is available (i.e.: librsvg is installed)."
|
- exit
|
-fi
|
+ filelist=`ls $dir` |
|
-if [ rsvg ]
|
-then
|
- echo "'rsvg' was found in your \$PATH."
|
-else
|
- echo "rsvg could not be found in your \$PATH. Please download and install librsvg."
|
- exit
|
-fi
|
+ for file in $filelist |
+ do |
+ conv=`echo $file | perl -wpe 's/\.png//g'` |
+ convert $dir/$conv.png -channel A -threshold 50% $dir/$conv.gif 2>>biticonification_error.log; |
|
-dir=scalable
|
+ # experimentation... |
+ #convert $dir/$conv.png -channel A -threshold 65% -modulate 120,80,90 -fill "#99AAEE" -tint 50 -verbose $dir/$conv-tint.png 2>>biticonific» |
+ #convert $dir/$conv.png -modulate 100,100,50 -fill "#AACCFF" -tint 50 -verbose $dir/$conv-tint.png 2>>biticonification_error.log; |
+ #convert $dir/$conv.png -modulate 100,100,50 -verbose $dir/$conv-tint.png 2>>biticonification_error.log; |
+ done |
|
-if [ -d "$dir" ]
|
-then
|
- for folder in `find ./$dir/ -maxdepth 1 -type d`; do
|
- folder=`basename $folder`
|
- if [ "$folder" != $dir ]; then
|
- echo "Converting $folder icons"
|
- for icon in ./$dir/$folder/*.svg; do
|
- basename=${icon%.*};
|
- basename=`basename $basename`;
|
-
|
- mkdir -p "./small/"
|
- rsvg -w16 -h16 $icon "./small/${basename}.png";
|
-
|
- mkdir -p "./large/"
|
- rsvg -w32 -h32 $icon "./large/${basename}.png";
|
- done;
|
- fi;
|
- done
|
-
|
- cp -f 16x16/*/*.png ./small/
|
- cp -f 32x32/*/*.png ./large/
|
-
|
- echo
|
- echo "Conversion is done. Now you need to create an icon style directory, move small/
|
- and large/ into it and place that in the bitweaver/themes/icon_styles/ directory."
|
-
|
-else
|
- echo "Please copy this script to the theme you want to convert and run it from there.
|
- Make sure the svg directory is avalable and that it's called 'scalable'"
|
-fi
|
+ mv $dir $mydir/; |
+done |
{/code}
|
-
|
-!! Add style information
|
-The style_info directory works exactly the same as it does in the theme styles directories. Please look at existing ones to see what is going on in there.
|
-
|
-!! Override a couple of icons
|
-The Tango icon theme is our default icon theme. This means that any icon that isn't found in your selected icon style will be searched for in the Tango theme. If you want to override a couple of icons, you can simply create your custom icon style in themes/icon_styles/ and then place your icons in the small and large subdirectories using the same names as in the Tango theme. Finally select your icon style in the Themes Manager page.
|
-If you want to change the default icon style - we don't have an interface for this - you need to edit the define() in kernel/setup_inc.php
|
-{code source=PHP title="kernel/setup_inc.php"}
|
-// Change this line to your preferred default style
|
-define( 'DEFAULT_ICON_STYLE', 'tango' );
|
-{/code}
|
-
|
-! Overriding icons that are not found in the icon style
|
-Some packages still require their own icons as the icon themes only provide a certain set of icons which are not always sufficient. You can override these in using the icons directory.
|
-e.g.: To override the busy icon in liberty/icons/ place the busy icon you want to use (must have either gif, png or jpg extension) in themes/styles/<style>/icons/liberty/
|
|