Spec-Zone.ru › GTK 3.24

Запуск приложений GTK+

Запуск приложений GTK+ — Как запустить и отладить приложение GTK+

Запуск и отладка приложений GTK+

Общие параметры командной строки

Все приложения GTK+ поддерживают ряд стандартных параметров командной строки. Эти параметры удаляются из argv функцией gtk_init(). Модули могут анализировать и удалять дополнительные параметры. Подсистемы GDK X11 и Windows анализируют некоторые дополнительные параметры командной строки.

--gtk-module module. Список модулей для загрузки дополнительно к тем, которые указаны в переменной среды GTK3_MODULES и параметре gtk-modules.

--g-fatal-warnings. Заставить GTK+ прерываться при всех предупреждениях. Это полезно для остановки на первом предупреждении в отладчике, если ваше приложение выводит несколько предупреждений. В большинстве случаев лучше начать отладку с первого возникшего предупреждения.

--gtk-debug options. Список параметров отладки для включения дополнительно к тем, которые указаны в переменной среды GTK_DEBUG. Этот параметр недоступен, если GTK+ был сконфигурирован с --enable-debug=no.

--gtk-no-debug options. Список параметров отладки для выключения. Этот параметр доступен только если GTK+ был сконфигурирован с --enable-debug=yes.

Следующие параметры фактически используются GDK, а не GTK+, но мы включаем их для полноты.

--class class. Устанавливает класс программы; см. gdk_set_program_class().

--name name. Устанавливает имя программы.

--gdk-debug options. Список параметров отладки для включения дополнительно к тем, которые указаны в переменной среды GDK_DEBUG. Этот параметр доступен только, если GTK+ был сконфигурирован с --enable-debug=yes.

--gdk-no-debug options. Список параметров отладки для выключения. Этот параметр доступен только, если GTK+ был сконфигурирован с --enable-debug=yes.

Переменные окружения

GTK+ проверяет ряд переменных окружения помимо стандартных переменных, таких как LANG, PATH, HOME или DISPLAY; в основном для определения путей поиска определённых файлов. X11, Windows и Broadway GDK-бекенды используют дополнительные переменные окружения.

GTK_DEBUG. Если GTK+ не был сконфигурирован с --enable-debug=no, эта переменная может быть установлена в список опций отладки, которые заставляют GTK+ выводить различные виды отладочной информации.

actions

Действия и модели меню

baselines

Отображение базовых линий

builder

Поддержка GtkBuilder

geometry

Распределение размера

icontheme

Стили иконки

interactive

Открыть интерактивный отладчик

keybindings

Настройки горячих клавиш

misc

Разное

modules

Загрузка модулей

no-css-cache

Обойти кэширование свойств CSS

no-pixel-cache

Отключить кэш пикселей

plugsocket

Встраивание между процессами

pixel-cache

Кэш пикселей

printing

Поддержка печати

size-request

Запросы размера

text

Внутренности виджетов текста

touchscreen

Предполагать, что указатель - устройство сенсорного экрана

tree

Внутренности виджетов дерева

updates

Визуальная обратная связь об обновлениях окна

resize

Выделение изменяемых виджетов

layout

Отображение границ макета

Специальное значение all может быть использовано для включения всех опций отладки. Специальное значение help может быть использовано для получения списка всех поддерживаемых опций отладки.

GTK3_MODULES. Список модулей для загрузки. Обратите внимание, что GTK+ также позволяет указать модули для загрузки через опцию командной строки (--gtk-module) и с помощью настройки gtk-modules.

GTK_MODULES. Список модулей для загрузки дополнительно к тем, которые находятся в переменной GTK3_MODULES.

Обратите внимание, что эта переменная окружения также читается GTK+ 2.x, у которого может быть не тот же набор модулей для загрузки. Используйте GTK3_MODULES для модулей, совместимых только с GTK+ 3.

GTK_PATH. Указывает список каталогов для поиска при поиске GTK+ динамически загружаемых объектов, таких как модули, указанные в GTK_MODULES, движки тем, модули методов ввода, бэкенды файловой системы и бэкенды печати. Если путь к динамически загружаемому объекту задан как абсолютный путь, то GTK+ загружает его напрямую. В противном случае GTK+ последовательно проходит каталоги в GTK_PATH, за которым следует каталог .gtk-3.0 в домашнем каталоге пользователя, а затем системный каталог по умолчанию, который является libdir/gtk-3.0/modules. (Если GTK_EXE_PREFIX определён, libdir является $GTK_EXE_PREFIX/lib. В противном случае это libdir, указанный при конфигурации GTK+, обычно /usr/lib, или /usr/local/lib.) Для каждого каталога в этом списке GTK+ фактически ищет подкаталог directory/version/host/type, где version выводится из версии GTK+ (используйте pkg-config --variable=gtk_binary_version gtk+-3.0 для определения этого из скрипта), host - архитектура, на которой был построен GTK+ (используйте pkg-config --variable=gtk_host gtk+-3.0 для определения этого из скрипта), а type - каталог, специфичный для типа модулей; в настоящее время он может быть modules, engines, immodules, filesystems или printbackends, соответствующие типам модулей, упомянутым выше. Либо version, host, или оба могут быть опущены. GTK+ сначала ищет в самом специфичном каталоге, а затем в каталогах с меньшим количеством компонентов. Компоненты GTK_PATH разделяются символом ':' на Linux и Unix, и символом ';' на Windows.

Обратите внимание, что эта переменная окружения также читается GTK+ 2.x, что делает её непригодной для глобальной (или сессионной) установки, так как это приведёт к тому, что приложения GTK+ 2.x или GTK+ 3 увидят несовместимые модули.

GTK_IM_MODULE. Указывает модуль IM, который необходимо использовать в приоритете по сравнению с модулем, определённым по локали. Если это не установлено, и вы работаете на системе, которая включает XSETTINGS и имеет значение в Gtk/IMModule, это значение будет использовано для модуля IM по умолчанию. Это также может быть список методов ввода, разделённых двоеточием, которые GTK+ будет пытаться использовать по очереди, пока не найдёт доступный в системе.

GTK_IM_MODULE_FILE. Указывает файл, содержащий список модулей IM для загрузки. Эта переменная окружения использует значение по умолчанию libdir/gtk-3.0/3.0.0/immodules.cache (libdir имеет то же значение, что и в случае с GTK_PATH). Файл immodules.cache создаётся утилитой gtk-query-immodules-3.0.

Обратите внимание, что эта переменная окружения также читается GTK+ 2.x, что делает её непригодной для глобальной (или сессионной) установки, так как это приведёт к тому, что приложения GTK+ 2.x или GTK+ 3 увидят неверный список модулей IM.

GTK_EXE_PREFIX. Если установлено, GTK+ использует $GTK_EXE_PREFIX/lib вместо libdir, сконфигурированного во время компиляции GTK+.

GTK_DATA_PREFIX. Если установлено, заставляет GTK+ использовать $GTK_DATA_PREFIX вместо префикса, сконфигурированного во время компиляции GTK+.

GTK_THEME. Если установлено, заставляет GTK+ использовать указанную тему вместо темы, заданной настройкой gtk-theme-name. Это предназначено в основном для удобства отладки проблем с темой. Также можно указать вариант темы для загрузки, добавив имя варианта с двоеточием, например: `GTK_THEME=Adwaita:dark`.

Следующие переменные окружения используются GdkPixbuf, GDK или Pango, а не самим GTK+, но мы всё же включили их для полноты.

GDK_PIXBUF_MODULE_FILE. Указывает файл, содержащий список модулей загрузчика GdkPixbuf для загрузки. Эта переменная окружения переопределяет значение по умолчанию libdir/gtk-3.0/3.0.0/loaders.cache (libdir - sysconfdir, заданный при конфигурации GTK+, обычно /usr/local/lib.) Файл loaders.cache генерируется утилитой gdk-pixbuf-query-loaders.

GDK_DEBUG. Если GTK+ был сконфигурирован с --enable-debug=yes, эта переменная может быть установлена в список опций отладки, которые заставляют GDK выводить различные типы отладочной информации.

cursor

Информация о курсорах (только win32)

dnd

Информация о перетаскивании

draw

Информация о графических операциях (только win32)

eventloop

Информация о работе цикла событий (в основном Quartz)

misc

Разное

nogl

Отключить OpenGL. GDK будет вести себя так, как будто поддержка OpenGL недоступна.

nograbs

Отключить все захват мыши и клавиатуры

xinerama

Имитировать многоэкранную настройку

xim

Информация о поддержке XIM

Специальное значение all может быть использовано для включения всех опций отладки.

GDK_RENDERING. Если установлено, выбирает способ, которым GDK создаёт подобные поверхности. Это влияет как на функциональность функции gdk_window_create_similar_surface(), так и на способ, которым GDK создаёт поверхности для буферизации (double buffering). Можно использовать следующие значения:

similar

Создавать подобные поверхности для используемого окна. Это поведение по умолчанию, если переменная не установлена.

image

Всегда создавать поверхностные изображения. Это фактически отключает всю аппаратную ускорение внутри GTK.

recording

Всегда создавать поверхности записи. Это вызывает непосредственное отображение в бэкенд без создания промежуточных поверхностей (Pixmaps в X) и, скорее всего, вызовет мерцание.

Все остальные значения будут игнорироваться и вернуться к поведению по умолчанию. В будущем могут быть добавлены другие значения.

GDK_BACKEND. Если установлено, выбирает GDK бэкенд для использования. Выбор бэкенда требует, чтобы GTK+ был скомпилирован с поддержкой этого бэкенда. Следующие бэкенды могут быть выбраны, при условии, что они включены в GDK библиотеки, которые вы используете:

quartz

Выбирает родной Quartz бэкенд

win32

Выбирает родной бэкенд для Microsoft Windows

x11

Выбирает родной бэкенд для подключения к серверам X11.

broadway

Выбирает бэкенд Broadway для отображения в веб-браузерах

wayland

Выбирает бэкенд Wayland для подключения к серверам отображения Wayland

Начиная с версии 3.10, эта переменная окружения может содержать список имен бэкэндов, разделенных запятыми, которые будут пробоваться в указанном порядке. Список также может содержать *, что означает: попробовать все оставшиеся бэкэнды. Специальное значение "help" может быть использовано для вывода GDK списка всех доступных бэкэндов. Для получения дополнительной информации о выборе бэкэндов, см. функцию gdk_display_manager_get().

GTK_CSD. Значение этой переменной окружения по умолчанию равно 1. Если изменить на 0, это отключит использование декорекций с клиентской стороны по умолчанию в окнах GTK+, тем самым возложив на менеджер окон ответственность за отрисовку декорекций окон, у которых нет пользовательского виджета панели заголовков. CSD всегда используется для окон с настроенным пользовательским виджетом панели заголовков, так как WM не должен рисовать другую панель заголовков или другие декоровки вокруг пользовательской.

GTK_OVERLAY_SCROLLING. Значение этой переменной окружения по умолчанию равно 1, что означает, что каждый экземпляр GtkScrolledWindow будет выбирать, использовать ли полосы прокрутки наложения или полноразмерные, через свой собственный свойство GtkScrolledWindow:overlay-scrolling, которое по умолчанию равно TRUE. Если эта переменная установлена в 0, все экземпляры GtkScrolledWindow будут использовать полноразмерные/не наложенные полосы прокрутки.

XDG_DATA_HOME, XDG_DATA_DIRS. GTK+ использует эти переменные окружения для поиска тем значков и информации MIME. Для получения дополнительной информации см. Спецификацию темы значков, Базу данных общего MIME-информации и Спецификацию базового каталога.

DESKTOP_STARTUP_ID. GTK+ использует эту переменную окружения для предоставления уведомлений о запуске в соответствии с Спецификацией уведомлений о запуске. В соответствии со спецификацией, GTK+ сбрасывает значение этой переменной после её чтения (чтобы предотвратить утечку в дочерние процессы). Поэтому, если вам нужно её значение для ваших собственных целей, вам необходимо прочитать его до вызова gtk_init().

Интерактивное отладка

GTK+ включает интерактивный отладчик, называемый GTK+ Inspector, который позволяет исследовать древовидную структуру виджетов любого приложения GTK+ во время выполнения, а также настраивать тему и запускать средства визуальной отладки. Вы можете легко опробовать изменения во время выполнения, прежде чем внести их в код.

Обратите внимание, что GTK+ инспектор может отображать только внутренние компоненты GTK+. Он не может понять специфическую для приложения логику приложения GTK+. Также тот факт, что GTK+ инспектор работает в процессе приложения, ограничивает его возможности. Он предназначен как дополнение к полноценным отладчикам и средствам трассировки системы, таким как DTrace, а не как замена.

Чтобы включить GTK+ инспектор, вы можете использовать сочетание клавиш Control-Shift-I или Control-Shift-D, или установить переменную окружения GTK_DEBUG=interactive.

В некоторых ситуациях может быть неуместно предоставлять пользователям доступ к GTK+ инспектору. Сочетания клавиш могут быть отключены с помощью ключа `enable-inspector-keybinding` в схеме GSettings `org.gtk.Settings.Debug`.

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/gtk-running.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API