Well I have only had one experience with pop-eye. It was last year when my sixline wrasee presented with a minor case, most likely resulting from an abrasion to the right eye.
I did a bit of reading and spoke to an LFS owner. The recommendation was to leave the fish alone for a few days, since it was eating and bahving normally, and just observe it to see if symptoms improved. In my case, after about a week the fish had fully recovered without intervention.
But considering that your fish has gone three weeks without improvement, perhaps some intervention is necessary.
It was recommended to me, that the next course of action would have been to move the fish to hyposalinity and treat with antibiotics; such as Mardel's Maracyn Plus (Sulfadimidine [aka. Sulfamethazine], Trimethoprin), or Triple Sulfa (Sulfadiazine, Sulfamethazine, Sulfamerazine).
If you do decide to medicate, I would also suggest that you continue the treatment for 2-3 days once the physcial symptoms have disappeared, just to sure that the tissue is free of any infectious agent. Then slowly increase the salinity of the quarantine tank and move the fish back to the display.