Welcome

Welcome to Samurize!

Samurize is the successor to the quite popular program CureInfo. It is a system monitoring utility for Win2K/XP with awesome configuration power. The configuration program is separated from the clients for minimal memory usage. It can display information about your system on your desktop, in your taskbar or over the web.

Samurize integrates with NT PerfMons to give unparalleled flexibility in displaying a wide array of information about your system while using as little resources as possible.

Samurize provides all the information you need about all your computers in once central location on your desktop. Skinnable and customizable, Samurize features a script plugin system which allows you to add the information you want, when you want it.

Some examples of information that Samurize can display are CPU Usage, Disk utilization, Network traffic, System temperatures, Top processes, Memory information and WMI information.

Samurize also features a plugin/script system that allow users to display all kinds of additional information such as Weather Reports, TV Listings and News Headlines. The only limit is your imagination!


Quickstart Guide

Samurize consists of two main programs: the desktop client (Client.exe, hereafter referred to as the Client) and the config editor.

The config editor is a WYSIWYG editor used to create Samurize "configs". A config is a file that tells Samurize what to display on the screen. To use the config editor, right-click in the large area labelled "Design Area" and select various meters from the popup menu. You can change the way that Samurize visualises the data by changing the "Draw Type" under the "Meter Properties" heading on the right-hand side of the config editor using the pulldown menu. You can also add static graphics to your config using the "Edit Graphics" tab. Once you've finished creating your config, save it to your Samurize/Configs directory.

The Client is used to display a config on your desktop. When you run the Client, an icon (it looks like a grey circle with an 'S' in it) appears in your system tray. Right-click on the tray icon to see the Client options. To load a config you have created, select your config file from the "Select Config File" menu.

A simple config (called Sample.ini) is provided to get you started.

The best way to learn what Samurize is capable of is to play around with the program yourself, but if you have trouble working some things out, feel free to stop by www.samurize.com and check out our FAQs, Tutorials and forums. Chances are someone else has already asked how to do something you are trying to do.

The only limit to Samurize is your imagination - so get out there and get making configs! :)


Features
Features:
  • Low CPU/memory usage (<1% on Celeron 633)
  • Per-pixel alpha blending (graphics are antialiased against your desktop)
  • Custom positioning (click-through, pin to desktop, always on top)
  • Unlimited number of graphs/meters
  • Multiple client instances
Built-in Meters:
  • Perfmon objects (That's a few 100 meters)
  • WMI objects (That's a few 100 more meters!)
  • Scripting support (Javascript/VBScript)
  • Plugin support (C++, Delphi, Powerbasic...)
  • Full memory monitoring (Physical/Virtual/Swap)
  • Drive monitoring (Network/Fixed/Mapped)
  • Laptop support (Battery Level/Status)
  • Console Support (displays output of almost any DOS command)
  • Uptime monitoring
  • Date/Time display
  • POP3 mail account checking
  • Total Net Sent/Recieved
  • Media Player Support (Winamp 2/3/5, foobar2000, Quintessential Player)
  • Full MBM support (Any sensor, requires MotherBoard Monitor to be installed)
  • Text File support (Display lines from text files up to 4GB in size)
Display Types:
  • Text
  • Line graphs
  • Histograms
  • Pie graphs
  • Progressbars
  • Analog dials
  • Dynamic images
Graphic Objects:
  • Common shapes (Rectangle, rounded rectangle, ellipse, line)
  • Images (GIF/JPEG/PNG/BMP/ICO formats)


Donate

Samurize is free for personal use. However, if you wish to express your appreciation for the time spent on developing, documenting and supporting it, donations are accepted and very much appreciated. You can donate by clicking on the image below.

Thank you for your support.


Changes

v1.63 release
-------------
    Bug Fixes:
        * Fixed bug when saving config with no meters.
        * Fixed the default values for the ToolTip
        * Fixed blending problem with the Visual Plugins.
        * Fixed a Selection bug in the meter list.
        * Fixed a bug in the Decimal points of the Tool Tip meters.
        * Fixed if blank Linkage the link is not run.
        * Fixed a bug in the tray icon not changing when using the commandline options.
        * Fixed the config editor not returning the language file name and config file name when using the plugin api.
        * Fixed actions to ensure they are cleared correctly if a source plugin doesnt return the information.
        * Fixed a bug in the alert meter image alert processing.
        * Fixed bug with single click occuring with double clicks.
        * Fixed problem with repeating lines in the Text Meters.
        * Fixed bug with client not saving location on windows shutdown.
        * Fixed a Bug with copy and pasting Visual Plugins
        * Fixed Uptime meter so that it will go up-to 49 days now
        * Fixed bug in upload and download

    Changes/Improvements:
        * Text Shadowing.
        * Transparent area color setting for Background images. (Not been added to meter images because it would significantly increase CPU usage).
        * Meter Centering when selected on the meter list.
        * Day ordinal has been added (used in conjunction with the language file).
        * Edit instance of the instance manager has been made wider.
        * Meter Linkage now tries to work out the working directory for the file passed.
        * Added %dl, %dr and %dm for double clicks to be returned by plugins and scripts.
        * Added a new return value for the tooltips, %vl. This is replaced by the %tt value if present returned by script/plugin.
        * Alerts can now have Custom Text returned.
        * Added option to trim alert value before doing the alert compare processing.
        * Added Mouse Up / Mouse Down for Left, Right and Middle mouse buttons (none of these actions work for Right in the taskbar).
        * Meter Linkage will now work on Mouse Over/Out and Mouse Enter/Leave..
        * Graphical images and Image Output Types now support http:// downloading. Animated Gifs not allowed at present.
        * Removed the Text File size limit of 8k.
        * Taskbar will now honour the commandline parameters to use call as client.exe taskbar .
        * Grid and Highlight colours can be changed in the config editor.
        * If ToolTip Text is over 999 then the text is truncated.
        * Input Plugins can now force an update for the meter that they are associated with.
        * Add alert values If Value has increased, and if value has decreased.
        * Added keyboard input for input plugins.
        * All Standard Meters are allowed a background color with an alpha blend.
        * All Standard Meters are allowed a border.
        * Rectangle has border width (if useful will add to other rectangle object).
        * Mouse Drag Input option has been added
        * Improved selection of the Inputs in the Config Editor
        * Improved Copy and Paste code so that you can copy and paste across multiple instances of the config editor.
        * All Standard Meters can draw a grid

    New Features:
        * Meter Maths.
        * Remote Meter to monitor the new samurize server (rather than just xml and png, it will allow you to get information straight into samurize).

v1.62 release
-------------

    Bugfixes:
        * Fixed a couple of bugs with the MeterList - Selection problems mainly
        * Fixed the problem with the preference panel not displaying labels
        * Fixed a problem with meter caching after a reboot
        * Fixed a bug in the Config editor not passing its HWND to Input plugins
        * Fixed a bug with the update interval after a new reboot
        * Fixed a bug Source plugins configure

    Changes/Improvements:
        * Windows Link files are resolved correctly on meter linkage
        * Easier to add plugins to a config
        * Meter Name is now copied correctly on a copy or cut (prefixed with copy of if same name exists)
        * Grouping has been added to the meter list
        * Tooltips have Popup delay and Time to display for
        * Meter List now has simple grouping
        * Added Text Formatting to the ToolTip Input
        * Upgraded the Graphics driver for some minor bugs fixes
        * Meter/Group Locking
        * Vertical Scrolling for Text Meters
        * Multiple Alerts
        * New alert type 'If value has changed'

    New Features:
        * AppBar on the samurize client
        * Hide Icon can be specified so you can tell your client is hidden
        * Samurize Update will automatically sense a new version of samurize
        * Icon Packs for the Config Editor

v1.61 release
-------------

    Bugfixes:
        * Fixed bug with script parameters being empty
        * drivespace meter copy bug fixed
        * 'hide' commandline arg can be used to start clients hidden
        * fixed Invalid Floating Point error on Graphs when using Peak Meter
        * Drivespace % bug fixed
        * fixed test all scripts/plugins bug
        * %m/%h date/time variables now truly 'smooth'
        * %hr[r] displayed 12o'clock as 0o'clock - fixed
        * fixed ICO file loading bug
        * improved plugin list loading times

    Changes/Improvements:
        * upgraded graphics engine, improved blending/antialiasing effects
        * Battery meters merged into one, formatting options added
        * WMI namespace entry
        * snap to screen edges snaps to windows taskbar
        * Updated the source_configure function for plugin writers (see help file)
        * Ctrl+Mousewheel changes zoom in editor

    New Features:
        * client fadein/fadeout
        * Config Editor Meterlist
        * Input SDK

v1.60 release
-------------

    Bugfixes:
        * fixed graphic object height buttons bug
        * fixed minor alert bug
        * fixed minor graph bugs
        * fixed bounce scrolling bug
        * fixed large fonts problem with Instance Manager
        * Fixed Bug with leading and trailing spaces/tabs removed on Text Output
        * fixed Analog meter memory leak
        * fixed About box bug for visual plugins
        * fixed "No Disk" Drivespace meter error
        * leading zeroes now preserved in text display type
        * fixed instance manager error on first use
        * fixed Server pause bug
        * fixed commandline option bugs when instance/config names contain "reserved" commands
        * Pin to Desktop "Compatibility Mode" for users running multimonitor setups
        * fixed minor image bug so image does not get reset when clicking in the path box
        * fixed select config file menu bug
        * fixed png/xml server commandline options
        * 'close' commandline option does not open an instance if it is not running
        * fixed server PNG output bug when no config loaded

    Changes/Improvements:
        * loop N times for animated GIFs
        * translated Instance Manager
        * instance names no longer case-sensitive
        * multiline scrolling supported
        * zoom up to 1200%
        * individual refresh rates per meter
        * New Look Toolbars and Menu Bars
        * Improved Preferences Dialog Box
        * custom colors loaded/saved on show/close color dialog
        * upgraded graphics engine (should be stabler)
        * reduced CPU usage for Image display type when aspect ratio not maintained
        * 12-hour time display without AM/PM for DateTime meter
        * taskbar client API calls
        * snap to screen edges works with edges of multiple monitors
        * multiple drive selection for DriveSpace meter
        * Reload/Edit Config buttons, tray icon for instance manager
        * Instance manager menu option in clients
        * Min digits before decimal place for text display meter
        * pressing enter applies all edit controls
        * Text meter wrapping - words that are too long for a line are wrapped
        * %v works in sound/command alerts/meter linkage
        * tweaked tray icon to use 16x16 icons in preference to 32x32, and relative paths
        * image cropping option for Image display type
        * Config name added to client tray icon hint
        * Ctrl+Shift+V performs paste meter in original position
        * tweaked meter linkage/alert commands to pass parameters correctly
        * new icons (big props to JyriK)
        * Added Edit Image buttons to Background image and Meter Image properties
        * Proxy settings

    New Features:
        * Run Meters when Config loads into Editor
        * SpeedFan meter type
        * CPU priority
        * PHPScript support
        * Import Export tool for easy config sharing

    Installer:
        * Language settings
        * Winning configs from the last config competition are included

v1.55 release
-------------

    Bugfixes:
        * fixed WMI crashing bug
        * fixed vertical alignment issue
        * fixed paste decimal issue
        * fixed 1-px antialiased graph bug
        * fixed bizarre floating point error
        * fixed rare activescript bug
        * fixed all decimal separator issues
        * fixed rectangle glitch
        * fixed config editor script saving bug
        * ... plus a few more

    Improvements:
        * added "actual" pagefile usage to memory meter
        * new AMPI (kudos to Tropics)
        * new Screensaver (kudos to Tropics)
        * middle mouse button = paste
        * tweaked scrolling
        * heaps of missing translations added
        * improved config loading error handling
        * improved script execution
        * improved script error reporting
        * minor tweaks to config editor
        * Winamp % playlist completion
        * DateTime week number
        * advanced WMI selection
        * scroll pausing
        * nopng/noxml options for Server
        * text truncation
        * selected config/language file indicated in menus
        * new sample C++ source plugin (thanks AdamC)
        * bottom panel in config editor shown by default for new installations
        * client "Run on startup" option
        * config editor assign to instance

    New Features:
        * abs. always on top for Client
        * horizontal graphs/histograms
        * rubyscript support
        * animated GIF support
        * instance manager application

v1.50 Release
-------------

    Bugfixes:
        * DLL error fixed that caused tadis' Milk Suite to crash
        * fixed network paths issue
        * fixed IME issue for Asian users (improved config editor loading time)
        * fixed zooming in on small images bug
        * all/multiple perfmon selections now work as expected

    Improvements:
        * updated AMPI plugins (kudos to Tropics)
        * smaller zoom levels
        * next/previous meter cyclic
        * ctrl-pgup/pgdn for switching tabs
        * smooth scrolling
        * "bounce" scrolling
        * each instance can only be open once
        * environment variables expanded for script/plugin parameters
        * image antialiasing option in config editor
        * sound/command alerts can each have individual settings
        * custom WMI class input box for WMI chooser window
        * BMP/GIF/JPEG output formats for the Server
        * installer should close media players if installing/removing plugins for them
        * API enhanced

    New Features:
        * command line options galore!
        * Perlscript/python support

v1.41 Release
-------------

    Bugfixes:
        * new POP3 password encryption
        * fixed Rectangle graphic object glitch

v1.40 Release
-------------

    Bugfixes:
        * fixed memory leak with image ratio option
        * fixed peaking bug
        * fixed rare selection bug
        * fixed analog line width bug
        * fixed image path bug for Image graphic object

    Improvements:
        * updated AMPI plugins (kudos to Tropics)
        * file path displayed in config editor title
        * option to disable config outline
        * next/prev keys changed to pgdn/pgup to allow field tabbing
        * scrolling in the Tools and Settings area reduced by introducing more tabs
        * more uptime options
        * new sample config (cheers Em7)
        * password encryption for POP3 password
        * latest 4 config files in file menu
        * open folder in select config file menus

    New Features:
        * Vastly improved plugin interface
        * base width for analog meter

v1.31 Release
-------------

    Bugfixes:
        * fixed several issues with nested config folders

    Improvements:
        * Config Editor warns when overwriting config files
        * Updated AMPI media plugins (kudos to Tropics)

v1.30 Release
-------------

    Bugfixes:
        * fixed concurrency issues with SamurizeServer.exe
        * fixed Config Editor display bug in 800x600 resolution
        * uptime meter now allows longer than the previous 47-day limit
        * mouseover cursor uses system hand pointer

    Improvements:
        * relative paths for image filenames and textfile meters
        * improved handling for corrupt images
        * heaps more hotkeys
        * improved installer (remembers path, more configurable)
        * DTD/XML scema updated (some data missing)
        * additional command line options
        * a lot of code rewritten and improved

    New Features:
        * Maintain Aspect Ratio option for Image meter type
        * foobarv0.8 support for built-in foobar2000 meter
        * beginnings of the Samurize API

v1.25 Release
-------------

    Bugfixes:
        * "Fixed" cleartype font problems (disable text antialiasing to improve readablility)
        * fixed values not being saved when 'save' selected while component has keyboard focus

    Improvements:
        * Config Editor preferences - set default script editor
        * Custom offset for analog meters
        * Set font properties globally in Config Editor
        * Text/Graph meter antialiasing can be disabled
        * Permanent meter peaks option
        * JPEG,GIF,ICO,BMP image support
        * Alert action occurence option (Always/Once)
        * Custom "Hide Tray Icon" hotkey
        * Line graphic object redesigned
        * Updated media plugins (kudos to Tropics) - see SpectrumReadme.txt

    New Features:
        * Underline, strikethrough formatting for fonts
        * Cursor changes over hyperlinks
        * Thousand seperators for numbers
        * Text meter scrolling

v1.20 Release
-------------

    Bugfixes:
        * fixed PNG Meter image bug ('png')
        * "Track Resolution Changes" option removed (it wasn't helping)

    Improvements:
        * Updated media plugins (kudos to Tropics)
        * Improved vertical taskbar support
        * Default tab size increased
        * WindowsXP Look & Feel for Config Editor
        * Improved readme/installer
        * Multiple server instances allowed with different output settings
        * Configs can be organized in subfolders of the Samurize/Configs folder

    New Features:
        * Choose-Your-Own Tray Icon
        * Play sounds/perform commands on alert conditions
        * Line graphic object
        * Peaks for most meter types
        * Alert conditions for PNG Image Meters
        * Snap to screen edge option for Client
        * Word wrapping for Text meters

v1.16 Release
-------------

    Bugfixes:
        * fixed progressbar splitting glitch
        * fixed align bug in config editor
        * fixed script parameter listing bug
        * fixed Pin To Desktop + "Show Desktop" bug

    Improvements:
        * next/previous in Config Editor centers on meter
        * update option in Client/Taskbar/Server

v1.15 Release
-------------

    Bugfixes:
        * Winamp meter bugfixes for CD and streaming media

    Improvements:
        * copy/paste improvements
        * Resolution tracking behaviour of v1.1 is now optional
        * moving averages for histograms
        * text file lines increased to 100
        * version checking option in Config editor
        * Alpha level for PNG Image meter
        * Reduced CPU usage for PNG Image meter
        * ID3v2 tag support for inbuilt Winamp meter (+ more tags)

    New Features:
        * "Value contains" alert value
        * background for pie meters
        * graphs can be filled with a seperate color
        * WMP9, iTunes, Winamp5 plugins (thanks Tropics)

v1.1 Release
------------

    Bugfixes:
        * a couple of paste bugs fixed
        * commented functions are now not parameterised in the config editor
        * WMI language bug fixed
        * Pin to desktop bug fixed in the client
        * 1px clipping on left of text meters fixed
        * workaround for Windows multimonitor glitch with fullscreen apps

    Improvements:
        * string alert values now work
        * progressbar alert color alpha also affects the background color
        * fonts remembered in config editor
        * project interval rate can now be as low as 50ms (use with care!)
        * plugin meters changed to run at project update interval
        * multimonitor support for the config editor
        * ID3v1.1 tag support for Winamp meters (title, artist, album etc.)
        * navigation of meters in config editor via button presses
        * zooming in the config editor stays centered
        * %tab for tabs in text meters
        * better C++ plugin sample code (kudos to Tropics)
        * added media player plugins (again kudos to Tropics)

    New Features:
        * Server program
          - outputs Samurize data to XML or a PNG image
        * Screensaver (by Tropics)
          - works in conjunction with the Server program to display a config
            as a screensaver

v1.0.1 Release
--------------

    Bugfixes:
        * fixed language bug with taskbar
        * improved dyanamic PNGs rendering quality
        * copy/paste "Run more frequently" bug fixed
        * Select All bug fixed
        * Winamp meter bug fixed
        * fixed precision issues with meters

v1.0 Release
------------

    New Features:
        * Plugin meter
        * QCD meter
        * Config editor formatting options - alignment
        * Config editor merge command
        * PNG Image display type (dynamic - use with great care, can consume great CPU% if used too much)

    Bugfixes:
        * pie graphs, rounded rectangles & ellipses alignment fix
        * histogram 1-pixel shift bug fixed
        * WMI form resizing bug fixed
        * "Run every X min" translation bugfix
        * MBM farenheit bugfix
        * Zoom options not shown bug fixed
        * Fixed crashes caused by launching the client from a Dock app

    Improvements:

        * improved Winamp meter
        * DEFAULT_CHARSET for non-ascii languages
        * shift-resizing (preserving aspect ratio) in config editor
        * 1x1 pixel minimum meter size
        * X,Y, width,height for graphic objects
        * any single-click activates meter linkage
        * 24hr analog clock formatting option (%hh)
        * ActiveScripts more resilient to being configured wrong
        * Certain hotkeys prevented from being used (Caps Lock, Scroll Lock...)
        * Additional language fields (see LanguageChanges.txt)


Contact Details
Website: http://www.samurize.com/
Forums: http://www.samurize.com/modules/ipboard/
Samurize Programmers
 | Lee Wilson aka "NeM"
 | Lead Programmer / PHP Monkey
 | email: nem@samurize.com
 | icq: 18324316
 | Adrien Rochereau aka "Alderaic"
 | Programmer
 | email: alderaic@ratiatum.com
 | icq: 173174191
 | Adam Coulthard aka "AdamC"
 | Programmer
 | email: adamc@samurize.com
 | Tropics
 | Resident C++ programmer / Forum Moderator
 | email: samurize@only-tropics.de
 | Gustaf Lundh aka "Cure"
 | Founder
 | email: cure@samurize.com
 | icq: 18690077
 | Oscar lundh aka "Sim"
 | Founder
 | email: sim@samurize.com
 | icq: 18214860
Webmasters
 | Rowan Gillson aka "D0ktr_EvL"
 | Forum Moderator
 | email: r_gillson@hotmail.com
 | icq: 14895674
 | Matt Lestock aka "Chew"
 | Old Webhost Admin
 | email: matt@jmcomputers.com
 | icq: 20152696
 | Sven Andersson aka "SweetFish"
 | Founder/Old Webmaster
 | email: sweetfish@samurize.com
 | icq: 64250303
Moderators
 | Troels Müller aka "LimDul"
 | Forum Moderator / samurize.dk Admin
 | email: limdul@limdul.dk
 | icq: 153513920
 | Gramps aka "Q. Tews"
 | Forum Moderator
 | email: Q.Tews@samurize.com
 | icq: 25043322
 | Thorin
 | Forum Moderator
 | email: kingthorin@hotmail.com
 | Raiderman
 | Forum Moderator
 | email: Raiderman6u@hotmail.com
 | JyriK
 | Graphic God / Forum Moderator
 | email: jyri_kuparinen@hotmail.com
 | KMDonlon
 | Weather Freak / Forum Moderator
 | email: kmdonlon@samurize.com


End User Licence Agreement (EULA)

===================================
Serious Samurize Software Agreement
(EULA - End User Licence Agreement)
===================================

This document is a legal agreement ("Agreement") between you (an individual, group, business or entity) and the authors of this software, the Samurize Crew.

BY INSTALLING, COPYING OR OTHERWISE USING THE PRODUCT (AS DEFINED BELOW), YOU AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT INSTALL, DISTRIBUTE OR USE THIS SOFTWARE.

The Software:

This software (Serious Samurize) is copyright 2003-2004 by Gustaf Lundh. It is free for personal use. If you wish to use this software in any business or commercial environment, for profit or not, we require that you make a donation of at least $US5 (five American dollars) to help cover our costs and give the Samurize Crew some compensation for their work.

Liability Statement:

Serious Samurize is provided as-is and is used at your own risk. Any information or statistics you get from this program may not be 100% correct so DO NOT RELY ON ANY VALUES THIS PROGRAM REPORTS. If in question, always suppose the values reported by the recommended software from your hardware vendor is correct.

This program was created with the best intentions to provide system information and more but we (the Samurize Crew) cannot be held responsible for any hardware, software or any other problems that may arise during the use of this software.

Distribution:

Provided that you specify that you are distributing this software as freeware, you are hereby licensed to make as many copies of this software and its documentation and it in its original, unmodified form via any means, electronic or otherwise. There is no charge for any of the above, but you must mention the donation requirement for commercial users as mentioned above.

However, you are prohibited from charging or requesting donations for any copies of this software, and from distributing the software and/or documentation with other products (commercial or otherwise) without prior written permission.

Further information:

Should you have any questions concerning this Agreement, or if you desire to contact the authors for any reason, please email one of the following people:

Lee Wilson nem@samurize.com or ldwilson@xtra.co.nz


Config Editor Overview
The Config Editor is used to design config files to be later used with the Desktop Client, Taskbar Client or Server executable.

Config files end with a .ini suffix and tell Samurize how and where to display information.

Config files must be stored in your Samurize/Configs folder.

Without a config file, Samurize is pretty useless... fortunately, a few are provided with Samurize to get you started.

The interface is devided into two main sections: the Design Area, where Samurize meters can be manipulated and resized, and the Tools and Settings area, where meters, Background Objects and config-specific options can be tweaked and changed.

There is also a meter list on the left-hand side of the config editor to allow quick selection of meters in your config.


Config Editor Main Menu & Toolbar
The Config Editor has a number of commands accessible via the main menu and toolbar at the top of the window.

File Menu | New 1 | Clears the Design Area and creates a new config file to work on.
Open... 2 | Opens an existing config file in the Design Area.
Merge... | Merges an exisitng config into the config currently being designed.
Save 3 | Saves the config currently being edited.
Save As... | Saves the config currently being edited to a new file.
Exit... | Quits the Config Editor.
Edit Menu | Cut 4 | Cuts (copies & deletes) the selected meter(s) to the clipboard.
Copy 5 | Copies the selected meter(s) to the clipboard.
Paste 6 | Pastes copied meters from the clipboard to the Design Area.
Delete 7 | Deletes all meters currently selected.
Select All | Selects all meters in the Design Area
Preferences... | Displays the preferences window.
Meters Menu Align Aligns all selected meters.
  • Left
    • - aligns all selected meters to the left
  • Center
    • - horizontally centers all selected meters
  • Right
    • - aligns all selected meters to the right
  • Top
    • - aligns all selected meters to the top
  • Middle
    • - vertically centers all selected meters
  • Bottom
    • - aligns all selected meters to the bottom
Next Meter 12 | Selects the next meter in the Design Area.
Previous Meter 13 | Selects the previous meter in the Design Area.
Test Menu | Test All Plugins | Tests all plugin meters in the current config.
Test All Scripts | Tests all ActiveScript meters in the current config.
Language Menu | Select Language | Allows you to select the language in which options and menus are displayed. Language files can be downloaded from samurize.com and are stored in your Samurize/lang directory.
Help Menu | Help | Displays this help file.
Online Tutorial | Takes you to the Samurize Tutorial pages on samurize.com.
Check for Updates | Checks the version of Samurize you are running and informs you if a new version is available.
Visit Homepage | Takes you to the Samurize home page.
About | Displays information about the current version of the Config Editor.
Donate | Takes you to the Samurize PayPal Donation page.
Miscellaneous toolbar buttons | Bring to front 10 | Brings the selected meter to the front.
Bring forward 11 | Brings the selected meter forward one layer.
Send back 12 | Sends the selected meter back one layer.
Send to back 13 | Sends the selected meter to the back.

NOTE: Background Objects cannot be brought in front of meters, and meters cannot be sent behind Background Objects.


The Design Area
The Design Area is where a "preview" of your config is shown. You can manipulate, move and resize meters and Background Objects as you see fit to create your own configs or modify existing ones. It is the same size as your virtual desktop area (the rectangle that encloses the display area of every monitor connected to your computer).

When you launch the Config Editor, the Design Area is initially empty until you start adding meters and Background Objects.

You can add meters to the Design Area by either right-clicking in the Design Area and selecting a meter from the popup menu, or by using the Tools and Settings panel to the right of the Design Area (more on adding meters later).

Meters can be manipulated in the Design Area by using the mouse to left-click and drag them around or resize them using the small squares on the sides and corners of the meters. By holding Shift and resizing meters, you can keep meters in proportion.

You can also use the arrow keys to manipulate meters. The Left, Right, Up and Down arrow keys move meters in the respective directions. Holding Shift and pressing the arrow keys resizes the meters instead of moving them. The Control key modifier makes all resizing operations ignore the Grid Size, allowing you to fine-tune a meter's position.

Furthermore, multiple meters can be selected and moved by either holding down the Control key and left-clicking on the meters you want to select, or by left-clicking and dragging out a selection rectangle that selects all meters in the region when the left mouse button is let go.

Underneath the Design Area area are a number of options to assist you in creating your config file.
Option | Description
Grid Size (X x Y) | When Snap To Grid is enabled, this determines the increments (in pixels) by which meters move and resize while dragging them with your mouse or moving them with the arrow keys.
Snap To Grid | When enabled, meters and Background Objects are "snapped" to sizes indicated by the grid size. When disabled, meters and Background Objects can be freely moved and resized.
Zoom (%) | Zooms the Design Area in or out.
Use Bitmap Background | When checked, you can inserts an image as the background for the Design Area (useful for blending a config with a desktop wallpaper for example).
Take Screenshot | Takes a screenshot of your current desktop and sets it as the background of the Design Area. Only available when Use Bitmap Background is enabled.
Desktop Overlay | Draws hatched areas on the Design Area, each representing the area covered by monitor connected to your system.
Highlight Meters | Draws thin blue lines around the borders of meters and Background Objects to make them easier to see when they are not selected.
Show Config Outline | When enabled, a green outline is drawn around your config. If your config is large, this line will change color to red and a warning will be displayed in the status bar.
Design BG Color: Changes the background color of the Design Area.

Tip: You can use the keyboard shortcut Ctrl+S to quickly save your work.


Adding Meters
Meters are the guts of a Samurize config. They display all kinds of dynamic, real-time systems statistics, news headlines, media player info and much much more.

To add a meter to your config, click on the Add Meter button under the Edit Meters tab in the Tools & Settings area, and select the meter you want to add.

Tip: You can also add meters by right-clicking on the Design Area.
After adding the meter, it will be automatically selected. The Tools & Settings area to the right of the Design Area will now have settings applicable to the meter you have selected.

To find out more about a particular meter, click on it in the menu in the image above.

Add Text Add Active Script Add Console Program Add Date/Time Add Drive Space Add Laptop Battery Add Memory Add Plugin Add Perfmon Add POP3 Add Text File Add Total Up/Down Add Uptime Add Windows Management Instrumentation (WMI) Add Hardware Status (MBM, Speedfan) Add Media (foobar2000, QCD, Winamp)


Common Meter Properties
All meters share a set of properties that define the meter's position, how it is displayed and how it behaves. These are displayed in the Tools & Settings area of the Config Editor under the General tab when you have a meter selected.

Meter Name | The name of the meter. This can be anything you like. Use something descriptive if you want to be able to easily select it from the meter list.
Draw Type | How to display the selected meter's output. For more information about Draw Types, click here.
X/Y | Defines the coordinates of the upper-left corner of the selected meter in the Design Area.
Width/Height | Defines the dimensions of the meter in pixels.
Enable Alert Value | Allows you to create alert conditions for when meter values exceed, equal or drop below a specified value (see below).
Show Peak Value | Allows you to display peak values for meters (see below).
Refresh Interval (ms) | Allows you to fine-tune the refresh rate of a meter. Note that a refresh rate of less than or equal to the Display Refresh Interval under the Project Options tab will only update at the Display Refresh Interval.
Alert Properties | The meter performs specified actions or changes color when a condition is met.
 | Alert When... | The condition for alert actions to be performed.
 | Value | The value for when alert actions are performed.
 | Alert Color | The color the meter changes to when the alert condition is met.
 | Alpha Blending | The alpha value (0-255) or transparency of the meter when the alert condition is met.
 | Alert Color 2 | The second color the meter changes to when the alert condition is met. Only available for certain meter types, where a second color has been specified.
 | Alpha Blending 2 | The second alpha value (0-255) or transparency of the meter when the alert condition is met. Only available for certain meter types, where a second color has been specified.
 | Play Sound | The chosen .wav sound file is played when the alert condition is met.
 | Perform Command | The specified command is executed when the alert condition is met.
 | Perform Alert Action... | Once - the specifed sound/command is played/executed once when the meter meets the alert condition, and not again until the alert is triggered again. Always - the specifed sound/command is played/executed every time the meter value changes and still meets the alert condition.
Peak Properties | The meter displays a "peak" value indicating the highest value recorded by the meter.
 | Permanent Peak | When enabled, the peak value is remembered indefinitely.
 | Peak Duration | When Permanent Peak is disabled, peak values will be remembered for the specified interval before being reset.
 | Peak Color | The display color of the peak.
 | Alpha Blending | The alpha value (0-255) or transparency of the peak.


Meter Display Types
The Display Type of a meter determines how the meter presents its information.

The options for the currently selected Display Type can be seen under the Display tab.
Text | Outputs meter values as text.
 | Text: | The text to display. %v represents the meter's value - you can append or prepend text by adding it before or after the %v.
 | # of Decimals | The number of decimal places to round numerical values to. This setting has no effect on non-numerical meter output.
 | Min leading digits | The minimum number of digitals to display before the deciaml place. This setting has no effect on non-numerical meter output.
 | Horizontal Align | Determines how the text is aligned horizontally.
 | Vertical Align | Determines how the text is aligned vertically.
 | Use thousand seperators | When enabled, numerical values are seperated with thousand seperators. This setting has no effect on non-numerical meter output.
 | Word Wrap | When enabled, text that flows past the edge of the meter will be wrapped to the next line.
 | Truncate it | When enabled, text that flows past the edge of the meter will be truncated with an elipsis (…).
 | Scroll | When enabled, the meter's text will scroll if it is too wide to fit inside the meter's area.
 | Scroll Direction | The direction to scroll text when Scroll is enabled.
 | Seperator | Text to seperate the end of the text from its start when scrolling when Scroll is enabled.
 | Scroll Interval (ms) | How often the meter should scroll, in milliseconds (1000 milliseconds = 1 second), when Scroll is enabled.
 | Line Spacing | How far apart each line of text should be (pixels).
 | Tab Size | The size of tab delimiters when tabs are present in the meter's output.
 | Underline | When enabled, the text is underlined.
 | Strikethrough | When enabled, the text is striked through.
 | Antialiased | When disabled, the text is not antialiased against the background behind it. If you have Cleartype fonts enabled you may want to disable this option.
 | Alpha Blending | The alpha value (0-255) or transparency of the text.
 | Select Font... | Click this button to select the font face, size and style of the text.
 | Select Color... | Click this button to select the color of the text.
 | Apply to all Text Meters... | Click this button to apply the color, font and style of the selected meter to all other meters with their Draw Type set to Text.
Graph | Outputs meter values as a line graph.
 | Min Value | The minimum value displayed by the graph.
 | Max Value | The maximum value displayed by the graph.
 | History Length | How many updates the graph should store and display values for.
 | Average | When enabled, the values displayed by the graph are averaged over the specified number of values.
 | Alpha Blending | The alpha value (0-255) or transparency of the graph.
 | Select Color... | Click this button to select the color of the graph.
 | Filled | When enabled, the underneath of the graph is filled with the specified Alpha value and color.
 | Invert | When enabled, the graph is inverted vertically (drawn upside-down).
 | Reverse | When enabled, the graph is flipped horizontally (values move from the right to left instead of left to right).
 | Antialiased | Disable this option to draw the graph with a non-antialiased line. Useful for very small graphs.
Progressbar | Outputs meter values as a progressbar.
 | Horizontal/Vertical | Specifies the orientation of the progressbar.
 | Reverse | When enabled, the progressbar is drawn right-to-left/top-to-bottom instead of left-to-right/bottom-to-top.
 | Min Value | The minimum value displayed by the progressbar.
 | Max Value | The maximum value displayed by the progressbar.
 | Split Spacing | When enabled, the progressbar is split up into portions of a specified pixel width/percentage of the whole meter.
 | Alpha Start | The starting alpha value (0-255) or transparency of the progresssbar.
 | Alpha End | When enabled, defines the end alpha value (0-255) or transparency of the progresssbar.
 | Start Color... | Click this button to select the starting color of the progressbar.
 | End Color... | Click this button to select the end color of the progressbar.
 | Background | When enabled, the background of the progressbar is filled with the specified Alpha value and background color.
 | Test Value (%) | Sets the percentage of the progressbar (useful for testing out how your config will look).
Histogram | Outputs meter values as a histogram (bar graph).
 | Min Value | The minimum value displayed by the histogram.
 | Max Value | The maximum value displayed by the histogram.
 | History Length | How many updates the histogram should store and display values for.
 | Average | When enabled, the values displayed by the histogram are averaged over the specified number of values.
 | Alpha Blending | The alpha value (0-255) or transparency of the histogram.
 | Select Color... | Click this button to select the color of the histogram.
 | Use spacing | When enabled, the bars of the histogram are spaced out.
 | Invert | When enabled, the histogram is inverted vertically (drawn upside-down).
 | Reverse | When enabled, the histogram is flipped horizontally (values move from the right to left instead of left to right).
Analog | Outputs meter values as an analog pointer.
 | Pointer Type | Determines what the pointer should look like.
 | Min Value | The minimum value displayed by the analog pointer.
 | Max Value | The maximum value displayed by the analog pointer.
 | Pointer Width | Increase this width to make the pointer wider.
 | Base Width % | The width of the base of the pointer expressed as a percentage of the diameter of the meter (not available for the Line pointer type).
 | Start Angle | Defines the starting position of the analog pointer.
 | Sweep | Defines the angle the analog pointer sweeps through between its maximum and minumum values. A sweep of -360 degrees means the analog pointer turns a full circle clockwise.
 | Test Value (%) | Sets the percentage of the progressbar (useful for testing out how your config will look).
 | Offset % | Defines where the analog pointer starts, as a percentage of the pointer's length.
 | Alpha Start | The starting alpha value (0-255) or transparency of the analog pointer.
 | Start Color... | Click this button to select the starting color of the analog pointer.
 | Alpha End | When enabled, defines the end alpha value (0-255) or transparency of the analog pointer.
 | End Color... | Click this button to select the end color of the analog pointer.
Pie | Outputs meter values as an pie graph.
 | Min Value | The minimum value displayed by the pie graph.
 | Max Value | The maximum value displayed by the pie graph.
 | Start Angle | Defines the starting position of the pie graph.
 | Sweep | Defines the angle the pie graph sweeps through between its maximum and minumum values. A sweep of -360 degrees means the pie graph turns a full circle clockwise.
 | Inner Radius % | Defines the pie graph's inner radius. You can create donut-shaped pie graphs by setting this value lower than 100%.
 | Test Value (%) | Sets the percentage of the progressbar (useful for testing out how your config will look).
 | Color... | Click this button to select the color of the pie graph.
 | Alpha | The alpha value (0-255) or transparency of the pie graph.
 | Background | When enabled, the background of the pie graph is filled with the specified Alpha value and background color.
Image | Displays an image. The path to the image is defined by the meter's output. For example, a meter that returned the text C:\pics\mypic.png would display that image. When the image changes on disk (or the path changes) the meter will refresh to display the new image (unlike the static Image Background Object).
 | Path | The path to the image file. %v represents the meter's value - you can append or prepend parts of the image path by adding it before or after the %v.
 | Master Alpha | The alpha value (0-255) or transparency applied to the image.
 | File | The path to the file. %v represents the meter's value; you can append/prepend text to this value to create the full image path if needed.
 | Reset Size | Resets the image to its original size. (note: this operation will not work if the Maintain Aspect Ratio option is checked)
 | Resizing behaviour | With Stretch, the image is stretched to fit in the space provided. With Crop, the image is cropped if it is too big.
 | Maintain Aspect Ratio | The image's width:height ratio is preserved when the meter is resized or the image changes.
 | Use Default Image | When enabled, the meter will display a default image when the image file path returned by the meter is invalid.
 | Only Loop N Times | When enabled, animated GIFs displayed will be looped N times instead of looping indefinitely.
 | Stop on first frame | When enabled, animated GIFs will half on the first frame of animation after looping.
Visual Plugin | Meter values are passed to a special type of Samurize plugin which then renders the value itself. Visual plugins can be downloaded from samurize.com.
 | Select Plugin: | Select the plugin file.
 | Configure... | Click this button to configure the visual plugin.
 | About Plugin... | Pressing this button displays a dialog containing information about the plugin like the plugin author's name and contact details.


Meter Types
A meter's type determines what information it displays.

Options for each meter type are listed under the Source tab.
Text | A simple static text label. No options are available for this meter type.
Active Script | Displays text returned by a VBscript of Javascript function. Scripts need to be placed in your Samurize/Scripts directory.
 | Select Script: | Select the script file.
 | Select Function to Run: | Choose the function you wish to run from the selected script.
 | Run every X min/sec | Sets how often the script should be run. It is advised not to use less than 3 minutes for this setting.
 | Test Script | Allows you to test the script and its output. The output appears in the Result box.
 | Run more frequently | When enabled, scripts can be run more often than once every minute. WARNING: this can severely increase the amount of resources Samurize uses. Use it at your own risk.
 | Change Parameters | Edit the parameters (if any) the selected function requires to execute (see the documentation for the script you are using). The parameters are listed in the Parameters box.
 | Edit Script | Opens the script in notepad for editing. You can change the default editor in the Preferences window (Edit menu -> Preferences).
Console Program | Captures the output of a console program or DOS command.
 | Command Line | The program/command (including any parameters) to execute.
 | Test Command | Test the output of the program/command.
 | Update every X minutes | How often you want the program/command to be executed.
Date/Time | Displays the date and time in a customizable format.
 | Format | Format to display the date and time in. Refer to the Date & Time Formatting Guide for more information (or click on the ? button to the right of the Format field).
 | Adjust Time | Lets you adjust the time to monitor the date or time in other timezones.
Drive Space | Displays hard drive usage information on physical or networked drives in various units (including %).
 | Select Drive: | Click on the drive you want to monitor. You can select multiple drives by holding down Control and clicking several drives.
 | Select Return Value: | The value to display in the meter (free, used, total disk space).
 | Unit: | The unit to display the value in.
Laptop Battery | Shows the percentage charged or status of a laptop battery.
Memory | Displays free/used/total memory (RAM) statistics in various units (including %).
 | Type of Memory: | Select the type of memory you want to monitor from the drop-down box.
 | Select Return Value: | The value to display in the meter (free, used, total memory usage).
 | Unit: | The unit to display the value in.
Plugin | Displays text returned by a Samurize plugin. Plugins need to be placed in your Samurize/plugins directory.
 | Select Plugin: | Select the plugin file.
 | Configure... | Pressing this button allows you to configure the plugin on a meter-by-meter basis.
 | Global Settings... | Pressing this button allows you to configure global settings for the plugin.
 | About Plugin... | Pressing this button displays a dialog containing information about the plugin like the plugin author's name and contact details.
 | Select Function to Run: | Allows you to test the plugin output and see if its correct. Output appears in the Result box.
 | Test Plugin | Allows you to test the plugin and its output. The output appears in the Result box.
 | Change Parameters | Edit the parameters (if any) the selected function requires to execute (see the documentation for the plugin you are using). The parameters are listed in the Parameters box.
Perfmon | Perfmons are numerical counters managed by NT OS's that provide a wealth of info about various parts of your system and others on a network.
 | Change Counter | Click this button to change the perfmon counter you are monitoring.
 | Customize Return Value (Unit) | Allows you convert the return value to a unit of your choice.
 | Convert From/To: | Converts the value returned by WMI from one unit to another.
POP3 Mail | Checks the number of email message in a POP3 email account. Contact your ISP if you do not know some of these settings.
 | Mail Server | The address of your POP3 mail server.
 | Port | The port the mail server is running on (usually 110).
 | UserName | Your POP3 account login name.
 | Password | Your POP3 account password.
 | Run every X min | How often Samurize should check the mail server for new emails.
 | Check For New Mails | Check your POP3 account for new emails (useful for testing the settings you have entered).
Text File | Reads a number of lines from a text file. The output updates automatically if the text file's size/modified attributes change.
 | Text File to Read From: | The text file you want to display.
 | Read line | The line number of the first line of text to read.
 | Number of Lines: | The number of lines of text to read.
 | Read from Start/Read from End | Specify whether you want to read files from the start or end of the text file.
 | Force update every time. | Force Samurize to reread the text file every time (normally not needed).
Total Up/Down | Shows the total traffic sent/received through a network interface.
 | Network: | Select the network interface card (NIC) you want to monitor.
 | Select Return Value: | The value to display in the meter (traffic sent/received).
 | Unit: | The unit to display the value in.
 | Reset on reboot | When enabled, the sent/received totals will be reset every time the computer is rebooted.
Uptime | Displays system uptime in a customizable format.
 | Format | Format to display the uptime in.
WMI | WMI (Windows Management Instrumentation) meters can display extensive information about your hardware, OS and much more. Examples include graphics card name, OS version and CPU clock speed.
 | Change Settings | Click this button to change the WMI class, instance and property you want to monitor.
 | Run every X min/sec | Sets how often the WMI information should be updated. It is advised not to use less than a few minutes for this setting.
 | Run more frequently | When enabled, WMI meters can be updated more often than once per minute. WARNING: this can severely increase the amount of resources Samurize uses. Use it at your own risk.
 | Customize Return Value (Unit) | Allows you convert the return value to a unit of your choice.
 | Convert From/To: | Converts the value returned by WMI from one unit to another.
Hardware Status | Displays temperatures, fan speeds etc. from hardware monitoring applications MotherBoard Monitor (MBM) and Speedfan. Requires you to have MotherBoard Monitor and/or Speedfan installed, configured correctly for your motherboard and running in order to function correctly.
 | Sensor Type | The type of sensor to monitor. (Speedfan only)
 | Sensor | The sensor number to monitor.
 | Celsius/Fahrenheit | The units to display the temperatures in.
Media | Displays information about media being played in various media players.*
 | Foobar | Displays the title text (track name, artist etc) from foobar2000. You can change the display by changing the title text Preferences in foobar2000.
 | QCD | Displays information about the currently playing media in Quintessential Player (QCD).
 | Winamp | Displays various information about the currently playing media in Winamp. The information displayed is determined by the Format field. Refer to the Winamp Formatting Guide for more information (or click on the ? button to the right of the Format field)
* For more extensive media player information, check out the AdvancedMediaPlayer plugin by Tropics (included with the Samurize distribution). Read the MultimediaReadme.txt file in your Samurize directory.


Input Actions
Meters can have input actions that, when configured, enable Samurize to react to mouse input. Currently there is a limited subset of actions that samurize can control. Each meter can have up 8 actions, allowing configs to be interactive with the user.

Input Panel | Select the Action you would like to enable for this meter from this menu.
 | Left Button Click | Select this for an action to occur when the left mouse is clicked on the meter.
 | Middle Button Click | Select this for an action to occur when the centre mouse button is clicked on the meter.
 | Right Button Click | Select this for an action to occur when the right mouse button is clicked on the meter.
 | Mouse Over | This action occurs when ever the mouse is over the meter.
 | Mouse Out | This action occurs when ever the mouse is not over a meter.
 | Mouse Enter Config | This action occurs when ever the mouse moves over the Samurize area.
 | Mouse Leave Config | This action occurs when ever the mouse moves out of the Samurize area.
 | Drag and Drop | This action allows a user to drag and drop information over the meter. You may use this action in conjunction with the new %fn variable, this allows a user substitute variables into a command and displayed.
Select Action Type Panel | Select the Action you would like to enable for this meter from this menu.
 | Select Action Type | Using the dropdown box you may select the type of action to use for that action. Only certain types of actions are allowed for certain actions. For example, the Tool Tip type is only allowed for the MouseOver action. Plugins are able to provided functions for all actions.
 | Remove Action | Press this button to remove the action type for this action
Mouse Input Action Type | This action enables mouse clicks to be processed by Samurize.
 | Link Meter To: | The command to be performed when the meter is clicked on. %v will be substituted with the meter's value at the time the click was performed.
Tool Tip Input Action Type | This action enables mouse clicks to be processed by Samurize.
 | Tool Tip Text: | This is the information that you would like displayed in the tooltip. %v will be substituted with the meter's value at the time the click was performed. %b will be substituted for a line break in the tooltip text. %tab will be substituted for a tab in the tooltip text.
 | Tool Tip Type | The tool tip can be draw like a balloon tool tip or a standard tool tip.
 | Tool Tip Line Length | This is the number of pixels you would like the length of the tool tip to be.
Plugin Input Action Type | Select this for a plugin to process the input action. Plugins must be placed into the samurize/plugins directory
 | Select Plugin | Select the plugin you would like to use. NB: Not all plugins will be displayed in this box its up to the writter of the plugin to inform Samurize of the Actions that it supports.
 | Configure... | Pressing this button allows you to configure the plugin on a meter-by-meter basis.


Edit Graphics
Samurize supports a number of static graphic objects (Background Objects) to be used in the background of configs. They are static in the sense that they are only rendered once when Samurize starts up in order to save resources.

Note that the Background Objects cannot be placed on top of Meters. To add a Background Object to your config, click on the Add Background Object button and select the Background Object you want to add.

After adding the object, it will be automatically selected. The Tools & Settings area to the right of the Design Area will now have settings applicable to the object you have selected.

Shape Properties | General properties for all non-image Background Objects.
 | Filled | When checked, the Background Object is filled with the selected color.
 | Select Color... | Clicking this button lets you choose the color of the Background Object.
 | Alpha blending | Alpha blending level or transparency (0-255)
 | X/Y | The coordinates of the upper-left corner of the Background Object.
 | Width/Height | The dimensions of the Background Object.
 | Roundness | The "roundness" of the corners of the Background Object (rounded rectangles only)
Image Properties | Image properties. Transparency in GIF, 32-bit PNG and ICO files is supported. *
 | Image Filename | The name of the image.
 | Master Alpha | Alpha blending level or transparency (0-255)
 | X/Y | The coordinates of the upper-left corner of the image.
 | Width/Height | The dimensions of the image.
 | Reset Size | Resets the image to its original size.
Line Properties | Properties defining a line.
 | Angle | The angle of inclination of the line.
 | Line Width | The width of the line in pixels.

* Note that image Background Objects are static - they will not update when the image file changes on disk. If you want the image to be dynamic (or if you want to place the image on top of other Meters), use a Text Meter, set its Draw Type to Image and assign it a default image.


Project Options
The Project Options tab presents a set of options to control general properties of the config file being designed.
Display Refresh Interval (ms) | Sets how often config is refreshed. The setting is in milliseconds (1 second = 1000 ms).
CPU Priority | Sets the amount of CPU time that will be assigned to Samurize. WARNING: Settings higher than Normal can adversely affect perfomance of your computer.
Start MBM on load | If you have MotherBoardMonitor (MBM) installed and configured, you can use this option to automatically load the MBM I/O services when the config is loaded, without having the MBM application open.
Change mouse cursor over linked meters | When enabled, the mouse cursor will change from the standard arrow to the hand pointer when over a meter that has Meter Linkage enabled.
Show Tray Icon | By disabling this option, no tray icon will be shown when this config is loaded in the Server or Desktop Client.
Select Tray Icon... | Clicking this button allows you to change the icon used as the system tray icon for the Desktop Client and Server when the config is loaded. This options is not available if Show Tray Icon is disabled.
Define Hotkeys... | Click on this button to register global hotkeys that perform various actions for the config while it is open in the Desktop Client, Taskbar or Server. Note that some hotkeys do not apply in all cases (eg. the Toggle Tray Icon hotkey does not work in the Taskbar client).


Config Editor Preferences
The Preferences window can be accessed via the Edit->Preferences menu option.
General tab | General settings for the config editor.
 | Script Editor | The application that you would like to use to edit scripts. The application should accept a file name as a commandline parameter.
 | Image Editor | The application that you would like to use to edit images. The application should accept an image file name as a commandline parameter.
 | Default Zoom Level | The default level of zoom for the Design Area when the Config Editor is started.
Meters tab | Default/general settings for meters
 | Default Font | Allows you to specify the default font used when adding meters with the Text display type.
 | Run Scripts/Plugins when config Loads | Enabling this option will automatically run all scripts and plugins in a config when it is initally loaded.
 | Antialias zoomed/stretched images | This option controls whether or not images in your config are antialiased when they are stretched or when you increase the Design Area zoom level.
 | Use Proxy for scripts/plugins | When enabled, this allows you to specify proxy settings for plugins and scripts that access the internet. NOTE: Script/plugins must be written to support proxies, otherwise these settings will have no effect.


Desktop Client Overview
The Desktop Client (Client.exe, or the 'Samurize' shortcut under the Start Menu entry for Samurize) displays a configuration file on your desktop. When you run the client for the first time, you may be wonder why nothing is displayed on your desktop. What you will notice, however, is a grey S-shaped icon that has appeared in your system tray. When you right-click on the tray icon, you are presented with the following menu:
Select Config File | Choose which config file you want like to display. Remember that config files are stored in the \Configs subdirectory of your Samurize folder (C:\Program Files\Samurize\Configs by default).
Reload Config | After making changes to your config file using the Config Editor, use this option to reload (refresh) your config.
Edit Config File... | Opens the config file currently being displayed in the Config Editor.
Run On Startup | Sets this client to start when Windows starts.
Instance Manager... | Launches the Instance Manager
Position | Always On Top | The config displays on top of all other windows.
 | Pin to Desktop | The config displays behind all other windows, directly on your desktop and on top of any desktop icons. In this mode your config will still show when the user presses the Show Desktop button, but it can cause some problems on multimonitor setups.
 | Pin to Desktop (compatibility mode) | The config displays behind all other windows, directly on your desktop and on top of any desktop icons. In this mode, your config will be hidden along with all other windows when the user presses the Show Desktop button, but it should work fine on multimonitor setups.
 | Normal Window Behaviour | The config acts like a regular window; you can move it around the desktop by left-clicking and dragging it around with your mouse.
 | Locked Position | Locks the config in its current position on the desktop. You can no longer drag it around with your mouse.
 | Click Through | When this option is enabled, mouse clicks to go right through the config and trigger on desktop items behind it.
 | Use Designed Position | The config is positioned using the coordinates specified in the Config Editor. When this option is disabled, the config's position is initially in the upper-left corner of your desktop, and its position is remembered when you drag it around the desktop with your mouse.
 | Snap to screen edges | When enabled, the config "snaps" to the edges of your monitor when it is dragged close to them.
 | Snap to other clients | When enabled, the config "snaps" to other Samurize desktop clients when dragged close to them.
Pause | Stops Samurize from updating its display.
Client Info | Instance name: | The name of the current running instance of the Client (useful when running multiple Clients/Configs).
 | Config Name: | The name of configuration file being displayed.
About | Displays information about the current version of the Samurize Client.
Language | Allows you to select the language in which options and menus are displayed. Language files can be downloaded from samurize.com and are stored in your Samurize/lang directory
Check for updates | Checks the version of Samurize you are running and informs you if a new version is available.
Exit | Quits the Samurize Client.

Left-clicking on the tray icon hides the config and also pauses it (great for just before you start gaming!)


Desktop Client Instances
You can run multiple instances of the Desktop Client to display two or more configs on your desktop. However, the default Samurize instance can only remember settings for a single config.

The solution to this is to use different instance names. The Desktop Client accepts a parameter which is the name of the instance that should be run. Each instance can remember settings for different configs, so you can set up a whole lot of instances, each loading a different config file by default.

Here's a quick guide to make two instances:

  1. Make two configs. For simplicity, I'm going to refer to them as if they were named 'One.ini' and 'Two.ini'.

  2. Make 2 shortcuts on your desktop to client.exe. Call one of the shortcuts "My Config 1" and make the Target line to one of them read:

    "C:\Program Files\Samurize\Client.exe" i=config1
    Call the other one "My Config 2" and have its target line read:

    "C:\Program Files\Samurize\Client.exe" i=config2
    (obviously you will have to adjust the path to match where you have samurize installed)

  3. Double-click on the "My Config 1" shortcut you made and rightclick on the tray icon.. choose One.ini as the config.

  4. Double-click on the "My Config 2" shortcut you made and rightclick on the tray icon.. choose Two.ini as the config.

  5. Now, whenever you use the "My Config 1" shotcut, One.ini will always be loaded with it. And likewise, Two.ini with "My Config 2".
If you want to create more instances, repeat the above steps (changing the numbers) ad nauseum ;)

NOTE: Samurize v1.50+ requires you to specify instance names if you want to run more than one Samurize client. Running the same instance a second, third etc. time will not give you multiple clients; instead, any commandline arguments passed will be applied to the already running instance.


Taskbar Client Overview
The Taskbar Client can display a config file in your Windows taskbar. After installing Samurize (and rebooting your computer), you can enable the Taskbar Client by right-clicking on your Windows taskbar and selecting Toolbars -> Serious Samurize. After a few moments a toolbar titled 'Serious Samurize vX.XX' will appear in your taskbar. When you right-click in the area just to the right of the toolbar title (or on the config if one is loaded), you are presented with the following menu:
Select Config File | Choose which config file you want like to display. Remember that config files are stored in the /Configs subdirectory of your Samurize folder (C:/Program Files/Samurize/Configs by default).
Reload Config | After making changes to your config file using the Config Editor, use this option to reload (refresh) your config.
Edit Config File... | Opens the config file currently being displayed in the Config Editor.
Instance Manager... | Launches the Instance Manager
No Constraints | If you are having trouble positioning the Samurize toolbar, enabling this option may help.
Pause | Stops Samurize from updating its display.
Client Info | Config Name: | The name of configuration file being displayed.
About | Displays information about the current version of the Samurize Client.
Language | Allows you to select the language in which options and menus are displayed. Language files can be downloaded from samurize.com and are stored in your Samurize/lang directory
Check for updates | Checks the version of Samurize you are running and informs you if a new version is available.
Exit | Quits the Samurize Client.

The Taskbar Client can be moved around and undocked like any other Windows toolbar. To remove the 'Serious Samurize vX.XX' title, make sure your taskbar is unlocked, then right-click on the title and deselect 'Show Title'.


Samurize Server Overview
The Samurize Server executable (SamurizeServer.exe, or the 'Server' shortcut under the Start Menu entry for Serious Samurize) outputs configs to various file formats to be shared over the web. When you run the server for the first time, you may be wonder why nothing is displayed on your desktop. What you will notice, however, is a grey S-shaped icon that has appeared in your system tray. When you right-click on the tray icon, you are presented with the following menu:
Select Config File | Choose which config file you want like to display. Remember that config files are stored in the \Configs subdirectory of your Samurize folder (C:\Program Files\Samurize\Configs by default).
Reload Config | After making changes to your config file using the Config Editor, use this option to reload (refresh) your config.
Edit Config File... | Opens the config file currently being displayed in the Config Editor.
Run On Startup | Sets this server to start when Windows starts.
Instance Manager... | Launches the Instance Manager
Pause | Stops Samurize from updating its display.
Server Info | Instance name: | The name of the current running instance of the Client (useful when running multiple Clients/Configs).
 | Config Name: | The name of configuration file being displayed.
About | Displays information about the current version of the Samurize Client.
Server Options | Allows you to change the server's output settings.
Language | Allows you to select the language in which options and menus are displayed. Language files can be downloaded from samurize.com and are stored in your Samurize/lang directory.
Check for updates | Checks the version of Samurize you are running and informs you if a new version is available.
Exit | Quits the Samurize Server.


Samurize Server Options
When you select the Server Options... option in the tray menu for the Samurize Server executable, you are presented with the following options:
Image Output | When enabled, Samurize outputs the loaded config file to the specified image file. PNG, JPEG, GIF and BMP formats are supported.
XML Output | When enabled, Samurize outputs the loaded config file to the specifed XML file. For a description of the Samurize XML format, see the SamurizeXML.dtd Document Type Definition file in your Samurize directory.
Server Update Interval (ms) | How often the Server writes the output files, in milliseconds (1 second = 1000 milliseconds). Setting this to a low number can degrade system performance.

Note that the SamurizeServer.exe executable also accepts instance names like the Desktop Client, and output settings are saved on a per-instance basis.


Screensaver Overview
Tropics has developed a screensaver that can display a Samurize config. The screensaver is installed to your Windows directory when you install Samurize with the Screensaver install option selected. Brief usage instructions can be found in the Screensaver_Instructions.txt file in your Samurize folder.

The screensaver works by displaying image data obtained from the Samurize Server executable. You need to have the Samurize Server installed when you install the screensaver otherwise it will not work.

Samurize tab | Config File: | Select the config file you wish to display in the screensaver from the dropdown list.
 | Edit... | Opens the selected config file in the config editor.
 | Config Update Rate: | Sets how often the screensaver should update its display (in milliseconds).
 | Pause all Samurize Clients | Pauses all running Samurize clients while the screensaver is activated to save resources. After the screensaver exits, all clients are restored to their former state.
 | Hide all Samurize Clients | Hides all running Samurize clients while the screensaver is activated. Very useful if you are using "abs on top" clients because they would stay on top of the screensaver, too. After the screensaver exits, all clients are restored to their former state.
Display tab | Display Mode: | Fit to Screen - the config is stretched to cover the entire screen area Zoom proportionately - the config is stretched proportionately to cover as much of the screen area as possible Random Position - the config is displayed in a random position. It is moved to a new random position every specified time interval. Designed Position - the config is displayed where it was placed in the config editor Fo Shizzle to teh Cubizzle - the config is mapped onto the 6 sides of a rotating cube :)
 | Background Color/Cube Color | Click on this button to select the background color for the screensaver. This selects the cube color when in 3D mode.
Multimonitor tab | Display options | Everywhere - the screensaver uses the display area of all connected monitors. Only on this device - the screensaver only displays on the selected monitor (the other monitors are left blank). Clone - the screensaver displays the same thing on all connected monitors.
Special tab | Ignore mouse movement | The screensaver is not deactivated when the mouse is moved.
 | Use Pixel Shader if available | Uses Pixel Shaders to improve the rendering quality of the 3D cube screensaver mode (requires OpenGL 2.0)
 | Realtime Bumpmapping | Enables Per-Pixel Bumpmapping on the 3D cube screensaver mode. Requires Pixel Shaders.
 | Trilinear Filtering | Filters the images of the cube sides for better visual quality. Turn on if your computer can handle it.
 | Anisotropic Filtering | Filters the images of the cube sides for better visual quality. Turn on if your computer is fast enough to handle it.


Instance Manager Overview
The instance manager provides a simple interface for controlling multiple Samurize instances.

Simply select an instance from the list and then control it using the buttons below.

Edit Instance (1) | Displays an options window where you can change settings relating to an instance such as the config file to initially display, the instance's behaviour etc.
Delete Instance (2) | Removes the selected instance from the list. All settings for this instance will be lost.
Launch Instance (3) | Launches the selected instance.
Close Instance (4) | Closes the selected instance.
Reload Config (5) | Reloads the config being displayed in the selected instance.
Edit Config File... (6) | Opens the config file currently being displayed in the Config Editor.
Create Client Shortcut (7) | Creates a client shortcut to the selected instance on your desktop.
Create Server Shortcut (8) | Creates a server shortcut to the selected instance on your desktop.

In addition, there are three more buttons not associated with any particular instance:
Refresh (9) | Refreshes the instances list.
New Instance (10) | Creates a new instance. You will be prompted for a name for the instance.
Exit (11) | Exits the Instance Manager.


ImportExport Tool Overview
What it is for?
The Import/Export Tool takes a bunch of config files and all the files used by the config files (scripts, plugins, icons, graphics etc.) and packs them up into a Samurize Package File (.sam). You can then share this file with other people and they can get your config up and running with minimal effort on their behalf; all they have to do is double-click on the .sam file and import it and they're ready to go.
What it does
Exporting:
  • includes all files related to the config file(s) selected. All files placed in subfolders of your Samurize dir are left relative; other files are moved to "appropriate" subfolders of the Samurize folder (eg. tray icons go to Samurize\icons, images go to Samurize\skins\[suitename])
  • lets you add a readme file to the package, which is displayed to the user on import
  • lets you add custom files for things like Weather Icon sets etc.
  • attempts to strip perfmon paths to their English equivalents
  • removes POP3/WMI meter login info
  • the end result is a .sam file (basically a specially formatted zip file), hereby known as a Samurize Package File.
  • Options:
    • Suite Name - the name of your 'suite' of configs. Mostly decorative.
    • Readme File - you can select a file for users to view when they import your package
    • Config Files - the config files to include in the package
    • Remove machine name from Perfmon and WMI meters - self-explanatory. Usually best to enable this.
    • Exclude scripts/plugins from package - self-explanatory.
    • Include non-standard fonts - when enabled, all fonts that do not appear in the fonts.txt file in your Samurize directory are included in your package and installed on the user's system when imported.
    • Run commands after import is complete - allows you to run certain commands after the user has imported your config.
    • Add Custom Files - allows you to add files that cannot be automatically detected by the tool. These include files used by plugins/scripts, images used for the Image display type, and so on. *
    • Save/Open - saves/loads the export settings to file, so when you make updates or new releases of your package, you can quickly load the same settings you used last time.
    • Export - starts the export process
Importing:
  • extracts the .sam file to your Samurize dir, preserving paths; everything should end up in the right place
  • attempts to translate perfmon paths back to their local equivalents
  • if network cards for the Network Interface perfmon are not found, they are replaced with the first Network Card that would appear in the Network Card dropdown list for the Total Up/Down meter.
  • checks WMI meters; if they are invalid, the tool displays the WMI selection window for user correction.
  • there is a test mode to prevent you overwriting your original configs when you want to test a .sam file
  • you can associate .sam files with the tool so that they automatically load up ready for importing when double-clicked
  • Options:
    • Samurize Package File - the package file you are importing
    • Warn when overwriting files - when enabled, you get a Yes/No overwrite confirmation box whenever the tool attempts to overwrite a file
    • Display readme file - display the readme file included by the package author (if one was supplied)
    • Import automatically - when a .sam file is double-clicked, the tool will launch and automatically start importing the package you opened.
    • Test mode - imports the package to a custom directory. Useful if you want to check what files were included with a package you have made.
    • Text Directory - the directory to use for the test mode
    • Associate .sam files - associates .sam fles with the tool; when you double-click on them, the tool will launch with the package file you double-clicked selected
    • Import - starts the import process
Other Notes:
  • The tool uses the C:\Documents and Settings\[user name]\Application Data\ExportTool\[suite name] directory as a working directory for temporary files; a good way to check if files are being placed in the right place (or included at all) is to check out the contents of this directory when the popup to save the .sam file appears.
  • The files UnzDll.dll and ZipDll.dll are required for building the .sam files. They should be ok left in the same folder as the Import/Export Tool, but if you get errors, stick them in your Windows\system32 dir.
Adding custom files
Basically you add the path to the file(s) you want included in the Source (left) column (wildcards supported) and the subdirectory of the Samurize dir to include the files in the Target (right) column. eg. say you want to include all the files in your C:\utils folder, and put them in the Samurize\utils folder on import, use:

Source:
C:\utils\*.*

and Target:
utils\


FAQ

Frequently Asked Questions

FAQ was compiled by Mardagg/NeM

Q: What are the software and hardware requirements for Samurize?
A: Microsoft Windows 2000/XP/2003 & a graphics card supports alpha blending in Windows (Geforce 1 or better). Note: The Taskbar Client is not depended on the type of graphics card due to different type of blending.
Q: Does Samurize support Windows 95/98/Millennium Edition?
A: Unfortunately Samurize uses the Windows Performance Counters to gather most of its data, which do not exist in Windows 9X and Millennium Edition. Also, Windows 9X does not support alpha blending which is needed for Samurize in its current state.
Q: How can I add the upload & download speed of my network in the config editor?
A: Step by step: Go to Meter List> Add Meter> Add PerfMon> Performance object> Network Interface> Bytes Received/sec> (select your network adapter). If you want to show upload, select Bytes Sent/sec.
Q: How can I add the CPU usage perfmon meter in the config editor?
A: Step by step: Go to Meter List> Add Meter> Add PerfMon> Performance object> Processor> % Processor time.
Q: How do I activate new scripts that I have put into the scripts folder?
A: In the config editor, go to the Meter List, Add Meter, Add active script, at the bottom of that tab you'll see Active Script: Select script & select function to run. once you pick the script you want, it'll give you new options in the select function to run.
Q: How do I use Samurize in a toolbar? (v0.90+)
A: Right-click on your taskbar and select Toolbars> Serious Samurize. To remove the Serious Samurize text, make sure your taskbar is unlocked, right-click the text and deselect "Show Title". To load a config in the taskbar, right-click in the space that the Samurize toolbar is occupying and go from there.
Q: How do I see the current transfer rate on my network card in KB/s?
A: Follow these instructions step by step.
1) Add perfmon
2) select Network Interface
3) Select Bytes Received/sec or Bytes Sent/sec
4) select network card (right hand side)
5) once you have added the meter check "customize return value" in samurize
6) convert from: bytes to: kilobytes
Q: How do I show my IP address?

A: If you want your network(local) IP address, use the Extended Props script (included with Samurize). If you are behind a router or firewall and want your WAN IP, you will have to use one of the IP scripts from the downloads section on samurize.com.

Alternatively, use a WMI meter: select the Win32_NetworkAdapterConfiguration class, your network card from the Instances list, and IPAddress from the Properties list.
Q: How do I put CPU temperatures, fan speeds etc. in my config?
A: You have to download, install and configure Motherboard Monitor (MBM). Then you add MBM meters to your config by going Add Meter -> Add MBM.
Q: How do I see statistics for a game server? (v0.90+)
A: Use one of the scripts from the samurize.com Game Scripts download section.
Q: How do I have Samurize auto start with windows?
A: Place a shortcut for Samurize into your Start Menu/Startup folder.
Q: How do I get Winamp controls on my config?
A: By using a 3rd party Winamp control program. There are some available from the downloads section on samurize.com.
Q: I've seen configs that have buttons to open/close other configs. How do I do that?
A: Use Alderaic's Start and Stop tool, available from the downloads section on samurize.com. (WARNING: advanced users only)
Q: I have a question that's not in this FAQ, what should i do?
A: Check the Samurize website for more up-to-date versions of this FAQ. If you have questions about the Samurize program or website, please ask them in the samurize.com forums or in some cases you can email NeM (nem@samurize.com).


Troubleshooting
For more up-to-date versions of this Troubleshooting guide, see the FAQ section on www.samurize.com.
1. I keep receiving Exception Errors when trying to launch the Config Editor or when trying to add an Active Script Meter.
Download and install this ActiveScript Component Update from the Microsoft site.
2. Some PerfMons are missing when trying to add a PerfMon counter, or a PerfMon counter stops functioning.
This happens when a PerfMon crashes. Windows disables the offending PerfMon and keeps it disabled, even if you reboot.

To view the list of PerfMons available on your system and enable/disable any of them, you need the exctrlst.exe tool from the Win2k resource kit. Download exctrlst.exe here.

It works on both Win2k and WinXP systems. Simply close the Client before using it, enable missing PerfMons, and then re-load the Client.

3. Does Samurize support Windows 95/98/ME? (i.e. why am I missing the PDH.dll file?)
Unfortunately Samurize uses the Windows Performance Counters to gather most of its data, which do not exist in Windows 9X and Millennium Edition. Also, Windows 9X does not support alpha blending which is needed for Samurize in its current state.
4. How much memory does Samurize use? My configuration is using over 15MB!
Normally it should take about 3-4 megabytes of memory. My guess is that you are using Active Scripts. This is not the fault of Samurize, Microsoft's runtimes-libraries use a lot memory. So if you want it to take less memory, skip the Active Scripts.
5. I'm on DSL via PPPoE and the upload/download speeds aren't working. What's wrong?
If you want UL/DL speeds of a DSL (via PPPoE) you must select the RAS-port Performance Object in perfmon and then number of Bytes/sec instead of selecting the NetworkInterface Performance Object - even though the DSL connection is on a NIC.
6. I get this error: "Microsoft ActiveX Script Control create failed". How do I fix this?
Download and install the windows script control from here.

You may have to change the language to download the file needed for your system.
7. Why do some key combinations for hotkeys not work correctly?
It's not really a bug, just the way Windows works: Some key combinations can be registered, but can't be invoked. You should avoid Num Lock, Caps Lock, Scroll Lock, Pause, and Print Screen - especially in combination with the Ctrl modifier.
8. My WMI meters and perfmon can't monitor other computers.
Do the following:

Start -> Run -> secpol.msc
Navigate to:
Local Policies : Security Options
In there look for:
Network Access: Sharing and security model for local accounts.
Chances are that's set to Guest Only. Set it to "Classic - local users authenticate as themselves" and you should be back in business!


Tips
You can use the keyboard shortcut Ctrl+S to quickly save your config while in the Config Editor.
While designing a config, you will notice a rectangle outlining your entire config. If this rectangle is green then performance should be optimal. If its red then performance might degrade (although most high-spec computers these days will probably not be affected). Try not to spread your config over a very large area. It sometimes helps to run mutiple clients that each display in a different area of your desktop.
Clicking on the Samurize tray icon with a single left mouse button click will make Samurize hide and pause. Clicking it again will return to normal. Useful before playing games :)
You can define global hotkeys (such as Ctrl+Alt+R) to reload, toggle the tray icon and pause Samurize on the Project panel of the Config Editor.
Want more information about your currently playing media displayed in Samurize? Tropics has created an Advanced Media Player plugin for use with Samurize and many popular media players such as Winamp, iTunes, foobar2000 and more. This plugin comes with the Samurize installer. Read the SpectrumReadme.txt file in your Samurize directory for more information.


Script/Plugin Development Notes
If you have any questions or problems developing scripts or plugins for Samurize, be sure to stop by the samurize.com forums for help from other community members and the development team.
Scripts
Writing scripts to work in Samurize is very simple if you are fluent in any scripting language. Samurize currently supports VBscript, Javascript, PerlScript and Python. If you do not know any of these languages but have a background in any programming languages, picking either of these up is quite simple as there a lot of tutorials available on the net. You can also look at exiting scripts that have been written for Samurize to see how they work.

All you have to do to create a script in Samurize is declare a function and set the function's return value to the data you want to display. Here is a simple script (VBscript and Javascript versions) that outputs a well-known phrase:
    ' VBscript hello world script
    Function Hello()
    Hello = "Hello World!"
    End Function

    // Javascript hello world script
    function Hello() {
    return "Hello World!"
    }
That's all there is to it. Just fill in the function body with your own code, rename the function (or create more as need be) and add function parameters if desired. Save the script to your Samurize/scripts directory as a .vbs (VBscript)/.js (Javascript)/.pls (PerlScript*)/.py (Python*)/.rb (RubyScript**)/.php (PHPScript***) file and you're set.

The only limitation to using scripts in Samurize is that you can't use any message box popups or Sleep commands because they interfere with Samurize's execution.

* You must have ActivePerl/ActivePython installed and registered with the Windows Scripting Host to use these kinds of scripts in Samurize. You can get them from www.activestate.com.
** You must have RubyScript installed and registered with the Windows Scripting Host. You can get it from http://arton.hp.infoseek.co.jp/index.html.
*** You must have PHPScript installed and registered with the Windows Scripting Host. Download the php5activescript.dll from here and make sure you have at least PHP 5.0 installed.
Plugins
Writing plugins for Samurize is a little trickier than writing scripts because you need some knowledge of C, C++, Delphi or some other compiled language that is capable of creating Dynamic Linked Libraries (DLLs).

Plugins have been successfully developed in C++, Delphi and Powerbasic (a variation of Visual Basic) that work with Samurize, although it may be possible to create plugins in other compiled languages.

The source code for a number of sample plugins is provided in your Samurize/plugins directory:
  • hello_word.dpr (written in Delphi 7) and Helloworld_C++.zip (written in C++) are both source plugins written under the v1.0 SDK.

  • sdksample.dpr (written in Delphi 7) and TestVis.zip (written in C++) are source and/or visual plugins written under the v2.0 SDK.
    Both of these plugins use graphics libraries (Graphics32 for sdksample.dpr, GDI+ for TestVis.zip) to render graphics - you will need to download these in order to compile these to plugins.
Read the comments in the source code of these plugins to understand how they work and to help you design your own plugins.

For a full list of the functions the SDK provides (and comments about each function), check the sdksample.dpr code.

Samurize plugins need to be placed in your Samurize/plugins folder.
Samurize API
Plugins (and in most cases, other applications) are also capable of communicating with Samurize via the Samurize API. The API is very similar to the Winamp API in that communation is done by sending messages to the Samurize windows.

// Messages
// note that some messages do not apply to all clients (eg. the taskbar client has no tray icon)

// Actions
const int WM_SAM_RELOAD_CONFIG            = 40000; // tells Samurize to reload
const int WM_SAM_PAUSE                    = 40001; // sets pause (use wparam=0 for unpause, 1 for pause)
const int WM_SAM_SHOW                     = 40002; // sets Samurize visible (use wparam=0 for hide, 1 for show)
const int WM_SAM_SHOWTRAYICON             = 40003; // set tray icon visibility (use wparam=0 for hide, 1 for show)
const int WM_SAM_EXIT                     = 40004; // exits Samurize
const int WM_SAM_SET_CLIENTSETTING        = 40005; // sets client settings according to wparam (see below), 0=false, 1=true
const int WM_SAM_SET_CLIENTPOSITION       = 40006; // sets client behaviour (use wparam, 0=on top, 1=pinned, 2=normal, 3=abs. on top)
const int WM_SAM_SET_TASKBARPOSITION      = 40061; // sets taskbar client position
                            // use wparam=0 for horizontal position (lparam: 0=left, 1=center, 2=right)
                            // use wparam=1 for vertical position (lparam: 0=top, 1=middle, 2=bottom)
const int WM_SAM_LOAD_CONFIGFILE          = 40007; // pass a pointer to a string as lparam - tells Samurize to load that config file.
                                         // (eg. "myconfig.ini")
const int WM_SAM_SET_REFRESHINTERVAL      = 40008; // set the client refresh rate using wparam
const int WM_SAM_EDITCONFIGFILE           = 40009; // opens the config editor with the currently loaded config
const int WM_SAM_TOGGLE_PAUSE             = 40010; // toggles Samurize's pause status, returns the new status (1=paused, 0=unpaused)
const int WM_SAM_TOGGLE_SHOW              = 40011; // toggles Samurize's visible status, returns the new status (1=visible, 0=hidden)
const int WM_SAM_TOGGLE_SHOWTRAYICON      = 40012; // toggles Samurize's tray icon visible status, returns the new status
                                         // (1=visible, 0=hidden)
const int WM_SAM_TOGGLE_CLIENTSETTING     = 40013; // toggles Samurize's client settings according to wparam (see below),
                                         // returns the new status (1=true, 0=false)

const int WM_SAM_SERVER_XML_OUTPUT        = 40017; // sets Samurize XML output (use wparam=0 for disable, 1 for enable)
const int WM_SAM_SERVER_PNG_OUTPUT        = 40018; // sets Samurize PNG output (use wparam=0 for disable, 1 for enable)

// Information

// strings
const int WM_SAM_GET_INSTANCENAME         = 40020; // returns pointer to string containing instance name
const int WM_SAM_GET_CONFIGNAME           = 40021; // returns pointer to string containing config file name
const int WM_SAM_GET_CONFIGPATH           = 40022; // returns pointer to string containing full path to config file
const int WM_SAM_GET_LANGUAGEFILE         = 40023; // returns pointer to name of language file

// integers
const int WM_SAM_GET_CLIENTPOSITION       = 40050; // gets client behaviour (use wparam, 0=on top, 1=pinned, 2=normal, 3=abs. on top)
const int WM_SAM_GET_CLIENTSETTING        = 40051; // gets client settings according to wparam (see below), 0=false, 1=true
const int WM_SAM_GET_REFRESHINTERVAL      = 40052; // returns client refresh rate
const int WM_SAM_GET_TASKBARPOSITION      = 40060; // returns taskbar client position
                            // use wparam=0 for horizontal position (0=left, 1=center, 2=right)
                            // use wparam=1 for vertical position (0=top, 1=middle, 2=bottom)

// booleans, returns 0 for false, 1 for true
const int WM_SAM_IS_PAUSED                = 40080;
const int WM_SAM_IS_VISIBLE               = 40081;
const int WM_SAM_IS_TRAYICONVISIBLE       = 40082;

// config editor messages
const int WM_SAM_CONFIGEDITOR_SETDEFAULTS         = 40100; // sets defaults for the selected visual plugin meter
const int WM_SAM_CONFIGEDITOR_REFRESHMETER        = 40101; // refreshes the selected meter

// all samurize clients & config editor
const int WM_SAM_ENVIRONMENT                      = 39999; // returns the environment of the plugin
const int SAM_DESKTOPCLIENT                       = 1; // desktop client (client.exe)
const int SAM_TASKBARCLIENT                       = 2; // taskbar client (taskbar.dll)
const int SAM_SERVER                              = 3; // server (samurizeserver.exe)
const int SAM_CONFIGEDITOR                        = 0; // config editor (config.exe)

// sending data(external apps) using WM_COPYDATA
const int SAM_LOAD_CONFIG             = 1000; // tells Samurize to load a config

// wparams for use with WM_SAM_GET_CLIENTSETTING & WM_SAM_SET_CLIENTSETTING
const int SAM_CLIENT_LOCKED           = 2000;
const int SAM_CLIENT_CLICKTHRU        = 2001;
const int SAM_CLIENT_USEDESIGNPOS     = 2002;
const int SAM_CLIENT_SNAP             = 2003;
const int SAM_CLIENT_SNAPTOCLIENTS    = 2004;
If you installed Samurize with the Plugin Example option enabled, you can also see the entire list of supported messages in samurize.h inside TestVis.zip located in your Samurize/plugins directory.
Proxy Settings
Samurize users can set their proxy settings in the Preferences window in the Config Editor. If you want to provide proxy support in your script or plugin, the proxy settings are saved in the registry under the path HKEY_CURRENT_USER\Software\Serious Samurize\General in the following keys:

UseProxy - indicates whether a proxy should be used or not (0=no, 1=yes)
ProxyServer - proxy server (IP address or name)
ProxyPort - proxy port
ProxyUsername - proxy username
ProxyPassword - proxy password

It is the script/plugin author's responsibility to add proxy support to their code where necessary, otherwise these settings will have no effect.


Plugin SDK
If you have any questions or problems developing plugins for Samurize, be sure to stop by the samurize.com forums for help from other community members and the development team.

NOTES:
The SAMURIZE_PLUGIN_CHAR and SAMURIZE_PLUGIN_INT types are defined as

#define SAMURIZE_PLUGIN_CHAR extern "C" __declspec(dllexport) char* __stdcall
#define SAMURIZE_PLUGIN_INT extern "C" __declspec(dllexport) int __stdcall

In Delphi they are simply the PChar and Integer types.

Function List
  • DLLMain
  • init
  • dlltype
  • getinfo
  • dllstartup
  • dllshutdown
  • save_xml
  • pastemeter
BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
The standard DLLMain function. You can use this function to do one-off initialization and de-initialization for your plugin using the DLL_PROCESS_ATTACH and DLL_PROCESS_DETACH reasons for call.

See here for more information.

Parameters:
  • hModule - Handle to the DLL module
  • ul_reason_for_call - Indicates why the DLL entry-point function is being called. This parameter can be one of the following values.
    • DLL_PROCESS_ATTACH - The DLL is being loaded by Samurize (ie. when the first meter that uses the plugin is created)
    • DLL_PROCESS_DETACH - The DLL is being unloaded by Samurize (ie. after the last meter that uses the plugin has been destroyed)
    • DLL_THREAD_ATTACH - not used by Samurize
    • DLL_THREAD_DETACH - not used by Samurize
  • lpReserved - If fdwReason is DLL_PROCESS_ATTACH, lpvReserved is NULL for dynamic loads and non-NULL for static loads. If fdwReason is DLL_PROCESS_DETACH, lpvReserved is NULL if DllMain has been called by using FreeLibrary and non-NULL if DllMain has been called during process termination.
Return Value:
This function should return TRUE.
SAMURIZE_PLUGIN_CHAR init()
The init() function tells Samurize the names of the functions your source plugin provides. It should return a list like so: "Func1|Func2|...|FuncN"

Return Value:
A list of all the functions your source plugin provides eg. "My Function 1|Some other function|And another"
SAMURIZE_PLUGIN_INT dlltype()
Tells Samurize what type of plugin this is. If this function is declared, Samurize will assume you are using the SDK v2.0;
  • All source functions your plugin provides will be called with an additional first parameter, the meter's unique_id.
  • dllstartup will be called for each meter created that uses your plugin (if you provide that function)
  • dllshutdown when a meter that uses your plugin is deleted (if you provide that function)
Return Value:
The value you should return is a summation of any or all of the following values:
1: Source plugin
2: Visual plugin
4: Input plugin
... (more to follow!)

eg. returning 2 tells Samurize your plugin is a visual plugin. Returning 3 tells Samurize your plugin is a visual plugins AND has a source plugin component as well.
SAMURIZE_PLUGIN_CHAR getinfo(int infonum)
This function should return information about your plugin depending on the passed integer value. This information is displayed when the 'About' button is pressed in the config editor when your plugin is selected.

This function is optional.

Parameters:
  • infonum - an integer value indicating the information that should be returned:
    1. Plugin name
    2. Author name
    3. Plugin version
    4. Creation date
    5. Last modified date
    6. Website
    7. Contact email address
SAMURIZE_PLUGIN_INT dllstartup(HWND hwnd, int dlltype)
dllstartup() is called every time Samurize creates a meter that uses this plugin.
Any memory allocation needed on a meter-by-meter basis should be done in this function.

Parameters:
  • hwnd - the window handle of the instance of Samurize that called this function.
  • dlltype - indicates the meter 'type' (1 for source plugins, 2 for visual plugins) that is being initialized.
Return Value:
This function should return a unique integer ID that Samurize remembers and uses for other functions (this is so multiple instances of Samurize that use this plugin do not conflict).
If your plugin is very simple and does not need to keep any global variables that may cause conflicts, just return 0 (or omit this function).
SAMURIZE_PLUGIN_INT dllshutdown(int id)
dllshutdown() is called every time a meter using the plugin is destroyed by Samurize.
Any memory releasing needed on a meter-by-meter basis should be done in this function.
If your plugin does not need to free any memory, this function may be omitted.

Parameters:
  • id - the unique ID your plugin assigned to the meter (returned by dllstartup)
Return Value:
This function should always return 0.
SAMURIZE_PLUGIN_CHAR save_xml(int id)
save_xml() is called when the config is being saved to an XML file by the Samurize server executable. Your plugin should return its settings in XML format as follows:

    <SETTING ATTR="attribute1">attribute value</SETTING>
    <SETTING ATTR="myattribute">123</SETTING>
    <SETTING ATTR="anotherattribute">some value</SETTING>
Parameters:
  • id - the unique ID assigned to the meter by the dllstartup() function
SAMURIZE_PLUGIN_INT pastemeter(int source_id, int dest_id)
pastemeter is called when a meter is pasted in the config editor. Your plugin should clone the settings from the source meter (indicated by source_id) to the cloned meter (indicated by dest_id).

Parameters:
  • source_id - the unique ID assigned to the source meter by the dllstartup() function
  • dest_id - the unique ID assigned to the destination meter by the dllstartup() function
Return Value:
This function should return 0.


Plugin SDK

Source Plugin SDK
The following functions are for Source plugins only.

NOTES:
The SAMURIZE_PLUGIN_CHAR and SAMURIZE_PLUGIN_INT types are defined as

#define SAMURIZE_PLUGIN_CHAR extern "C" __declspec(dllexport) char* __stdcall
#define SAMURIZE_PLUGIN_INT extern "C" __declspec(dllexport) int __stdcall

In Delphi they are simply the PChar and Integer types.

Function List
  • getparam
  • configure
  • source_configure
  • src_load_settings
  • src_save_settings
  • icon
SAMURIZE_PLUGIN_CHAR getparam(char* func)
SOURCE PLUGINS ONLY

The getparam() function should return a list of the parameters that the passed function requires.

Parameters:
  • func - the name of the function Samurize needs to know the parameters for.
Return Value:
A list of parameters delimited by '|' characters. Note that there needs to be a final '|' after the last parameter.
Appending '=' and then a value to the end of a parameter indicates the default value for that parameter.
eg. "Param1|Param2|Param3=SomeDefaultValue|"
SAMURIZE_PLUGIN_INT configure()
SOURCE PLUGINS ONLY

configure() is called when the user clicks on the "Configure Plugin..." button in Samurize.
You can display a popup dialog with global settings for your plugin (eg. a box prompting for your location for a weather plugin). These settings will be applied for all meters that use this source plugin.
Note that it is your responsibility to save these settings to the registry/settings file/whatever - they aren't stored by Samurize anywhere.

Return Value:
This function should always return 0.
SAMURIZE_PLUGIN_INT source_configure(int id, char* func)
SOURCE PLUGINS ONLY

source_configure() is called when the user clicks on the "Configure..." button in Samurize.
You can display some kind of popup window that allows users to specify various display settings for this source plugin. Note that you need to store the settings for each meter individually for saving later on.
This function is optional - if it is not provided, you will not be able to specify settings on a meter-by-meter basis.

Parameters:
  • id - the unique ID of the meter being configured (that your plugin assigned to the meter as the return value of dllstartup)
  • func - the name of the function this meter calls from the plugin
Return Value:
This function should always return 0.
SAMURIZE_PLUGIN_INT src_load_settings(int id, char* inifile, char* section)
SOURCE PLUGINS ONLY

src_load_settings() is called when the config is loaded from file in the config editor or the clients. Your plugin should load its settings from the given section of the specified config file.

Parameters:
  • id - the unique ID assigned to the meter by the dllstartup() function
  • inifile - the full path to the config file
  • section - the section of the config file where the values are listed
Return Value:
This function should always return 0.
SAMURIZE_PLUGIN_INT src_save_settings(int id, char* inifile, char* section)
SOURCE PLUGINS ONLY

src_save_settings() is called when the config is being saved by the config editor. Your plugin should save its settings to the given section of the specified config file.

Parameters:
  • id - the unique ID assigned to the meter by the dllstartup() function
  • inifile - the full path to the config file
  • section - the section of the config file where the values should be saved
SAMURIZE_PLUGIN_CHAR icon()
SOURCE PLUGINS ONLY

The icon() function should return a fully qualified file name for the icon you would like samurize to use in the config editor

Parameters: none Return Value:
A fully qualified location of the icon you want to use for example c:\program files\samurize\icon.ico


Plugin SDK

Visual Plugin SDK
The following functions are for Visual Plugins only.

NOTES:
The SAMURIZE_PLUGIN_CHAR and SAMURIZE_PLUGIN_INT types are defined as

#define SAMURIZE_PLUGIN_CHAR extern "C" __declspec(dllexport) char* __stdcall
#define SAMURIZE_PLUGIN_INT extern "C" __declspec(dllexport) int __stdcall

In Delphi they are simply the PChar and Integer types.

Function List
  • vis_configure
  • repaint
  • load_settings
  • save_settings
  • setdefaults
SAMURIZE_PLUGIN_INT vis_configure(int id)
VISUAL PLUGINS ONLY

vis_configure() is called when the user clicks on the "Configure..." button in Samurize.
You can display some kind of popup window that allows users to specify various display settings for this visual plugin. Note that you need to store the settings for each meter individually for saving later on.
This function is optional - if it is not provided, you will not be able to specify settings on a meter-by-meter basis.

Parameters:
  • id - the unique ID of the meter being configured (that your plugin assigned to the meter as the return value of dllstartup)
Return Value:
This function should always return 0.
SAMURIZE_PLUGIN_INT repaint(HDC hdc, int id, char* cValue, int width, int height)
VISUAL PLUGINS ONLY

repaint() is called every time Samurize refreshes its display. Visual plugins need to be repainted every time this occurs.

The bitmap you are drawing on is a 32-bit bitmap with alpha channel. Thus if you use GDI functions to draw, the alpha will be 0 and you will see nothing. You can either use GDI+ (supports transparency) or a custom library such as the graphics32 library for Delphi.

Parameters:
  • h - the device context (HDC) for the bitmap you should draw on
  • id - the unique ID assigned to the meter that is calling this function (assigned by the dllstartup() function)
  • value - the value of the meter in string form (eg. "20", "Some text")
  • width - the width of the bitmap in pixels
  • height - the height of the bitmap in pixels
Return Value:
This function should always return 0.
SAMURIZE_PLUGIN_INT load_settings(int id, char* inifile, char* section)
VISUAL PLUGINS ONLY

load_settings() is called when the config is loaded from file in the config editor or the clients. Your plugin should load its settings from the given section of the specified config file.

Parameters:
  • id - the unique ID assigned to the meter by the dllstartup() function
  • inifile - the full path to the config file
  • section - the section of the config file where the values are listed
Return Value:
This function should always return 0.
SAMURIZE_PLUGIN_INT save_settings(int id, char* inifile, char* section)
VISUAL PLUGINS ONLY

save_settings() is called when the config is being saved by the config editor. Your plugin should save its settings to the given section of the specified config file.

Parameters:
  • id - the unique ID assigned to the meter by the dllstartup() function
  • inifile - the full path to the config file
  • section - the section of the config file where the values should be saved
SAMURIZE_PLUGIN_INT setdefaults(int unique_id, PPluginDefaults* def)
VISUAL PLUGINS ONLY

setdefaults is called when the config editor receives the WM_SAM_CONFIGEDITOR_SETDEFAULTS message.

When this is called, your plugin can set the X, Y, Width and Height of its meter via the passed pointer.

Parameters:
  • unique_id - the unique ID assigned to the meter by the dllstartup() function
  • def - A pointer to a structure that looks like this:
    TPluginDefaults = packed record
    X:Word;
    Y:Word;
    Width:Word;
    Height:Word;
    Reserved:Word;
end;
PPluginDefaults = ^TPluginDefaults;
Return Value:
This function should always return 0.


Plugin SDK

Input Plugin SDK
The following functions are for Input Plugins only.

NOTES:
The SAMURIZE_PLUGIN_CHAR and SAMURIZE_PLUGIN_INT types are defined as

#define SAMURIZE_PLUGIN_CHAR extern "C" __declspec(dllexport) char* __stdcall
#define SAMURIZE_PLUGIN_INT extern "C" __declspec(dllexport) int __stdcall

In Delphi they are simply the PChar and Integer types.

Function List
  • action
  • actionsprovided
  • input_configure
  • input_load_settings
  • input_save_settings
SAMURIZE_PLUGIN_INT action(int id, int action, int sourcepluginid, int outputpluginid, int X, int Y, int left, int top, int right, int bottom, char* files)
INPUT PLUGINS ONLY

action() is called when ever an action occurs for example left click. Your plugin can cope with all the actions or a subset of actions. However your plugin must not assume that the user has assigned it to the correct action, and should perform a check before processing the command.

Parameters:
  • id - the unique ID assigned to the meter by the dllstartup() function
  • action - this is an integer representing the action that has occurred
    • 5001 - Left mouse click has occurred
    • 5002 - Right mouse click has occurred
    • 5003 - Middle mouse click has occurred
    • 5004 - Left mouse double click has occurred
    • 5005 - Right mouse double click has occurred
    • 5006 - Middle mouse double click has occurred
    • 5007 - Left mouse drag has occurred
    • 5008 - Right mouse drag has occurred
    • 5009 - Middle mouse drag click has occurred
    • 5010 - The mouse is hovering over the meter
    • 5011 - The mouse has left the meter (NB: This maybe called more than once for a meter)
    • 5012 - Action triggered when the mouse moves over the form
    • 5013 - Action triggered when the mouse moves out of the form area
    • 5020 - A user has dragged and dropped files onto that meter
    • 5030 - Left mouse up click has occurred
    • 5031 - Right mouse up click has occurred
    • 5032 - Middle mouse up click has occurred
    • 5033 - Left mouse down click has occurred
    • 5034 - Right mouse down click has occurred
    • 5035 - Middle mouse down click has occurred
    • 5040 - Mouse Wheel Up
    • 5041 - Mouse Wheel Down
    • 5050 - Key press has occured
  • sourcepluginid - id of the plugin source associated with this meter, 0 if no meter is associated
  • outputpluginid - id of the plugin output associated with this meter, 0 if no meter is associated
  • X - X location of the mouse click
  • Y - Y Location of the mouse click
  • left - Meter Location value - Left
  • top - Meter Location value - Top
  • right - Meter Location value - Right
  • bottom - Meter Location value - Bottom
  • Value - This is only used when a 5020 or 5050 action occurs. For a 5020 action this value contains a list of files separated by a |. For the 5050 action it contains the key that has been pressed, or a keyword for a special key either [BACKSPACE], [RETURN] or [ESCAPE]
Return Value:
This function should return 0.
SAMURIZE_PLUGIN_INT actionsprovided()
INPUT PLUGINS ONLY

actionsprovided() is called to determine what input actions the plugin is willing to handle. The plugin will only be called when these actions occurs.

Return Value:
This function should return a list of Actions separated by a | for example 5001|5002|5010|5011|5020|, the list must have the tailing | at the end to ensure the parsing of it occurs correctly.
SAMURIZE_PLUGIN_INT input_configure(int id, int action)
INPUT PLUGINS ONLY

input_configure() is called when the user clicks on the "Configure..." button in Samurize.
You can display some kind of popup window that allows users to specify various settings for this input plugin. Note that you need to store the settings for each meter individually for saving later on.
This function is optional - if it is not provided, you will not be able to specify settings on a meter-by-meter basis.

Parameters:
  • id - the unique ID of the meter being configured (that your plugin assigned to the meter as the return value of dllstartup)
  • action - Provides the action value for the configure button see action for the full list of actions
Return Value:
This function should always return 0.
SAMURIZE_PLUGIN_INT input_load_settings(int id, char* inifile, char* section)
INPUT PLUGINS ONLY

input_load_settings() is called when the config is loaded from file in the config editor or the clients. Your plugin should load its settings from the given section of the specified config file.

Parameters:
  • id - the unique ID assigned to the meter by the dllstartup() function
  • inifile - the full path to the config file
  • section - the section of the config file where the values are listed
Return Value:
This function should always return 0.
SAMURIZE_PLUGIN_INT input_save_settings(int id, char* inifile, char* section)
INPUT PLUGINS ONLY

input_save_settings() is called when the config is being saved by the config editor. Your plugin should save its settings to the given section of the specified config file.

Parameters:
  • id - the unique ID assigned to the meter by the dllstartup() function
  • inifile - the full path to the config file
  • section - the section of the config file where the values should be saved


Formatting Tags
Samurize has a couple of special formatting tags that can be used to format text output. These tags are listed below.
Specifier/tag | Displays
%b | Line break
%tab | Tab character
%v | A meter's value
%l Specifies a link for the meter. Useful for scripts and plugins to change the link of a meter at runtime.
For example, to create a link to the samurize.com website, you would do use
Samurize Website%lhttp://www.samurize.com
Note that Meter Linkage must still be enabled on the meter for the links to work. Also, links set with the %l tag have higher priority than those assigned in the Meter Linkage field in the Config Editor.
%r Specifies a link for the meter. Useful for scripts and plugins to change the link of a meter at runtime.
For example, to create a link to the samurize.com website, you would do use
Samurize Website%lhttp://www.samurize.com
Note that Meter Linkage must still be enabled on the meter for the links to work. Also, links set with the %l tag have higher priority than those assigned in the Meter Linkage field in the Config Editor.
%m Specifies a link for the meter. Useful for scripts and plugins to change the link of a meter at runtime.
For example, to create a link to the samurize.com website, you would do use
Samurize Website%lhttp://www.samurize.com
Note that Meter Linkage must still be enabled on the meter for the links to work. Also, links set with the %l tag have higher priority than those assigned in the Meter Linkage field in the Config Editor.
%dl Specifies a link for the meter. Useful for scripts and plugins to change the link of a meter at runtime.
For example, to create a link to the samurize.com website, you would do use
Samurize Website%lhttp://www.samurize.com
Note that Meter Linkage must still be enabled on the meter for the links to work. Also, links set with the %l tag have higher priority than those assigned in the Meter Linkage field in the Config Editor.
%dr Specifies a link for the meter. Useful for scripts and plugins to change the link of a meter at runtime.
For example, to create a link to the samurize.com website, you would do use
Samurize Website%lhttp://www.samurize.com
Note that Meter Linkage must still be enabled on the meter for the links to work. Also, links set with the %l tag have higher priority than those assigned in the Meter Linkage field in the Config Editor.
%dm Specifies a link for the meter. Useful for scripts and plugins to change the link of a meter at runtime.
For example, to create a link to the samurize.com website, you would do use
Samurize Website%lhttp://www.samurize.com
Note that Meter Linkage must still be enabled on the meter for the links to work. Also, links set with the %l tag have higher priority than those assigned in the Meter Linkage field in the Config Editor.


Date & Time Formatting Guide
Specifier | Displays
%b | Line break
%tab | Tab
c | Date using the format given by the ShortDateFormat global variable, followed by the time using the format given by the LongTimeFormat global variable. The time is not displayed if the date-time value indicates midnight precisely.
d | Day as a number without a leading zero (1-31).
dd | Day as a number with a leading zero (01-31).
ddd | Day as an abbreviation (Sun-Sat) using the strings given by the ShortDayNames global variable.
dddd | Day as a full name (Sunday-Saturday) using the strings given by the LongDayNames global variable.
ddddd | Date using the format given by the ShortDateFormat global variable.
dddddd | Date using the format given by the LongDateFormat global variable.
m | Month as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mm | Month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mmm | Month as an abbreviation (Jan-Dec) using the strings given by the ShortMonthNames global variable.
mmmm | Month as a full name (January-December) using the strings given by the LongMonthNames global variable.
yy | Year as a two-digit number (00-99).
yyyy | Year as a four-digit number (0000-9999).
h | Hour without a leading zero (0-23).
hh | Hour with a leading zero (00-23).
n | Minute without a leading zero (0-59).
nn | Minute with a leading zero (00-59).
s | Second without a leading zero (0-59).
ss | Second with a leading zero (00-59).
z | Millisecond without a leading zero (0-999).
zzz | Millisecond with a leading zero (000-999).
t | Time using the format given by the ShortTimeFormat global variable.
tt | Time using the format given by the LongTimeFormat global variable.
am/pm | Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
a/p | Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
ampm | Uses the 12-hour clock for the preceding h or hh specifier, and contents of the TimeAMString global variable for any hour before noon, and the contents of the TimePMString global variable for any hour after noon.
/ | Date separator character given by the DateSeparator global variable.
: | Time separator character given by the TimeSeparator global variable.
'xx'/"xx" | Characters enclosed in single or double quotes are displayed as-is, and do not affect formatting.
%h | Gives hours for smoother analog clock (Min: 0, Max: 12)
%m | Gives minutes for smoother analog clock (Min: 0, Max: 60)
%s | Gives seconds for smoother analog clock (Min: 0, Max: 60)
%hh | Gives hours for smoother 24-hour analog clock (Min: 0, Max: 24)
%w | Week number (1-52)
%hr | Gives hours in 12-hour time (1 - 12)
%hrr | Gives hours in 12-hour time with a leading zero (01 - 12)


Winamp Formatting Guide
Specifier | Displays
%b | Line break
%tab | Tab
%wp | Track title (as it appears in the Winamp playlist)
%wt | Track info (title & artist - old style)
%min | Minutes component of song length
%sec | Seconds component of song length
%pm | Current song position (minutes)
%ps | Current song position (seconds)
%prc | Percentage played of current song (useful for progressbars)
%sr | Song sample rate (eg. 44kHz)
%r | Song bitrate (eg. 128kbps)
%pl | Playlist length (number of tracks)
%pp | Position of current song in playlist
%prp | Percentage played of playlist
%ch | Song channel (Stereo/Mono)
%f | Full path to currently playing file

ID3 tag info
Specifier | Displays
%t | Track name
%ar | Track artist
%c | Track comment
%al | Track album
%y | Track year
%g | Track genre
%nt | Track number
%cmp | Composer
%e | Encoder
%u | URL
%cpr | Copyright
%oa | Original artist


Command Line Options
Samurize has a few command line options. These are listed below. Options that only apply to the Samurize Server are marked with a *, and those that only apply to the desktop Client are marked with a +.
Option | Effect
c=ConfigFileName | Loads the specified config file. The path is relative to the Samurize config folder, so to load a config called test.ini which resides in your config folder, you would use c=test.ini
clickthru=0|1 | Disables/enables mouse clicks being ignored by the client for the specified instance.+
toggleclickthru | Disables/enables mouse clicks being ignored by the client for the specified instance.+
close | Closes the client/server with the specified instance name.
edit | Opens the currently loaded config file for the specified instance.
hide | Hides the specified instance.+
i=InstanceName | Specifies the instance name. Different instances can be used to remember different settings. See here for more information.
locked=0|1 | Locks/unlocks the window position of the specified instance.+
togglelock | Locks/unlocks the window position of the specified instance.+
mode=ontop|absontop|pinned|normalwindow | Sets the client window behaviour to Always On Top, Always On Top (absolute), Pinned to Desktop or Normal Window Behaviour for the specified instance.+
paused=0|1 | Pauses/unpauses the specified instance.
togglepause | Pauses/unpauses the specified instance.
png=ImageFileName | Specifies the output image file for the Samurize Server application. Also enables PNG output.*
nopng | Dnables PNG output for the Samurize Server application.*
reload | Reloads the currently loaded config file for the specified instance.
togglerunning | Toggles the specified instance (acts as a switch).
show | Shows the specified instance.+
snaptoclients=0|1 | Disables/enables snapping of the client window to other client windows for the specified instance.+
togglesnaptoclients | Disables/enables snapping of the client window to other client windows for the specified instance.+
snaptoedge=0|1 | Disables/enables snapping of the client window to the edges of the screen for the specified instance.+
togglesnaptoedge | Disables/enables snapping of the client window to the edges of the screen for the specified instance.+
trayiconvisible=0|1 | Hides/shows the tray icon for the specified instance.
toggletrayicon | Hides/shows the tray icon for the specified instance.
usedesignpos=0|1 | Sets the instance to use either the last position or the position defined in the config file for the specified instance.+
toggleusedesignpos | Toggles the instance to use either the last position or the position defined in the config file for the specified instance.+
togglevisible | Hides/shows the specified instance.+
xml=XmlFileName | Specifies the output XML file for the Samurize Server application. Also enables XML output.*
noxml | Disables XML output for the Samurize Server application.*


Icon Pack

Creating Icon Packs
The Samurize Config editor now supports Icon Packs to style the config buttons. Config packs a Resource DLLS, the icons have to be in a specific order for Samurize to populate the correct button. If no icon
Icon Number | Icon Description
1 | Add Active Script Icon
2 | Add Console Program Icon
3 | Add Date Time Icon
4 | Add Drive Space Icon
5 | Add Hardware monitor Icon
6 | Add Memory Icon
7 | Add Perfmon Icon
8 | Add Plugin Icon
9 | Add POP3 Icon
10 | Add Text Icon
11 | Add TextFile Icon
12 | Add Total Up/Down Icon
12 | Add UpTime Icon
14 | Add WMI Icon
15 | Add Battery Icon
16 | Add Media Icon
17 | Add Ellipse Icon
18 | Add Image Icon
19 | Add Line Icon
20 | Add Rectangle Icon
21 | Add Rounded Rectangle Icon
22 | Save Icon
23 | Apply Icon
24 | Copy Icon
25 | Delete Icon
26 | New Icon
27 | Paste Icon
28 | Open Icon
29 | Send To Bottom Icon
30 | Send Down Icon
31 | Send To Top Icon
32 | Send Up Icon
33 | Hide Icon
34 | UnHide Icon
35 | Cut Icon
36 | Previous Icon
37 | Next Icon
38 | Undo Icon
39 | Redo Icon
40 | Select All Icon
41 | Save As Icon
42 | Check Updates Icon
43 | Donate Icon
44 | Help Icon
45 | Language Icon
46 | Online Tutorial Icon
47 | Visit Homepage Icon
48 | Instance Manager Icon
49 | Merge Icon
50 | Align Icon
51 | Test All Icon
52 | Test Plugins Icon
53 | Test Scripts Icon
54 | Add Icon
55 | Preferences Icon