Стеклопакет X11 (xquartz)

Во-первых, я довольно плохо знаком с тем, как программы взаимодействуют с оконными менеджерами X11. Я часто использую ngspice для моделирования на уровне контуров, и одна из наиболее часто используемых задач - это построение графика с использованием постпроцессора Nutmeg. Всякий раз, когда через терминал.app вызывается несколько окон X11, по какой-то причине все окна накладываются друг на друга. Есть ли способ или способ взломать любое новое окно x11, не перекрывающееся / не сложенное в существующем окне?

Спасибо за прочтение.

1 ответ

Размещение окон осуществляется оконным менеджером. Я вижу, что вы пометили этот MacOS, поэтому я предполагаю, что вы запускаете приложения X11 через MacOS. Я не использую MacOS, поэтому я не уверен, какой у вас WM, но на самом деле решать WM. Если у вас есть некоторые функции Xlib или XCB для работы, вы, вероятно, можете установить некоторые подсказки для размещения, используя XChangeProperty (Xlib) или xcb_change_property (XCB). Нет никакого способа гарантировать, что WM сделает с ними что-нибудь, но это возможно. Вы также можете перемещать и изменять размеры окон, используя XConfigureWindow/xcb_configure_window.

Короче говоря, размещение обрабатывается WM, который может делать это так, как ему хочется, и окна не обязаны прослушивать любые запросы, сделанные другими приложениями. Все, что вы можете сделать, это попробовать некоторые вещи и посмотреть, что работает.

Другие вопросы по тегам