This article shows how a portlet using a custom window state can be created. Information is spread in different places. Here I will show the different steps required.