На самом деле мой вариант хорош тем что рисованием и перерисовкой рамки будет заниматься X Server. И к тому же не нужно будет высчитывать координаты куда рисовать, где перерисовывать в случаи события Expose. И ещё не возможно будет случайно нарисовать поверх рамки, стереть ей.
можно попросить диспечера окно не рисовать заголовок+рамочки, но тогда их придется рисовать самому (если они конечно нужен)
в win можно рисовать на «оформление окна» потому что это «оформление окна» рисует сама программа (через библиотечку и «стандартные» обработчики событий).
в X «оформление окна» рисует другой процесс, а сама программа не имеет доступ к рамке и заголовку (программа может попросить диспетчера окон изменить их).