Yup, sorry to say that, that tank is too small for that fish.
I like the suggestion above, get a Betta. They are really colorful, and would love that size of a tank.
To me, the Goldfish looks fine, he may just be stressed out because of how small the tank is in.
It is one of the most common misconceptions, that goldfish can live in such small places, however, instead a Goldfish requires at least a 20 gallons, if not 30 gallons, tank for just ONE goldfish, then another 10 gallons for every goldfish added there after.
So, re-home the goldfish, and then I would look into Bettas!
-FHM