LINUX.ORG.RU

История изменений

Исправление windows10, (текущая версия) :

Как бы тебе сказать, братан.

Я лучше покажу.

https://ibb.co/hR0gQ53D

На скриншоте одна программа создала окно, которое естественно в итоге X window, вторая программа в это окно пишет.

Как?

Да через Xembed, работа с которым удобно реализована в GTK.

Как работает? Да очень просто.

В окне КУДА ты пишешь, создается любой контейнерный виджет. Кстати окно само по себе уже виджет, только в него ты можешь вывести не более одного чего-нибудь.

В этом же окне создается «socket», который получает цифровой ID.

Этот сокет добавляется для отображения в ранее созданный контейнерный виджет.

В программе, которая ПИШЕТ, создается «plug» с идентификатором полученным в первой программе.

Программа №1.

Создали окно
Создали бокс
Создали розетку
Добавили розетку в бокс, а бокс в окно
Получили id розетки

Программа №2.

Создали штепсель с id, полученным в первой программа
Этот штепсель - тень окна Программы №1

И да, на случай глупого вопроса «а как программа №2 узнает номер сокета» - сокет можно разнумеровывать произвольно, переменная там unsigned long.

Т.е. для этой тривиальной задачи в которую Иксы умеют by design, вам нужно создавать новый графический сервер, какие-то композиторы и прочее мастурбатство? Штош, это дает понимание почему Линукс настолько кривожоп.

Исходная версия windows10, :

Как бы тебе сказать, братан.

Я лучше покажу.

https://ibb.co/hR0gQ53D

На скриншоте одна программа создала окно, которое естественно в итоге X window, вторая программа в это окно пишет.

Как?

Да через Xembed, работа с которым удобно реализована в GTK.

Как работает? Да очень просто.

В окне КУДА ты пишешь, создается любой контейнерный виджет. Кстати окно само по себе уже виджет, только в него ты можешь вывести не более одного чего-нибудь.

В этом же окне создается «socket», который получает цифровой ID.

Этот сокет добавляется для отображения в ранее созданный контейнерный виджет.

В программе, КОТОРАЯ пишет, создается «plug» с идентификатором полученным в первой программе.

Программа №1.

Создали окно
Создали бокс
Создали розетку
Добавили розетку в бокс, а бокс в окно
Получили id розетки

Программа №2.

Создали штепсель с id, полученным в первой программа
Этот штепсель - тень окна Программы №1

И да, на случай глупого вопроса «а как программа №2 узнает номер сокета» - сокет можно разнумеровывать произвольно, переменная там unsigned long.

Т.е. для этой тривиальной задачи в которую Иксы умеют by design, вам нужно создавать новый графический сервер, какие-то композиторы и прочее мастурбатство? Штош, это дает понимание почему Линукс настолько кривожоп.