WindowInfo::updateGeometry can be simplified: assign x = y = w = h = 0 in the if (m_wnckWindow == NULL) clause, and move m_position and m_size assignments outside of the if-else block (will remove duplicated m_size/m_position setting code).
Alternatively, move int x, y, w, h to the 'else' block, as it's not needed in m_wnckWindow == NULL block.
WindowInfo: :updateGeometry can be simplified: assign x = y = w = h = 0 in the if (m_wnckWindow == NULL) clause, and move m_position and m_size assignments outside of the if-else block (will remove duplicated m_size/m_position setting code).
Alternatively, move int x, y, w, h to the 'else' block, as it's not needed in m_wnckWindow == NULL block.