_NET_DESKTOP_VIEWPORT
Свойство корневого окна, показывающее, какая часть стола, большего чем экран, видна сейчас: пара координат на каждый стол и всегда 0,0 у менеджеров без панорамирования.
X-сервер ничего не знает о рабочих столах. Виртуальный стол — фокус, который оконный менеджер проделывает с окнами, а модель панорамирования из tvtwm, olvwm и FVWM — самый буквальный из них: экран — окно просмотра, и когда пользователь сдвигается на ширину экрана вправо, менеджер двигает каждое окно на ширину экрана влево через XMoveWindow. Свойство публикует положение этого окна — x и y левого верхнего угла, по паре на стол. Слово viewport выбрали потому, что desktop уже было занято. Пейджер запрашивает новое положение ClientMessage из двух чисел, и тот же вызов получают переключение по краю и щелчки в пейджере.
У менеджеров без больших столов каждая пара равна 0,0, но спецификация требует публиковать их всё равно, чтобы пейджеру не приходилось гадать. Вместе с этим меняются координаты окон: окно на странице справа имеет x больше ширины экрана, и программа, запоминающая своё положение между запусками, воспринимает это как «исчезновение». Compiz перевернул иерархию и сделал области просмотра рабочими пространствами, так что wmctrl -o 2560,0 был способом повернуть куб из шелла. Модель живёт в Wayland-композиторах с прокручиваемыми поверхностями, например niri, но целиком внутри композитора и без чего-либо, что можно прочитать снаружи.