<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%BE%D0%B2_GTK%2B_2</id>
	<title>Оптимизация размеров виджетов GTK+ 2 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%BE%D0%B2_GTK%2B_2"/>
	<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%BE%D0%B2_GTK%2B_2&amp;action=history"/>
	<updated>2026-10-12T23:47:52Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%BE%D0%B2_GTK%2B_2&amp;diff=325&amp;oldid=prev</id>
		<title>Admin: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%BE%D0%B2_GTK%2B_2&amp;diff=325&amp;oldid=prev"/>
		<updated>2023-02-27T18:39:18Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 21:39, 27 февраля 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%BE%D0%B2_GTK%2B_2&amp;diff=324&amp;oldid=prev</id>
		<title>lor&gt;Mandala: Откат правок 31.173.240.129 (обсуждение) к версии 92.101.219.223</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BE%D0%B2_%D0%B2%D0%B8%D0%B4%D0%B6%D0%B5%D1%82%D0%BE%D0%B2_GTK%2B_2&amp;diff=324&amp;oldid=prev"/>
		<updated>2018-05-09T14:53:37Z</updated>

		<summary type="html">&lt;p&gt;Откат правок &lt;a href=&quot;/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/31.173.240.129&quot; title=&quot;Служебная:Вклад/31.173.240.129&quot;&gt;31.173.240.129&lt;/a&gt; (&lt;a href=&quot;/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:31.173.240.129&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Обсуждение участника:31.173.240.129 (страница не существует)&quot;&gt;обсуждение&lt;/a&gt;) к версии &lt;a href=&quot;/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:92.101.219.223&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Участник:92.101.219.223 (страница не существует)&quot;&gt;92.101.219.223&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Отступы ==&lt;br /&gt;
&lt;br /&gt;
Проблема, из-за которой в gtk2 все виджеты выглядят слишком большими, это отступы от текста по горизонтали и вертикали на них. В gtkrc эти отступы задаются параметрами xpadding и ypadding. &lt;br /&gt;
&lt;br /&gt;
Для начала глянем, что за размер иконок у нас выставлен в теме:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gtk-icon-sizes = &amp;quot;panel-menu=24,24:panel=24,24:gtk-button=24,24:gtk-large-toolbar=24,24&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это значит что на кнопках у нас будут рисоваться иконки 24×24 пикселя. &lt;br /&gt;
Меня устраивает следующая установка&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gtk-icon-sizes = &amp;quot;gtk-large-toolbar=16,16:gtk-small-toolbar=16,16:gtk-button=16,16&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее ищем стандартную секцию для настроек всех виджетов, ибо в ней всегда есть много интересного: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class &amp;quot;GtkWidget&amp;quot;          style &amp;quot;default&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Окей, значит стиль называется &amp;lt;tt&amp;gt;default&amp;lt;/tt&amp;gt;. Ищем его в теме:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
style &amp;quot;default&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  xthickness            	= 2&lt;br /&gt;
  ythickness            	= 2&lt;br /&gt;
  fg[NORMAL]       	= &amp;quot;#353535&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вот наши отступы. Во всех виджетах, отступы от текста будут 2 пикселя, если для конкретного виджета не задан свой xthickness (ythickbess). Можно попробовать уменьшить отступ до 1 или до 0 пикселя, по вскусу. Но, в некоторых виджетах этот отступ очень даже полезен. Поэтому лучше редактировать отступы прямо в конкретном виджете.&lt;br /&gt;
&lt;br /&gt;
Например, уменьшим размер виджета GtkButton (или просто «кнопка»).&lt;br /&gt;
Ищем описание нашего GtkButton виджета:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class &amp;quot;GtkButton&amp;quot;                       style &amp;quot;button&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Стиль нашего виджета в теме называется «button». Ищем его описание:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
style &amp;quot;button&amp;quot;          = &amp;quot;default&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы нашли там xpadding (ypadding), то смело меняйте их размеры на 0 или 1 пиксель, по вкусу. Если их там нет, то просто добавьте 2 новые строчки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
style &amp;quot;button&amp;quot;          = &amp;quot;default&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  xthickness            	= 0&lt;br /&gt;
  ythickness            	= 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем Ваши изменения и перезапускаем какую-нибудь gtk программу. Размер кнопок должен быть значительно меньше.&lt;br /&gt;
&lt;br /&gt;
== Лечим размер табов ==&lt;br /&gt;
&lt;br /&gt;
Таким же образом можно поправить размер у табов.&lt;br /&gt;
Виджет «табы» называется GtkNotebook.&lt;br /&gt;
&lt;br /&gt;
Итак, рецепт. &lt;br /&gt;
В &amp;lt;tt&amp;gt;default&amp;lt;/tt&amp;gt; секцию добавляем:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
style &amp;quot;default&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  GtkNotebook::tab-border = 0&lt;br /&gt;
  GtkNotebook::tab-hborder = 0&lt;br /&gt;
  GtkNotebook::tab-vborder = 0&lt;br /&gt;
  GtkNotebook::show-border = 0&lt;br /&gt;
  GtkNotebook::gtk-button-images = 0&lt;br /&gt;
  GtkNotebook::gtk-menu-images = 0&lt;br /&gt;
  GtkNotebook::arrow-spacing = 0&lt;br /&gt;
  GtkNotebook::tab-curvature = 0&lt;br /&gt;
  GtkNotebook::tab-overlap = 0&lt;br /&gt;
  GtkNotebook::focus-line-width = 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сохраняем, перезапускаем &amp;lt;tt&amp;gt;gnome-terminal&amp;lt;/tt&amp;gt; и видим красивые табы. &lt;br /&gt;
&lt;br /&gt;
== Полезные переменные ==&lt;br /&gt;
&lt;br /&gt;
Для уменьшения размеров виджетов в секцию &amp;lt;tt&amp;gt;default&amp;lt;/tt&amp;gt; можно добавить следующие переменные:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gtk-button-images = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
переменная отключает отображение иконок на кнопках&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gtk-menu-images = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
переменная отключает отображение иконок в меню&lt;br /&gt;
&lt;br /&gt;
== Убираем стрелочки на скроллбарах ==&lt;br /&gt;
&lt;br /&gt;
Никогда не понимал их пользы — прокрутка обычно ведётся либо колесом мыши, либо перетаскиванием ползунка, либо с клавиатуры.&amp;lt;sup&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
style &amp;quot;default&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
  GtkScrollbar::has-backward-stepper=0&lt;br /&gt;
  GtkScrollbar::has-forward-stepper=0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Уменьшаем ширину скроллбаров ==&lt;br /&gt;
&lt;br /&gt;
Весьма полезно, если скроллбар служит только для индикации положения на странице.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
style &amp;quot;default&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
    GtkRange::trough_border = 0&lt;br /&gt;
    GtkRange::slider_width = 10&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Убираем границы вокруг меню, панелей инструментов и строки состояния ==&lt;br /&gt;
&lt;br /&gt;
Если хочется избавиться от границ вокруг данных элементов, то добавьте следующие настройки к стилю:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
style &amp;quot;default&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
    GtkStatusbar::shadow_type = GTK_SHADOW_NONE                     &lt;br /&gt;
    GtkToolbar::shadow-type = GTK_SHADOW_NONE&lt;br /&gt;
    GtkMenuBar::shadow-type = GTK_SHADOW_NONE&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Возможные значения параметра &amp;lt;tt&amp;gt;shadow-type&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GTK_SHADOW_NONE&lt;br /&gt;
	No outline.&lt;br /&gt;
&lt;br /&gt;
GTK_SHADOW_IN&lt;br /&gt;
	The outline is bevelled inwards.&lt;br /&gt;
&lt;br /&gt;
GTK_SHADOW_OUT&lt;br /&gt;
	The outline is bevelled outwards like a button.&lt;br /&gt;
&lt;br /&gt;
GTK_SHADOW_ETCHED_IN&lt;br /&gt;
	The outline has a sunken 3d appearance.&lt;br /&gt;
&lt;br /&gt;
GTK_SHADOW_ETCHED_OUT&lt;br /&gt;
	The outline has a raised 3d appearance.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Описание синтаксиса gtkrc смотрите на http://library.gnome.org/devel/gtk/unstable/gtk-Resource-Files.html. Небольшой урок по созданию тем можно посмотреть на http://live.gnome.org/GnomeArt/Tutorials/GtkThemes. Информация по движкам GTK-тем представлена на http://live.gnome.org/GnomeArt/Tutorials/GtkEngines.&lt;br /&gt;
&lt;br /&gt;
{{Доработка&lt;br /&gt;
|reason=«Предлагаю развивать дальше эту статью» — [[User:mrdeath|Alexander Butenko]] 09-Sep-2008 08:50 MSD}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Настройка диалога выбора файлов ==&lt;br /&gt;
&lt;br /&gt;
По-умолчанию, диалог выбора файлов показывает список последних открытых документов. Чтобы изменить это поведение, необходимо в &amp;lt;tt&amp;gt;$XDG_CONFIG_HOME/gtk-2.0/gtkfilechooser.ini&amp;lt;/tt&amp;gt; поменять значение параметра StartupMode с recent на cwd. &lt;br /&gt;
&lt;br /&gt;
[[Category:Программирование]]&lt;/div&gt;</summary>
		<author><name>lor&gt;Mandala</name></author>
	</entry>
</feed>