take in account partial_struct changes
implement an atom name cache
enforce floating window positioning