gtk+ для x window systemв unix, внутренний интерфейс x используется по умолчанию для gtk+. таким образом вам не придётся делать что-то особенное чтобы скомпилировать её, всё должно "просто работать". чтобы использовать библиотеки нижнего уровня (low-level) xlib в обычных gtk программах, смотрите документацию по взаимодействию gdk x window system и gdk. x11-спицифика опций командной строкивнутренний интерфейс x понимает некоторые дополнительные аргументы командной строки. --display display. имя x display для открытия, вместо определенного переменной окруженияя display. --screen screen_number. номер экрана в пределах отображенных по умолчанию. это отменяет любой номер экрана определенный опцией командной строки --display или переменной окруженияя display. если этот экран не может быть открыт, gtk+ вернётся к экрану определённому в названии экрана. эта опция бесполезна в интерактивном режиме; когда программа регистрирует командную строку в session manager для последующего перезапуска, это может сохранить экран включенным, не заботясь о перезапуске на различных дисплеях. --sync. делает все запросы x одновременно. это полезная опция при отладке, но значительно замедляет выполнение. --gxid-host host. узел для контакта с демоном gxid; отменяет gxid_host переменную окруженияя. --gxid-port port. порт подключения gxid; отменяет переменную окруженияя gxid_port. эта опция доступна, только если gtk+ сконфигурирован с параметром --gdk-target=x11. x11-специфика переменных окруженияяна внутренний интерфейс x могут влиять некоторые дополнительные переменные окруженияя. gxid_host, gxid_port. узел и порт для контакта с демоном gxid. gxid необходим только на x servers которые не поддерживают использование указателя и расширенных устройств непосредственно, он доступен только если gtk+ сконфигурирована с параметром --with-xinput=gxi. xfree86 и xorg x servers не имеют этого ограничения. gdk_use_xft. если эта переменная установлена в 1, то gtk+ будет использовать внутренний интерфейс pango xft вместо внутреннего интерфейса x когда это возможно (т.е., когда x server поддерживает xrender расширение и pango собрана с поддержкой xft). понимание архитектуры x11люди переходящие с windows или macos находят некоторые аспекты x window system удивительными. этот раздел вводит некоторые основные понятия x концепции высшего уровня. многие детали могут быть изучены в книге «xlib programming manual» автора adrian nye; эта книга одинакова по объему с o'reilly x window system. стандарты – другой важный ресурс, если вы вникнете в детали нижнего уровня x11, в особенности icccm и extended window manager hints specifications. freedesktop.org имеет ссылки на многие уместные спецификации. gdk заменяет использование xlib в gtk программах. сервер, клиент, менеджер окондругие оконные системы обычно помещают все свои функциональные возможности непосредственно в приложение. с x, каждое приложение привлекает три различных программы: x server, приложение (называется client потому что является клиентом x server), и специальный клиент называемый window manager. x server отвечает за управление ресурсами, обработку процессов отрисовки, а также обрабатывает события, такие как события клавиатуры и мыши интересующие приложения. таким образом – приложения клиенты, могут просить x server создать окно, нарисовать круг, или переместить окна по кругу. менеджер окон отвечает за визуализацию рамки или границ окон; он также имеет возможность регулировать размер каждого окна, а также состояние окна, такое как минимизация или максимизация и т.д.. в windows и macos большинство из этого выполняет само приложение. в x11, если вы хотите модифицировать состояние окна или изменить рамку, вы должны попросить window manager сделать это от вашего имени, используя установленное соглашение (convention). gtk+ имеет функции для того, чтобы просить window manager выполнять разные действия; например gtk_window_iconify() или gtk_window_maximize() или gtk_window_set_decorated(). имейте в виду, что gtk_window_move() и калибровка окна в конечном счете контролируется менеджером окон, также большинство менеджеров окна будут игнорировать некоторые запросы время от времени, в интересах улучшения интерфейса пользователя. |