История изменений
Исправление windows10, (текущая версия) :
Как бы тебе сказать, братан.
Я лучше покажу.
На скриншоте одна программа создала окно, которое естественно в итоге X window, вторая программа в это окно пишет.
Как?
Да через Xembed, работа с которым удобно реализована в GTK.
Как работает? Да очень просто.
В окне КУДА ты пишешь, создается любой контейнерный виджет. Кстати окно само по себе уже виджет, только в него ты можешь вывести не более одного чего-нибудь.
В этом же окне создается «socket», который получает цифровой ID.
Этот сокет добавляется для отображения в ранее созданный контейнерный виджет.
В программе, которая ПИШЕТ, создается «plug» с идентификатором полученным в первой программе.
Программа №1.
Создали окно
Создали бокс
Создали розетку
Добавили розетку в бокс, а бокс в окно
Получили id розетки
Программа №2.
Создали штепсель с id, полученным в первой программа
Этот штепсель - тень окна Программы №1
И да, на случай глупого вопроса «а как программа №2 узнает номер сокета» - сокет можно разнумеровывать произвольно, переменная там unsigned long.
Т.е. для этой тривиальной задачи в которую Иксы умеют by design, вам нужно создавать новый графический сервер, какие-то композиторы и прочее мастурбатство? Штош, это дает понимание почему Линукс настолько кривожоп.
Исходная версия windows10, :
Как бы тебе сказать, братан.
Я лучше покажу.
На скриншоте одна программа создала окно, которое естественно в итоге X window, вторая программа в это окно пишет.
Как?
Да через Xembed, работа с которым удобно реализована в GTK.
Как работает? Да очень просто.
В окне КУДА ты пишешь, создается любой контейнерный виджет. Кстати окно само по себе уже виджет, только в него ты можешь вывести не более одного чего-нибудь.
В этом же окне создается «socket», который получает цифровой ID.
Этот сокет добавляется для отображения в ранее созданный контейнерный виджет.
В программе, КОТОРАЯ пишет, создается «plug» с идентификатором полученным в первой программе.
Программа №1.
Создали окно
Создали бокс
Создали розетку
Добавили розетку в бокс, а бокс в окно
Получили id розетки
Программа №2.
Создали штепсель с id, полученным в первой программа
Этот штепсель - тень окна Программы №1
И да, на случай глупого вопроса «а как программа №2 узнает номер сокета» - сокет можно разнумеровывать произвольно, переменная там unsigned long.
Т.е. для этой тривиальной задачи в которую Иксы умеют by design, вам нужно создавать новый графический сервер, какие-то композиторы и прочее мастурбатство? Штош, это дает понимание почему Линукс настолько кривожоп.