Greetings!
First of, good job on your application, I like the idea of it and will keep using it.
I will just go on with some feedback and suggestions I guess, lets see.
Feeback/Suggestions:
I loved the idea with PHP, as I like working with it, I had to try this idea out, but I noticed a few things so...
I hope you don't mind, but I made a few changes, because on other user names (like mine), it keeps overlapping:

I changed it a litte, its not perfect, but its working good so far.
Every username should be fine now, as its calculated by its pixel width with a offset:

Anyways, keep going. And thanks for developing this application.
Best wishes,
-givenameplz
First of, good job on your application, I like the idea of it and will keep using it.
I will just go on with some feedback and suggestions I guess, lets see.
Feeback/Suggestions:
- Increase size of the texts, they appear really small for me.
- Think of other fun things to include, as querying the picture of the song playing.
(But thats just something fancy I would like, tee-hee. After all it would be something thats only interesting for the PHP part I guess.) - Maybe more placeholders like [Diff] and [DL] for the user to input.
- As for the placeholders, I didn't read it anywhere in the app, but you should put a note somewhere what they do and which exist.
(I know its written here in your post, but as you are already using a MouseOver hint, the bottom right string, you could maybe put something like this there.)
I loved the idea with PHP, as I like working with it, I had to try this idea out, but I noticed a few things so...
I hope you don't mind, but I made a few changes, because on other user names (like mine), it keeps overlapping:
I changed it a litte, its not perfect, but its working good so far.
Every username should be fine now, as its calculated by its pixel width with a offset:
The code for the "image.php"
(If you like, you can use it or change it as much as you want. Well, I did the same to yours. Hehe)<?php
/* ############################################################# */
// Simply put your user name and desired font here and you are set!
$user = "givenameplz";
$txtFont = 'calibri.ttf'; // File has to be in the same folder as this file!
/* ############################################################# */
// If you want to change the output messages, please do it here.
$output_is = "is";
$outputHappy = "(*^v^)/";
$outputSad = "(Q^Q)~";
$output_nowplaying = "Now Playing:";
/* ############################################################# */
// If you have no idea whats going on, don't touch anything below~
// Adding spaces~
$output_is = " ".$output_is." ";
$outputHappy = " ".$outputHappy;
$outputSad = " ".$outputSad;
$output_nowplaying = " ".$output_nowplaying." ";
header('content-type: image/png');
$image = imagecreatetruecolor(620, 10);
imagealphablending($image, false);
$bgCol = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $bgCol);
imagesavealpha($image, true);
$txtCol = imagecolorallocate($image, 128, 64, 128);
$txtNPCol = imagecolorallocate($image, 218, 54, 108);
$txtMapCol = imagecolorallocate($image, 188, 54, 98);
$txtSize = 8;
$txtAngle = 0;
$txtX = 1;
$txtY = 8;
$offset = calcMyFontPlz($user.$output_is,$txtFont,$txtSize,$txtAngle); // Offset for USERNAME is...
$np = file_get_contents('np.txt', NULL, NULL, 0, filesize('np.txt'));
$status = file_get_contents('status.txt', NULL, NULL, 0, filesize('status.txt'));
if(strpos($status,"Online") !== false && strpos($np,"Nothing Q^Q") !== false){
//Output if we're online but not playing anything
$txtStatus = "[Online]";
$txtStatusCol = imagecolorallocate($image, 0, 180, 0);
$offset2 = calcMyFontPlz($txtStatus,$txtFont,$txtSize,$txtAngle);
imagettftext($image, $txtSize, $txtAngle, $txtX + $offset + $offset2, $txtY, $txtCol, $txtFont, $outputHappy);
} elseif(strpos($status,"Offline") !== false){
//Output if we're offline
$txtStatus = "[Offline]";
$txtStatusCol = imagecolorallocate($image, 180, 0, 0);
$offset2 = calcMyFontPlz($txtStatus,$txtFont,$txtSize,$txtAngle);
imagettftext($image, $txtSize, $txtAngle, $txtX + $offset + $offset2, $txtY, $txtCol, $txtFont, $outputSad);
} else {
//Output if we're online playing a map!
$txtStatus = "[Online]";
$txtStatusCol = imagecolorallocate($image, 0, 172, 0);
$offset2 = calcMyFontPlz($txtStatus,$txtFont,$txtSize,$txtAngle);
imagettftext($image, $txtSize, $txtAngle, $txtX + $offset + $offset2, $txtY, $txtCol, $txtFont, $outputHappy);
if(strlen($np) > 2){
$offset2 += calcMyFontPlz($outputHappy,$txtFont,$txtSize,$txtAngle);
imagettftext($image, $txtSize, $txtAngle, $txtX + $offset + $offset2, $txtY, $txtNPCol, $txtFont, $output_nowplaying);
$offset2 += calcMyFontPlz($output_nowplaying,$txtFont,$txtSize,$txtAngle);
imagettftext($image, $txtSize, $txtAngle, $txtX + $offset + $offset2, $txtY, $txtMapCol, $txtFont, $np);
}
}
//Output Online/Offline message.
imagettftext($image, $txtSize, $txtAngle, $txtX, $txtY, $txtCol, $txtFont, $user.$output_is);
imagettftext($image, $txtSize, $txtAngle, $txtX + $offset, $txtY, $txtStatusCol, $txtFont, $txtStatus);
imagepng($image);
imagedestroy($image);
function calcMyFontPlz($string, $font, $size, $angle)
{
$result = imagettfbbox($size,$angle,$font,$string);
return $result[2];
}
?>
Anyways, keep going. And thanks for developing this application.
Best wishes,
-givenameplz