Пытаюсь написать свой оконный менеджер. Одна проблема, с которой я столкнулся, заключается в том, что я не понимаю, как определить, в каком порядке должны отображаться окна. Единственное средство, которое я нашел, - использовать xcb_configure_window. Но мне он кажется очень ограниченным: он позволяет либо поднять окно поверх всего, либо поместить его в самый низ (без понятия слоев или чего-то еще). Какой ограниченный функционал :(.
Что мне действительно хотелось бы сделать, так это определить порядок окон и рассказать об этом X. Или определить несколько слоев окон (например, нормальный, прежде всего, ниже всех). Так что я мог поднять (или опустить) окно по отношению к его слою. Таким образом, окна нижних слоев никогда не будут закрывать окна верхних слоев.
Итак, есть ли какая-либо другая библиотечная функция для определения порядка окон, кроме xcb_configure_window? Или мне нужно с этим жить? Это означало бы, что мне нужно отслеживать порядок окон в моем оконном менеджере.
Ссылка на соответствующую документацию XCB: https://www.x.org/releases/X11R7.6/doc/libxcb/tutorial/index.html#winstack.