diff --git a/doc/manager_skin.php b/doc/manager_skin.php new file mode 100644 index 0000000000..3e3891dec4 --- /dev/null +++ b/doc/manager_skin.php @@ -0,0 +1,607 @@ +Contents + + +

Skin

+

+Skins allow you to customize how an interface looks to suite your personal tastes. +

+A skin.xml file needs to be created for any customized skin, this document describes the +layout of the skin.xml file. +

+A skin.xml file should be contained within it's own directory under the 'skins' directory. +

+An example would look like this: +"; block_start(); echo " ++ /BOINC +| ++---+ /Skins + | + +---+ /Custom Skin + | + +--- skin.xml +"; block_end(); echo " +

+ +

Localization

+

+BOINC Manager attempts to find and use localized skin references. It gracefully falls back +to a suiteable language and if none can be found it'll fall back to english. Overriding the +language being searched for can be done in the Advanced GUI's option dialog. +

+If the preffered language is 'pt_BR' and it cannot be found then the next language searched for +is 'pt'. If 'pt cannot be found then the manager resorts to 'en'. + +

Layout

+

+The skin.xml file is described as follows: +"; block_start(); echo " +<skin> + <pt_BR> + <simple /> + [ <advanced /> ] + [ <wizards /> ] + </pt_BR> + <pt> + <Simple /> + [ <advanced /> ] + [ <wizards /> ] + </pt> + <en> + <Simple /> + [ <advanced /> ] + [ <wizards /> ] + </en> +</skin> +"; block_end(); echo " +

+Both the advanced and wizards collections are optional. +

+ +

Sample

+

+The World Community Grid skin can be found here. +

+ +

Skin Collections

+ +

Simple

+

+The Simple collection contains all the elements need to construct the Simple GUI. +

+The Simple collection contains the following elements: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeImage HeightImage WidthNotes
background_imageImage540px410px + Used as the Simple GUI background image.
+ A background color should be specified for this element. +
spacer_imageImage11px2pxUsed to seperate the links on the bottom of the Simple GUI
static_line_colorStringThe color is represented as an RGB value with the token being ':'
state_indicator_background_imageImage35px264px
connecting_indicator_imageImage15px14px
error_indicator_imageImage20px69px
workunit_active_tabSimple Tab16px16px
workunit_suspended_tabSimple Tab16px16px
workunit_tab_area_background_imageImage24px343px
workunit_area_background_imageImage314px343px
workunit_animation_background_imageImage146px294px
workunit_animation_imageImage126px290px
workunit_gauge_background_imageImage18px258px
workunit_gauge_progress_indicator_imageImage7px8px
project_area_background_imageImage113px343px
project_imageImage40px40pxDefault image to display for a project that does not currently have an image defined.
attach_project_buttonSimple Button18px81px
right_arrow_buttonSimple Button20px20px
left_arrow_buttonSimple Button20px20px
save_buttonSimple Button16px57px
cancel_buttonSimple Button16px57px
close_buttonSimple Button16px57px
messages_link_imageSimple Link20px70px
messages_alert_link_imageSimple Link20px70px
suspend_link_imageSimple Link20px59px
resume_link_imageSimple Link20px59px
preferences_link_imageSimple Link20px81px
advanced_link_imageSimple Link20px101px
preferences_dialog_background_imageImage600px800px + The dialogs height and width change according to the configuraton of the computer + so the center of the image is what is drawn on to the dialog. +
messages_dialog_background_imageImage600px800px + The dialogs height and width change according to the configuraton of the computer + so the center of the image is what is drawn on to the dialog. +
+

+The Simple collection is described as follows: +"; block_start(); echo " +<simple> + <background_image /> + <spacer_image /> + ... +</simple> +"; block_end(); echo " +

+ + +

Advanced

+

+The Advanced collection contains all the elements need to construct the Advanced GUI. +

+The Advanced collection contains the following elements: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeImage HeightImage WidthNotes
application_nameStringDisplayed in title bar.
application_iconIcon16px16pxTaskbar icon.
application_disconnected_iconIcon16px16pxTaskbar icon when disconnected.
application_snooze_iconIcon16px16pxTaskbar icon when snoozing.
application_logoString50px47pxApplication logo that appears in the about box.
company_nameStringCompany associated with the release of the client software package.
company_websiteStringCompany website.
project_nameStringShorter version of the application name, or a specific project who sponsored the client package.
open_tabNumberWhich tab to open by default in the Advanced GUI. A value of '0' means open the last tab used.
exit_messageStringWhat message should be sent to the user when they close BOINC manager.
+

+The Advanced collection is described as follows: +"; block_start(); echo " +<advanced> + <application_name /> + <application_icon /> + ... +</advanced> +"; block_end(); echo " +

+ + +

Wizards

+

+The Wizards collection consists of two elements which are broken out into the attach +to project wizard and the attach to account manager wizard. +

+The attach to project element is descibed like this: +"; block_start(); echo " +<attach_to_project> + <title>Attach to Project</title> + <logo>graphic/logo.png</logo> +</attach_to_project> +"; block_end(); echo " +

+The title is displayed in the wizard's title bar. +

+The logo is played on each wizard page and should have a height of 280px and a width of 115px. +logos can be any of the following types: PNG, JPG, GIF, and BMP. The logo location should be +specified as a path relative to the skin.xml description file. The path seperator should be a +'/' for all platforms. +

+The attach to account manager element is descibed like this: +"; block_start(); echo " +<attach_to_account_manager> + <title>Attach to Account Manager</title> + <logo>graphic/logo.png</logo> + <account_info_message></account_info_message> +</attach_to_account_manager> +"; block_end(); echo " +

+The title is displayed in the wizard's title bar. +

+The logo is played on each wizard page and should have a height of 280px and a width of 115px. +logos can be any of the following types: PNG, JPG, GIF, and BMP. The logo location should be +specified as a path relative to the skin.xml description file. The path seperator should be a +'/' for all platforms. +

+The account_info_message is text that is displayed when the user is asked for +username/email address and password information for the account manager. +

+The Wizards collection is described as follows: +"; block_start(); echo " +<wizards> + <attach_to_project /> + <attach_to_account_manager /> + ... +</wizards> +"; block_end(); echo " +

+ + +

Skin Basic Elements

+ +

Image

+

+Images are used for backgrounds and miscellaneous visual elements. +

+Images are described as follows: +"; block_start(); echo " +<image> + <imagesrc>graphics/image.jpg</imagesrc> + [ <background_color>255:0:255</background_color> ] +</image> +"; block_end(); echo " +

+imagesrc describes the name and location of the image in question. Images +can be any of the following types: PNG, JPG, GIF, and BMP. The image location +should be specified as a path relative to the skin.xml description file. The +path seperator should be a '/' for all platforms. +

+background_color is optional and describes the backgrond color that +should be painted on to the dialog before the image is drawn over the top +of it. The color is represented as an RGB value with the token being ':'. +

+ + +

Icon

+

+These elements are used to describe the taskbar icons in various states. +

+Icons are described as follows: +"; block_start(); echo " +<image> + <imagesrc>graphics/image.jpg</imagesrc> + <transparency_mask>255:0:255</transparency_mask> +</image> +"; block_end(); echo " +

+imagesrc describes the name and location of the image in question. Images +can be any of the following types: PNG, JPG, GIF, and BMP. The image location +should be specified as a path relative to the skin.xml description file. The +path seperator should be a '/' for all platforms. +

+transparency_mask describes the backgrond color that should be used as the +transparency mask. The color is represented as an RGB value with the token +being ':'. +

+ + +

Simple Tab

+

+The different types of simple tabs represent the different states an active +task can be displayed as. +

+Tabs are described as follows: +"; block_start(); echo " +<tab> + <imagesrc>graphic/icon.png</imagesrc> + <border_color>51:102:102</border_color> + <gradient_from_color>51:102:102</gradient_from_color> + <gradient_to_color>134:179:176</gradient_to_color> +</tab> +"; block_end(); echo " +

+imagesrc describes the name and location of the image in question. Images +can be any of the following types: PNG, JPG, GIF, and BMP. The image location +should be specified as a path relative to the skin.xml description file. The +path seperator should be a '/' for all platforms. +

+border_color describes the color that surrounds the tab. The color is +represented as an RGB value with the token being ':'. +

+gradient_from_color describes the color that should start the gradient +effect. The color is represented as an RGB value with the token being ':'. +

+gradient_to_color describes the color that should finish the gradient +effect. The color is represented as an RGB value with the token being ':'. +

+ + +

Simple Link

+

+Links are images that cause an action to happen. Links do not change state +when clicked. +

+Links are described as follows: +"; block_start(); echo " +<image> + <imagesrc>graphic/image.png</imagesrc> +</image> +"; block_end(); echo " +

+imagesrc describes the name and location of the image in question. Images +can be any of the following types: PNG, JPG, GIF, and BMP. The image location +should be specified as a path relative to the skin.xml description file. The +path seperator should be a '/' for all platforms. +

+ + +

Simple Button

+

+Buttons are images that cause an action to happen. Buttons can be at rest or in +a clicked state. When the button is clicked it changes to the clicked image. +

+Buttons are described as follows: +"; block_start(); echo " +<button> + <imagesrc>graphic/button.png</imagesrc> + <imagesrc_clicked>graphic/button_clicked.png</imagesrc_clicked> +</button> +"; block_end(); echo " +

+imagesrc describes the name and location of the image in question. Images +can be any of the following types: PNG, JPG, GIF, and BMP. The image location +should be specified as a path relative to the skin.xml description file. The +path seperator should be a '/' for all platforms. +

+imagesrc_clicked describes the name and location of the image in question. Images +can be any of the following types: PNG, JPG, GIF, and BMP. The image location +should be specified as a path relative to the skin.xml description file. The +path seperator should be a '/' for all platforms. +

+ +"; +page_tail(); +?> diff --git a/doc/project_skin.php b/doc/project_skin.php new file mode 100644 index 0000000000..63eb1cdbdb --- /dev/null +++ b/doc/project_skin.php @@ -0,0 +1,143 @@ +Contents +

+ +

Custom Project Elements within the Simple GUI

+

+A 'project_files.xml' file can be created for the purposes of sending project customization +elements to the BOINC client's Simple GUI. The file should be created in the project root +directory. +

+The contents of 'project_files.xml' should look like this: +"; block_start(); echo " +<file_info /> +<file_info /> +... +<project_files> + <file_ref /> + <file_ref /> + ... +</project_files> +"; block_end(); echo " +

+It is important to note that all file_info records must appear before the project_files +record. +

+ + +

Project Icon

+

+A project icon is a 40x40 image that will uniquely identify your project within the simple +GUI. Project icons can be any of the following image types: PNG, JPG, GIF, and BMP. +

+An example would look like this: +"; block_start(); echo " +<file_info> + <name>stat_icon_01.png</name> + <url>http://www.example.com/download/stat_icon_01.png.gz</url> +</file_info> +<project_files> + <file_ref> + <file_name>stat_icon_01.png</file_name> + <open_name>stat_icon</open_name> + </file_ref> +</project_files> +"; block_end(); echo " +

+Two things to note here: +

+ +

Project Application Slideshow

+

+You can have one or more images displayed in the Simple GUI when BOINC is processing your +task. Each image can have a height of 126px and a width of 290px, and can be any of the +following image types: PNG, JPG, GIF, and BMP. +

+An example would look like this: +"; block_start(); echo " +<file_info> + <name>slideshow_exampleapp_01_01.png</name> + <url>http://www.example.com/download/slideshow_exampleapp_01_01.png</url> +</file_info> +<file_info> + <name>slideshow_exampleapp_02_01.png</name> + <url>http://www.example.com/download/slideshow_exampleapp_02_01.png</url> +</file_info> +<project_files> + <file_ref> + <file_name>slideshow_exampleapp_01_01.png</file_name> + <open_name>slideshow_exampleapp_01</open_name> + </file_ref> + <file_ref> + <file_name>slideshow_exampleapp_02_01.png</file_name> + <open_name>slideshow_exampleapp_02</open_name> + </file_ref> +</project_files> +"; block_end(); echo " +

+In this example:
+slideshow_exampleapp_02_01.png +

+'slideshow_' is the beginning of what the manager is looking for, 'exampleapp' is the +applications short name for which the slideshow belongs too, '02' is the index of the +slide within the slideshow, and 01 is the version of the file. +

+ +

Sample

+

+Here is the 'project_files.xml' file SETI@Home is using: +"; block_start(); echo " +<file_info> + <name>arecibo_181.png</name> + <url>http://setiathome.berkeley.edu/sg_images/arecibo_181.png</url> +</file_info> +<file_info> + <name>sah_40.png</name> + <url>http://setiathome.berkeley.edu/sg_images/sah_40.png</url> +</file_info> +<file_info> + <name>sah_banner_290.png</name> + <url>http://setiathome.berkeley.edu/sg_images/sah_banner_290.png</url> +</file_info> +<file_info> + <name>sah_ss_290.png</name> + <url>http://setiathome.berkeley.edu/sg_images/sah_ss_290.png</url> +</file_info> +<project_files> + <file_ref> + <file_name>sah_40.png</file_name> + <open_name>stat_icon</open_name> + </file_ref> + <file_ref> + <file_name>sah_ss_290.png</file_name> + <open_name>slideshow_setiathome_enhanced_00</open_name> + </file_ref> + <file_ref> + <file_name>arecibo_181.png</file_name> + <open_name>slideshow_setiathome_enhanced_01</open_name> + </file_ref> + <file_ref> + <file_name>sah_banner_290.png</file_name> + <open_name>slideshow_setiathome_enhanced_02</open_name> + </file_ref> +</project_files> +"; block_end(); echo " +"; +page_tail(); +?>