что такое gtk for net

Установка платформы GTK

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Xamarin.Forms Поддержка GTK # предоставляется сообществом. Дополнительные сведения см. в разделе Xamarin.Forms поддержка платформ.

Прежде чем начать, создайте новое Xamarin.Forms решение или используйте существующее Xamarin.Forms решение, например гамеофлифе.

хотя в этой статье рассматривается добавление приложения GTK # в Xamarin.Forms решение в VS2017 и Visual Studio для Mac, его также можно выполнить в monodevelop для Linux.

Добавление приложения GTK

выполните эти инструкции, чтобы добавить приложение GTK #, которое будет выполняться на рабочем столе Windows:

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

в обозреватель решений щелкните правой кнопкой мыши новый проект GTK и выберите пункт управление NuGet пакетами. Перейдите на вкладку Обзор и выполните поиск Xamarin.Forms 3,0 или более.

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Выберите пакет и нажмите кнопку » установить «.

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Выберите пакет и нажмите кнопку » установить «.

в обозреватель решений щелкните правой кнопкой мыши имя решения и выберите пункт управление пакетами NuGet для решения. Выберите вкладку Обновление и Xamarin.Forms пакет. Выберите все проекты и обновите их до той же Xamarin.Forms версии, которая используется в проекте GTK.

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

В диалоговом окне Диспетчер ссылок нажмите кнопку Обзор и перейдите в папку C:\Program Files (x86) \GtkSharp\2.12\lib и выберите atk-sharp.dll, gdk-sharp.dll, glade-sharp.dll, glib-sharp.dll, gtk-dotnet.dll и gtk-sharp.dll файлов.

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

В проекте GTK переименуйте Class1. CS в Program. CS.

Этот код инициализирует GTK # и Xamarin.Forms создает окно приложения и запускает приложение.

В Обозреватель решений щелкните правой кнопкой мыши проект GTK и выберите пункт свойства.

в окне свойства перейдите на вкладку приложение и измените раскрывающийся список тип выходных данных на Windows приложение.

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

В Обозреватель решений щелкните правой кнопкой мыши проект GTK и выберите назначить Project запуска. нажмите клавишу F5, чтобы запустить программу с помощью отладчика Visual Studio на рабочем столе Windows:

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Выполните эти инструкции, чтобы добавить приложение GTK #, которое будет выполняться на рабочем столе Mac:

в Панель решения щелкните правой кнопкой мыши пакеты > добавить пакеты. для проекта GTK и добавьте Xamarin.Forms пакет NuGet предварительной версии 3,0 или выше.

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Обновите другие проекты платформы для использования той же Xamarin.Forms версии, которая используется в проекте GTK.

В панель решения щелкните правой кнопкой мыши ссылки > изменить ссылки. для проекта GTK и добавьте ссылку на Xamarin.Forms проект (.NET Standard или Shared Project).

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Измените файл Program. CS проекта GTK, чтобы он соответствовал следующему коду:

Этот код инициализирует GTK # и Xamarin.Forms создает окно приложения и запускает приложение.

В панель решения щелкните правой кнопкой мыши проект GTK и выберите назначить Project запуска.

на панели инструментов Visual Studio для Mac нажмите кнопку пуск (треугольная кнопка, напоминающая кнопку воспроизведения), чтобы запустить приложение.

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Next Steps

Особенности платформы

Вы можете определить, на какой платформе Xamarin.Forms выполняется приложение, с помощью XAML или кода. Это позволяет изменять характеристики программы при выполнении в GTK #. В коде Сравните значение Device.RuntimePlatform с Device.GTK константой (которая равна строке «GTK»). При наличии совпадения приложение будет выполняться в GTK #.

В XAML можно использовать OnPlatform тег для выбора значения свойства, характерного для платформы:

Значок приложения

Значок приложения можно задать при запуске:

Для GTK # доступны разнообразные темы, которые можно использовать из Xamarin.Forms приложения:

Собственные формы

Собственные формы позволяют Xamarin.Forms ContentPage использовать производные страницы в собственных проектах, включая проекты GTK #. Это можно сделать путем создания экземпляра страницы, производной от класса, ContentPage и преобразования ее в собственный тип GTK # с помощью CreateContainer метода расширения:

Дополнительные сведения о собственных формах см. в разделе собственные формы.

Проблемы

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

Источник

Руководство GTK# для начинающих

Оглавление

1. Предисловие

Эта статья является руководством для начинающих GTK# программистов. Она поможет тем, кто никогда до этого не программировал графические пользовательские интрфейсы (далее GUI) при помощи GTK#. Программисты ранее знакомые с GTK+ API из опыта написания на других языках (C, C++, Perl, Python) так же найдут этот пассаж полезным, т.к. он объясняет основы процесса создания приложений на C# в среде Mono. Эта статья так же рассказывает об основах использования Glade и libglade как быстрого инструмента создания графического пользовательского интерфейса.

1.1 Что такое GTK#?

Сегодня gtk+ работает с любым X сервером, Direct Framebuffer’ом и производными в Microsoft Windows NT. Библиотека gtk+ известна от Linux, где она является базисом для построения виджетов рабочей среды GNOME. gtk+ включен практически во все дистрибутивы Linux, и стабильно работает под управлением Windows NT. (в 2000 работала нестабильно, если мне память не изменяет)

Портирование gtk+ на Mac OS X запланированно, но необходима заинтересованность других людей. Это зов к участию.

2. Установка

2.1 Скачивание/Установка

Linux, MacOSX, FreeBSD и другие: Проверьте наличие требуемых пакетов gtk-sharp, mono в вашем дистрибутиве.

aptitude install mono gtk-sharp2

для Debian-based дистрибутивов.
В SuSE Linux выберите нужные пакеты в YaST. Если их нет в дистрибутиве, тогда ищите здесь(http://www.mono-project.com/Downloads) и загружайте. Если на mono-project.com нет пакетов для Вашей платформы, тогда Вам придется скомпилировать из исходников 😉

Windows: программируйте Windows.Forms, не хрен лезть в GTK =) [примечание автора]

2.2 Внутри библиотек GTK#

Компоненты GTK#
GTK# состоит из следующих сборок, каждая соответствует подобной библиотеке:

gtk-sharp (http://www.mono-project.com/monodoc/N:Gtk)
Связи тулкита gtk+ 2.x для создания GUI

glib-sharp (http://www.mono-project.com/monodoc/N:Glib)
Связи тулкита glib 2.x, которые обеспечивают низкоуровневое библиотеки ядра для gtk+ (не-GUI)

pango-sharp (http://www.mono-project.com/monodoc/N:Pango)
Связи Pango, высокоуровневая библиотека компоновки и рендеринга международных текстов

atk-sharp (http://www.mono-project.com/monodoc/N:Atk)
связи к atk фреймворку

gdk-sharp (http://www.mono-project.com/monodoc/N:Gdk)
низкоуровневый инструментарий для «рисования», используемый gtk+

glade-sharp (http://www.mono-project.com/monodoc/N:Glade)
Glade# позволяет Вам загружать интерфейсы Glade в программу. Это наиболее простой путь создания GTK# GUI.

art-sharp (http://www.mono-project.com/monodoc/N:Art)
библиотека для работы с векторной графикой и отрисовки

rsvg-sharp (http://www.mono-project.com/monodoc/N:Rsvg)библиотека отрисовки SVG

gtk-dotnet (http://www.mono-project.com/monodoc/N:Gtk.DotNet)
интеграция пространства имен Gtk# с System.Drawing

gnomevfs-sharp (http://www.mono-project.com/monodoc/N:GnomeVfs)
связи файлов, их MIME типов, изображений к методу обращения приложений GNOME’а к файловой системе

vte-sharp (http://www.mono-project.com/monodoc/N:Vte)
связи к терминальному эмулятору VTE

gconf-sharp (http://www.mono-project.com/monodoc/N:GConf)

Связи к системе хранения конфигураций в GNOME

gtkhtml-sharp (http://www.mono-project.com/monodoc/T:Gtk.HTML)
Связи к легковесному HTML виджету

Другие компоненты не включены в основной дистрибутив GTK#, но заслуживают упоминания, потому что имеют отношение к GTK#: Gecko#, Gtksourceview#, Gsf#, Guile#, Gst# и dbus#.

2.3 GTK# или Glade#

Для быстрого ознакомления с Glade# Вы возможно захотете взглянуть на этот скринкаст(http://nat.org/demos/gtksharp.html) Ната Фридмана (Nat Friedman)(http://nat.org), в котором он создает простое графическое приложение всего за несколько минут.

3. Первое GTK# приложение

Шаг 1. Присядьте удобнее

Шаг 2. Создание папок и файлов

Для начала нам нужно создать новую директорию для маленького проекта. (Пользователи Windows: давайте не будем использовать пробелы в названии директории, чтобы избежать в дальнейшем головной боли).

Вернемся к делу. Откройте свой любимый редактор (MonoDevelop, vi, emacs, notepad и т.д.) и создайте новый пустой проект (если это возможно) или создайте новый пустой файл. Сохраните файл под именем «helloworld.cs».

Шаг 3. Формирование кода

Я надеюсь, что Вы уже знакомы с C#, и код написанный ниже не вызовет никаких проблем в понимании. Мы должны создать новый класс, использовать Gtk# и указать точку входа в нашу программу. Это будет выглядеть так:

Это должно выглядеть весьма знакомо для Вас. Только теперь мы можем воспользоваться компилятором. Сохраним исходный код, перейдем в консоль и построим проект:

Шаг 4. Добавление графического интерфейса GUI

Теперь скомпилируем исходный код так же как мы делали это раньше, и запустим программу

В итоге вы получите что-то вроде этого:
что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net
Не так уж и сложно, да?

Другая часть кода, которая могла Вас заинтересовать, это использование выражений «Application.Init()» и «Application.Run()». Если вы когда-либо ранее использовали System.Windows.Forms это аналогично использованию «Application.Run()» во многих случаях. Обычно, когда приложения заканчивает обработку любого кода в основном потоке, приложение останавливается. Команда «ShowAll()» не блокирует код и продолжает дальнейшее выполнение кода (вплоть до остановки). Команда «Application.Init()» говорит оболочке выполнения «слушать» сигналы поступающие от Gtk.Windows и в момент когда выполняется «Application.Run()» выполнение кода передается основному циклу сообщений. Это позволяет оставаться приложению запущенным до тех пор пока не будут закрыты все окна. Для большей информации смотрите информацию об объекте Application.

Шаг 5. Формирование окна

Возможно Вы захотите спросить себя «Как я смогу добавить новый виджет на окно, если оно может содержать только один виджет?» До этого мы говорили, что Window действительно может содержать в себе только один виджет, но виджет сам по себе может содержать в себе множество других виджетов. Некоторые из этих виджетов наследуются от контейнера Gtk.Box, а в некоторых случаях напрямую от контейнера. Контейнерный виджет Bin наследуется напрямую от виждета-контейнера, как и многие другие виджеты, но Bin может содержать в себе только один элемент управления.

Для того чтобы размещать большое количество виджетов в нашем окне, мы должны добавить на окно один из виджетов, который может содержать в себе другие виджеты. Существует множество виджетов, которые могут делать это, но мы затронем только некоторые простые: HBox(http://www.go-mono.com/docs/index.aspx?link=T%3aGtk.HBox), VBox(http://www.go-mono.com/docs/index.aspx?link=T%3aGtk.VBox) и возможно Table(http://www.go-mono.com/docs/index.aspx?link=T%3aGtk.Table).

Шаг 6. Добавление событий

Многие их этих событий могут быть обработаны стандартным обработчиком событий. Например:

public static void HandlerMethod(object obj, EventArgs args)

Пример обработки событий нажатия на кнопку:

public static void ButtonPressHandler(object obj, ButtonPressEventArgs args)

Например, для использования события Gdk.Event мы можем использовать такой код:

В примере выше вы можете увидеть как обнаружить было ли одиночное нажатие мышкой или это был двойной клик.

4. Первое Glade# приложение

Шаг 1. Что такое Glade#

4.1.1 Что такое glade файлы?

Шаг 2. Интеграция glade файлов с нашей программой

В намерениях нашего примера мы предпологаем, что GUI был сохранен в файл gui.glade, который содержит описание окна window1, кнопки button1 и метки label1.

Нам нужно будет создать новый указатель на Gtk# и Glade#, а затем создать новый класс и точку входа, с которой начинается наша программа.

4.2.1 Как скомпилировать?

Теперь мы должны скомпилировать исходный файл glade.cs указывая пространство имен для glade, которое находится в библиотеке glade-sharp. Команда компиляции следующая:

Если мы запускаем программу наш GUI может открыться, однако, нажимая на кнопки Вы не добьетесь эффекта, потому как мы не назначали событий виджету, определенному в gui.glade файле. Изучив следующую секцию Вы научитесь это делать.

Шаг 3. Как использовать Glade# в моем коде

4.4 Как обращаться к виджетам определенным в gui.glade

Для доступа к объектам, определенным в gui.glade файле, Вы должны знать имя объекта и его тип, и только тогда добавлять его в C# код. Делается это следующим образом (обратите внимание на оттрибут [Widget]):

Применяем это определение к нашему примеру как следует ниже в коде:

4.5 Как добавить событие

Для добавления событий Вам необходимо следовать примеру кода ниже. Вы также можете добавлять события из Glade.

Источник

Введение в GTK

На ХабраХабре наконец-то появился новый блог, посвящённый GTK. Присоединяйтесь! 🙂

В сети бытуют страшные слухи об этом фреймворке, однако серией статей о нём на ХабраХабре я попытаюсь разрушить сложившиеся стереотипы.

GTK+ — это фреймворк для создания кроссплатформенного графического интерфейса пользователя (GUI). Наряду с Qt он является одной из двух наиболее популярных на сегодняшний день библиотек для X Window System.

Изначально эта библиотека была частью графического редактора GIMP, но позже стала независимой и приобрела популярность. GTK+ — это свободное ПО, распространяемое на условиях GNU LGPL и позволяющее создавать как свободное, так и проприетарное программное обеспечение.

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Как это работает

GTK+ написан на языке Си, однако несмотря на это, является объектно-ориентированным. Также можно использовать обёртки для следующих языков: Ada, C, C++, C#, D, Erlang, Fortran, GOB, Genie, Haskell, FreeBASIC, Free Pascal, Java, JavaScript, Lua, OCaml, Perl, PHP, PureBasic, Python, R, Ruby, Smalltalk, Tcl, Vala.

Внутри GTK+ состоит из двух компонентов: GTK, который содержит набор виджетов (кнопка, метка и т.д.) и GDK, который занят выводом результата на экран.

Внешний вид приложений может меняться программистом и/или пользователем. По-умолчанию приложения выглядят нативно, т.е. так же, как и другие приложение в этой системе. Кроме того, начиная с версии 3.0, можно менять внешний вид элементов с помощью CSS.

Делаем «Hello, World»

Для начала за основу возьмём вот такую заготовку:

Пожалуйста, не используйте одинарные комментарии (//), если как и я решили писать на Си.

Давайте для начала создадим окно нашего приложения. В GTK существует несколько типов окошек, но нам понадобится обычный GtkWindow. Вставьте в нашу заготовку следующий код:

Прежде чем продолжить, несколько слов об упаковке.

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

Пока остановимся на окне. Напомню, что окно — это контейнер, которому мы указали толщину границ в 50 пикселей. Что это значит?

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Это значит, что мы создаём своего рода невидимую рамку вокруг этого контейнера и по этому ничего не сможем разместить в этой области.

Теперь рассмотрим сигналы.

Мы можем связать определённое событие, которое должно произойти с виджетом, со своей функцией.

Теперь создадим кнопку, по нажатию на которую будет появляться окошко с надписью «И тебе привет, %username%!».

Кнопка (GtkButton) — это тоже контейнер, который также может содержать один виджет. Чтобы не усложнять код созданием метки и помещением её в кнопку, сделаем вот так:

Выглядеть это будет так:

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Теперь реализация функции welcome :

Результат после нажатия:

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

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

Компиляция

Не забудьте установить пакет GTK для разработчика (кончается на «-dev»).

Что-нибудь ещё?

Да, пожалуй, приведу несколько ссылок:

www.gtkforums.com — англоязычный форум, посвящённый GTK

developer.gnome.org — информация для разработчиков под среду GNOME. Содержит много полезной информации о GTK, в том числе и на русском языке.

UPD: Полный код примера на PasteBin — pastebin.com/iPttWBne что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

Источник

GTK (Русский)

что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for netПеревод этой статьи или раздела не отражает оригинальное содержание.что такое gtk for net. Смотреть фото что такое gtk for net. Смотреть картинку что такое gtk for net. Картинка про что такое gtk for net. Фото что такое gtk for net

GTK+, GIMP Toolkit, изначально сделан проектом GNU для GIMP, но теперь это очень популярный инструмент связанный с многими языками. Эта статья будет исследовать инструменты, используемые для настройки GTK+ тем, стилей, иконок, шрифтов и размеров шрифтов, а также подробную ручную настройку.

Contents

Установка

Две версии GTK+ в настоящее время доступны в официальных репозиториях. Они могут быть установлены со следующими пакетами:

Чтобы установить определенную тему, вы можете задать переменные среды.

Другие темы могут быть установлены из официальных репозиториев или из AUR.

С поддержкой обеих GTK+ 2 и GTK+ 3:

Поддерживается только GTK+ 2:

светлый текст на светлом фоне), так что вам нужно использовать предоставленный фон панели.

GTK+ и Qt

Если у вас есть GTK+ и Qt (KDE) приложения на рабочем столе, то вы знаете, что их внешность не сочетается/не совпадает.Если вы хотите, чтобы ваши стили GTK+ соответствовали вашим стилям Qt прочитайте Единый внешний вид приложений Qt и GTK.

Средства настройки

Большинство крупных окружений рабочего стола предоставляют инструменты для настройки тем GTK+, иконок, шрифта и размера шрифта, и управляют этими настройками с помощью XSettings:

Другие графические инструменты, как правило перезаписывают файлы настроек.

Поддерживаются оба GTK+ 2 и GTK+ 3:

Поддерживается только GTK+ 2:

Настройка

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

Базовая настройка темы

Для ручного изменения темы GTK+, иконок, шрифтов и размера шрифтов, добавьте следующие файлы настроек, например:

Вариант тёмной темы

Некоторые темы GTK+ 3 содержат тёмный вариант темы, но он используется только когда приложение запрашивает именно его. Чтобы использовать вариант темной темы со всеми GTK+ 3 приложениями, установите:

Горячие клавиши

Keyboard shortcuts (otherwise known as accelerators in GTK+) may be changed by hovering the mouse over the respective menu item, and pressing the desired key combination. To enable this feature, set:

Задержка меню GNOME

Этот параметр управляет задержкой между «указыванием мыши» на меню и «открытием меню». Эта задержка измеряется в миллисекундах.

Уменьшить размер виджетов

Если у вас небольшой экран, или вы просто не любите большие иконки и виджеты, вы можете изменить их размер.

Для того чтобы иконки были без текста в панели инструментов ((допустимые значения)), используйте

Чтобы использовать меньшие иконки:

Или, чтобы удалить иконки из кнопок полностью:

Вы также можете удалить из меню иконки:

Место запуска выбора файла

Чтобы открывать диалог «выбор файла» (например при открытии/сохранении) в текущем рабочем каталоге а не в последнем (recent) месте (обычно текущий-рабочий-каталог это домашний каталог), сделайте следующее:

Измените DConf с gsettings:

Измените файл настроек

Наследие поведения скроллбара

До GTK+ 3.6, щелчёк в обе стороны от ползунка сдвинет прокрутку в направлении щелчка, примерно на одну страницу. Так GTK+ 3.6, слайдер сразу перейдёт к позиции мыши. Такое поведение можно отменить в некоторых приложениях путем создания файла с содержимым, приведенным ниже:

Отключить наложение скролбара

Удалить наложенные показателя скролбара

Позиции наложения прокрутки обозначены тонкими пунктирными линиями в окне приложения. Эти пунктирные линии будут присутствовать, даже если накладка прокрутка отключена с помощью переменной сред, которая обсуждались в предыдущем разделе. Для удаления индикаторных линий, создайте следующий файл:

GTK+ и HTML с Broadway

GDK Broadway обеспечивает поддержку для отображения GTK+ приложений в веб-браузере, используя HTML5 и веб-соккеты. [3]

При использовании broadwayd, укажите номер дисплея для использования с префиксом двоеточие, похожий на X. На дисплее по умолчанию номер 1.

Порт используемый по умолчанию

В качестве альтернативы, можно установить адрес и порт

Решение проблем

Различные темы приложений между GTK+ 2 и GTK+ 3

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

Вы можете найти установленные темы на вашей системе с поддержкой обоих версий GTK+ 2 и GTK+ 3, используя эту команду (не работает с именами, содержащими пробелы):

Тема не применяется к root-приложениям

/.gtkrc-2.0 ) не может быть прочитан другими аккаунтами, выбранная тема не будет применяться к приложениям X запущенных от root. Возможное решение включает в себя:

Клиентские декорации

С версии GTK 3.12 введены Клиентские декорации, которые действуют в титлбаре от оконного менеджера. Это может решить такие вопросы как двойной титл-бар, нет титл-бара вообще, или двойная тень с включенным композитингом.

Чтобы удалить тень и зазор вокруг окон (например, в сочетании с тайловым оконным менеджером), создайте следующий файл:

Седиль ç/Ç вместо ć/Ć (характерно в основном для Французского языка)

Смотрите [5], и [6] [устаревшая ссылка 2020-08-02] для решения проблемы с использованием Xcompose (US international layout).

Подавить предупреждение о accessibility bus

Если вы не используете функции Gnome Accessibility (специальных возможностей),вы можете получать такие предупреждения :

вы можете подавить предупреждение, запуская программу с NO_AT_BRIDGE=1 или установить в качестве глобальной переменной окружения

Не соответствует цвет фона в строке заголовка (TitleBar)

Если вы используете оконный менеджер который использует тему декорации окон, которая имитирует цвет темой фона GTK+, вы можете обнаружить, что цвет заголовка окна больше не совпадает полностью с цветом приложений в некоторых приложениях GTK+ 3. В качестве обходного пути, создайте следующий файл:

Неправильный фокус событий в тайловых оконных менеджерах

Определите GDK_CORE_DEVICE_EVENTS=1 для использования стиля ввода GTK2, вместо xinput2. [8]

Поддержка эскизов для диалога файлов GTK + 2

Установите gtk2-patched-filechooser-icon-view AUR чтобы получить возможность просмотра файлов в виде миниатюр, вместо списка, в файловом браузере GTK +.

Примеры

Пример настройки GTK+ 2:

GTK+ 3 пример настройки конвертации GTK+ 2.x в GTK+ 3.x с lxappearance :

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *