Customize Progress field

In the Miner tab, information about all miners are displayed. One of the columns are Progress, that by default includes mining information such as Accepted, Rejected and Hardware errors.

The three lines of information in the Progress column can be customized. In the Appearance ribbon tab, the Customize progress button is used to open the customization dialog. The screenshot below also show the customized information in the Progress column. The number of accepted shares are displayed in percent, compared to the default where it represents the number of shares.

customize progress

To change any of the default three lines of information in the Progress column, check the corresponding checkbox and enter an expression in the text field.

customize progress


Expressions are based on C# scripting. To reproduce the default Line 1 display of Accepted, using a C# expression, the following can be used:

"Accepted: " + status.Accepted
All strings must be inside double quotes. The status object contains information about the mining.

The following properties can be accessed from the status object:

public int SecondsSinceStart { get; set; }
public double KHashAvg { get; set; }
public double KHash5s { get; set; }
public int FoundBlocks { get; set; }
public int Accepted { get; set; }
public int Rejected { get; set; }
public int HwErrors { get; set; }
public double Utility { get; set; }
public int Discarded { get; set; }
public int Stale { get; set; }
public int GetFailures { get; set; }
public int LocalWork { get; set; }
public int RemoteFailures { get; set; }
public int NetworkBlocks { get; set; }
public double TotalMHashes { get; set; } 
public double WorkUtility { get; set; }
public double Diff1Work { get; set; }
public double DifficultyAccepted { get; set; }
public double DifficultyRejected { get; set; }
public double DifficultyStale { get; set; }
public double BestShare { get; set; }
public double PoolRejectPercent { get; set; }
public double PoolStalePercent { get; set; }
public int LastGetwork { get; set; }
public double KHashEffective { get; }                


This example show how to use the customization to display the accepted shares in percent. The output will look like this:
Accepted: 98.84%.

"Accepted: " + Math.Round((status.Accepted * 100) / (float)(status.Accepted + status.Rejected), 2) + "%"

This example show how to use red color for if there are at least one hardware error reported. The output will look like this:
HW Errors: 4

"HW Errors: " + (status.HwErrors > 0 ?  "<font color=\"red\">" + status.HwErrors + "</font>": status.HwErrors.ToString())

Show hardware errors in percent

"HW Percent: " + Math.Round((status.HwErrors * 100) / (float)(status.Accepted + status.Rejected + status.HwErrors), 2) + "%"

Antminer example

For Antminer ASIC miners, additional statistics are available using stats.Frequency, stats.ChainAcs1 and stats.ChainAcs2. The example below will give the following output in the progress column: customize progress antminer example

"A: " + status.Accepted + ", R: "+ status.Rejected + ", HW: " + status.HwErrors
"Frequency: " + stats.Frequency
stats.ChainAcs1 + "\r\n" + stats.ChainAcs2

Antminer Chip temperature example

For Antminer S9, the chip temperatures can also be displayed by using the following expression:

"Chip: " + stats.ChipTemp1 + "/" + stats.ChipTemp2 + "/" + stats.ChipTemp3 + " °C"

The expression can be made more advanced to highlight any temperature at 85 °C and above with bold red text, and don't show any value if zero is reported.

new Func<string>(() => {
	const int TemperatureLimit = 85;
	List<string> tempList = new List<string>();
	var AddTemp = new Action<string>((string tempString) => {
		if (!string.IsNullOrEmpty(tempString) && tempString != "0")
			tempList.Add(Convert.ToInt32(tempString) >= TemperatureLimit ?  "<font color=\"red\"><b>" + tempString + "</b></font>": tempString);
	return "Chip: " + string.Join("/", tempList) + " °C";


Antminer Fan speed example

"Fan: " + stats.Fan1 + " / " + stats.Fan2

Windows uptime

Display Windows Uptime on a format like: 0d 13h 43m

"Windows Uptime: " + string.Format("{0}d {1}h {2}m", TimeSpan.FromSeconds(system.WindowsUptimeSeconds).Days, TimeSpan.FromSeconds(system.WindowsUptimeSeconds).Hours, TimeSpan.FromSeconds(system.WindowsUptimeSeconds).Minutes)

Coins per day

Display the income in number of coins per day, with 4 decimals. The feature will only work with single coin pools, not on multi-coin pools where the actual coin isn't known.

"Coins/day: " + Math.Round(miningHelper.GetCoinsPerDay(), 4)
Back to help section