code: func PropValAtoms(xu *xgbutil.XUtil, reply *xproto.GetPropertyReply,
  	err error) ([]string, error) {
  
  	if err != nil {
  		return nil, err
  	}
  	if reply.Format != 32 {
  		return nil, fmt.Errorf("PropValAtoms: Expected format 32 but got %d",
  			reply.Format)
  	}
  
  	ids := make([]string, reply.ValueLen)
  	vals := reply.Value
  	for i := 0; len(vals) >= 4; i++ {
  		ids[i], err = AtomName(xu, xproto.Atom(xgb.Get32(vals)))
  		if err != nil {
  			return nil, err
  		}
  
  		vals = vals[4:]
  	}
  	return ids, nil
  }
docs: // PropValAtoms is the same as PropValAtom, except that it returns a slice
  // of atom names. Also must be 32 bit format.
  // This is a method of an XUtil struct, unlike the other 'PropVal...' functions.