GTK+

Поделись знанием:
Перейти к: навигация, поиск
GTK+
Тип

библиотека элементов интерфейса (виджетов)

Автор

The GTK+ Team,
первоначальные авторы:
Peter Mattis,
Spencer Kimball,
Josh MacDonald[1]

Разработчики

сообщество

Написана на

C

Операционная система

Linux, Mac OS X и др. UNIX-подобные, Windows[2]

Языки интерфейса

Русский и ещё 108 языков[3]

Первый выпуск

апрель 1998[4]

Состояние

активное

Лицензия

GNU LGPL

Сайт

[www.gtk.org/ .org]

К:Википедия:Статьи без изображений (тип: не указан)К:Программное обеспечение, разработанное в 1998 году

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

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





История

Номер версии Дата выхода версии Значительные изменения Последняя минорная версия
1.0 14 апреля 1998 года Первая стабильная версия 1.0.6
1.2 27 февраля 1999 года Новые виджеты (GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree,
GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket)
1.2.10
2.0 11 марта 2002 года GObject, Universal Unicode UTF-8 2.0.9
2.2 22 декабря 2002 года Multihead support 2.2.4
2.4 16 марта 2004 года Новые виджеты (GtkFileChooser, GtkComboBox, GtkComboBoxEntry,
GtkExpander, GtkFontButton, GtkColorButton)
2.4.14
2.6 16 декабря 2004 года Новые виджеты (GtkIconView, GtkAboutDialog, GtkCellView);
это последний выпуск, поддерживающий Windows 98/ME
2.6.10
2.8 13 августа 2005 года Интеграция Cairo 2.8.20
2.10 3 июля 2006 года Новые виджеты (GtkStatusIcon, GtkAssistant, GtkLinkButton,
GtkRecentChooser) и поддержка печати (GtkPrintOperation)
2.10.14
2.12 14 сентября 2007 года GtkBuilder 2.12.12
2.14 4 сентября 2008 года Поддержка загрузки JPEG 2000 2.14.7
2.16 13 марта 2009 года Новый GtkOrientable,
в поле ввода пароля показывается предупреждение при включённом Caps Lock,
улучшения в GtkScale, GtkStatusIcon, GtkFileChooser.
2.16.6
2.18 23 сентября 2009 года Новый GtkInfoBar. Улучшения в диалоге выбора файла, печати.
GDK был переписан для использования 'client-side windows'
2.18.9
2.20 23 марта 2010 года Новый GtkSpinner и GtkToolPalette, GtkOffscreenWindow.
Улучшения в диалоге выбора файла, работе с клавиатурой, GDK.
Включены данные интроспекции GObject
2.20.1
2.22 23 сентября 2010 года gdk-pixbuf выделен в отдельный модуль,
большинство функций отрисовки теперь выполняет Cairo
2.22.1
2.24 30 января 2011 года Новый упрощённый ComboBox-виджет (GtkComboBoxText),
CUPS-бэкенд печати может отправлять задания в PDF,
GtkBuilder получил поддержку текстовых тегов,
внесено множество исправлений в символы интроспекции
2.24.0
3.0 10 февраля 2011 года За отрисовку теперь полностью отвечает Cairo, абстракция от X11,
использование XInput2, поддержка CSS-подобных тем оформления
3.0.12
3.2 25 сентября 2011 года Новые экспериментальные бэкэнды Wayland и HTML5, новый диалог выбора шрифта,
новые виджеты: GtkLockButton и GtkOverlay
3.2.4
[download.gnome.org/sources/gtk+/3.4/ 3.4] 26 марта 2012 года Поддержка сенсорных дисплеев, в том числе мультитач,
поддержка режима плавной прокрутки, улучшена поддержка Windows, MacOS X,
расширен API для формирования визуальных тем
[mail.gnome.org/archives/ftp-release-list/2012-July/msg00019.html 3.4.4]
[download.gnome.org/sources/gtk+/3.6/ 3.6] 24 сентября 2012 года Новые виджеты: GtkSearchEntry, GtkMenuButton, GtkLevelBar.
Кнопки ввода чисел GtkSpinButton теперь могут быть расположены вертикально.
Поддержка CSS-анимации, использования размытых теней.
[mail.gnome.org/archives/ftp-release-list/2014-January/msg00091.html 3.6.5]
[download.gnome.org/sources/gtk+/3.8/ 3.8] 13 мая 2013 года Поддержка Wayland 1.0, переработка GDK-бэкенда Broadway, улучшены темы оформления и управление геометрией.
Добавлена поддержка всплывающих окон, проведена обширная работа по увеличению производительности
[mail.gnome.org/archives/ftp-release-list/2014-January/msg00092.html 3.8.9]
[download.gnome.org/sources/gtk+/3.10/ 3.10] 23 сентября 2013 года Новые виджеты (GtkHeaderBar, GtkPlacesSidebar, GtkStack, GtkStackSwitcher, GtkRevealer, GtkSearchBar, GtkListBox).
Поддержка Wayland 1.2 (maximization, animated cursors, multiple monitors, settings, custom surfaces and frame synchronization)
[mail.gnome.org/archives/ftp-release-list/2014-May/msg00053.html 3.10.9]
[download.gnome.org/sources/gtk+/3.12/ 3.12] 25 марта 2014 года Поддержка Wayland 1.5; Новые виджеты (Popover, GtkActionBar, GtkFlowBox ). Улучшена поддержка глобального меню в OS X. [mail.gnome.org/archives/ftp-release-list/2014-May/msg00034.html 3.12.2]
[download.gnome.org/sources/gtk+/3.14/ 3.14] 22 сентября 2014 года Поддержка Wayland 1.6; Интеграция интерактивного отладчика GtkInspector. Прекращена поддержка виджетов GdkColor, GtkMisc, GtkArrow, GtkStatusIcon, GtkNumerableIcon, GtkThemingEngine. [mail.gnome.org/archives/ftp-release-list/2014-December/msg00032.html 3.14.6]
[download.gnome.org/sources/gtk+/3.16/ 3.16] 22 марта 2015 года GDK встроена поддержка отрисовки окон через OpenGL для X11 и Wayland через libepoxy с использованием GLX или EGL, новые виджеты (GtkGLArea, GtkStackSidebar, GtkModelButton, GtkPopoverMenu), Экспериментальная поддержка Mir. [mail.gnome.org/archives/gnome-announce-list/2015-March/msg00029.html 3.16.0 ]
[download.gnome.org/sources/gtk+/3.18/ 3.18] 22 ноября 2015 года Обновился дизайн выбора файла, Удалена поддержка Windows XP [mail.gnome.org/archives/ftp-release-list/2015-November/msg00073.html 3.18.5]
[download.gnome.org/sources/gtk+/3.20/ 3.20] 21 марта 2016 года Реализована система узлов CSS (CSS nodes), новый виджет [developer.gnome.org/gtk3/unstable/GtkShortcutsWindow.html GtkShortcutsWindow] 3.20.3
[download.gnome.org/sources/gtk+/3.22/ 3.22] 20 сентября 2016 года Добавлен API GtkPadController для обработки жестов с планшетов, новый виджет GtkShortcutLabel, интегрирована технология Flatpak [mail.gnome.org/archives/ftp-release-list/2016-September/msg00178.html 3.22.0]

Проект Ридли (Project Ridley) — это попытка объединить несколько библиотек, сделав их частью GTK+: libgnome, libgnomeui, libgnomeprint22, libgnomeprintui22, libglade, libgnomecanvas, libegg, libeel, gtkglext и libsexy.[6]

Архитектура

GTK+ написана на языке Си, но тем не менее, является объектно-ориентированной[7]. Одной из причин для выбора Си в качестве языка было желание легко строить интерфейсы для других языков программирования. В результате под GTK+ можно писать на следующих языках программирования:

Язык Название Поддержка
Ada GtkAda Частичная поддержка до 2.18
C GTK+ Встроена
C++ gtkmm Да
C# и другие языки
программирования
платформы .NET
Gtk# Частичная поддержка до 2.20
D gtkD Поддержка GTK2 была gtkD-1.7.4, после - GTK3 (плюс Cairo, Gda, Gl, GStreamer)
Erlang gtkNode Частичная поддержка до 2.16
Fortran gtk-fortran Частичная поддержка до 2.24 / 3.0
GOB языки, написанные для системы GObject. Да
Genie языки, написанные для системы GObject. Да
Haskell gtk2hs Да
FreeBASIC GTK+tobac2 Частичная поддержка до 2.22
Free Pascal (header) integrated into the core distribution GTK 2.16 с частичной поддержкой поздних версий
Java java-gnome Частичная поддержка до 2.20 (недоступна на Windows)
JavaScript seed/GJS Да
Lua lgob Поддерживает все версии, начиная с 2.16
Lisp [crategus.users.sourceforge.net/cl-gtk.html cl-cffi-gtk]
Lua LuaGtk Частичная поддержка до 2.16
Node.js node-gtk Да
OCaml LablGTK Частичная поддержка до 2.16
Perl perl-Gtk3 Да
PHP PHP-GTK Частичная поддержка до 2.20
PureBasic Gtk2 Да
Python GObject-интроспекция через PyGI, ранее PyGTK Да
R RGtk2 Частичная поддержка до 2.12
Ruby ruby-gtk2 Да
Smalltalk Smalltalk GTK GNU Smalltalk, Smalltalk YX, Squeak
Tcl Gnocl Да
Vala языки, написанные для системы GObject. Да
Go go-gtk Частичная поддержка

Собственно GTK+ состоит из двух компонентов: GTK и GDK. Первый содержит набор элементов пользовательского интерфейса, или «виджетов» (таких, как кнопка, список, поле для ввода текста и т. п.) для различных задач. GDK отвечает за вывод на экран и может использовать для этого X Window System, Linux Framebuffer, WinAPI или функции Mac OS X. Начиная с версии 2.8, GDK во многом (но не полностью) заменена на систему отрисовки векторной графики Cairo.

Помимо Cairo, GTK+ зависит от трёх библиотек — GLib, Pango и ATK, — которые разрабатываются вместе с GTK+, но могут использоваться и отдельно.[5]

Внешний вид

Внешний вид графических интерфейсов, созданных с использованием GTK+, может конфигурироваться пользователем и/или программистом. При этом настраиваются не только цвета и шрифты, но и способ отображения различных элементов. Достигается это за счёт использования «движков» для вывода на экран. Путём подключения другого движка можно кардинальным образом менять внешний вид программ. Например, некоторые движки могут использовать псевдо-трёхмерный вид, другие — более «плоский» и т. п.

Использование

На основе GTK+ построены рабочие окружения GNOME и Xfce. Программы, использующие GTK+, могут выполняться в других окружениях, например в KDE и LXDE. Кроме того, GTK+ может работать и на операционных системах семействах Microsoft Windows и Mac OS X.

Также GTK+ выбран в качестве основной библиотеки построения пользовательских интерфейсов для Mono (порта Microsoft.NET для Linux).[8]

Ниже предоставлен неполный (так как GTK слишком популярен) список проектов с использованием GTK:

Рабочие окружения, которые используют GTK+
  • GNOME — полностью построено на GTK+
  • Cinnamon — форк GNOME 3, использующий GTK+
  • MATE Desktop (форк GNOME 2) — полностью построено на GTK+
  • Xfce — построено на GTK+, но, в сравнении с GNOME, программы Xfce имеют меньше зависимостей
  • LXDE (Lightweight X11 Desktop Environment) — поддерживает только темы и программы GTK, сам строится на Qt
  • ROX Desktop
  • GPE Palmtop Environment
  • Access Linux Platform
  • Sugar — обучающая платформа, которая построена на GTK+ с ипользованием PyGTK
  • KDE, хотя использует Qt, имеет поддержку программ и тем GTK+ (с версии 4.2).
Оконные менеджеры, использующие GTK+
Приложения, использующие GTK+
  • AbiWord — текстовый редактор
  • Anjuta — официальная интегрированная среда разработки GNOME
  • Chromium — веб-браузер, разрабатываемый в основном компанией Google и использующий WebKit
  • Ekiga — приложения для VoIP и видео-конференций
  • Epiphany — веб-браузер среды GNOME.
  • Evolution — программа для управления контактами и электронной почтой
  • Firefox — стандартный браузер большинства Gnome-редакций дистрибутивов Linux
  • GIMP — растровый графический редактор
  • HandBrake — программа для конвертирования видео
  • Inkscape — векторный графический редактор
  • Midori — легковесный веб-браузер
  • MonoDevelop — открытая интегрированная среда разработки
  • Pidgin — клиент обмена мгновенными сообщениями
  • Wireshark — анализатор сетевых пакетов
  • SciTE — кроссплатформенный текстовый редактор

GTK+ 3.0

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

Разработка следующей версии GTK+ началась в феврале 2009 на мероприятии «GTK+ Theming Hackfest», проходившем в Дублине[9]. Первый набросок плана разработки был опубликован 9 апреля 2009[10].

10 февраля 2011 года состоялся релиз GTK+ 3.0.0.

Пример программы

Простая программа «Здравствуй, мир!» на GTK+ в Linux

/* Подключаем библиотеку GTK+ */
# include <gtk/gtk.h>
int main( int argc, char *argv[])
{
	/* Объявляем виджеты */
	GtkWidget *label;	// Метка
	GtkWidget *window;	// Главное окно
	/* Инициализируем GTK+ */
	gtk_init(&argc, &argv);
	/* Создаем главное окно */
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	/* Устанавливаем заголовок окна "Здравствуй, мир!" */
	gtk_window_set_title(GTK_WINDOW(window), "Здравствуй, мир!");
	/* Создаем метку с текстом "Здравствуй, мир!" */
	label = gtk_label_new("Здравствуй, мир!");
	/* Вставляем метку в главное окно */
	gtk_container_add(GTK_CONTAINER(window), label);
	/* Показываем окно вместе с виджетами */
	gtk_widget_show_all(window);
	/* Соединяем сигнал завершения с выходом из программы */
	g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
	/* Приложение переходит в вечный цикл ожидания действий пользователя */
	gtk_main();
	return 0;
}

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

gcc file_name.c -o file_name `pkg-config --cflags --libs gtk+-3.0`

В Windows скомпилировать пример при помощи MinGW можно следующей командой:

i686-pc-mingw32-gcc file_name.c `PKG_CONFIG_LIBDIR=yes PKG_CONFIG_PATH=/usr/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig/ pkg-config --cflags --libs gtk+-3.0`

См. также

Интерфейсы для других языков программирования

Напишите отзыв о статье "GTK+"

Примечания

  1. См. файл AUTHORS в архиве с исходными кодами GTK+.
  2. [www.gtk.org/download/index.php Страница загрузки GTK+.]
  3. См. файлы переводов .po в папке po/ в архиве с исходными кодами GTK+.
  4. См. файл ChangeLog.pre-1-0 в архиве с исходными кодами GTK+.
  5. 1 2 [mail.gnome.org/archives/gtk-devel-list/2009-September/msg00054.html GTK+ 2.18.0 released] (англ.). Проверено 23 сентября 2009. [www.webcitation.org/619UkHqU4 Архивировано из первоисточника 23 августа 2011].
  6. [live.gnome.org/ProjectRidley ProjectRidley — GNOME Live!]
  7. [www.gtk.org/tutorial1.2/gtk_tut-1.html GTK tutorial]
  8. [www.mono-project.com/GtkSharp GtkSharp — Mono]
  9. [aruiz.typepad.com/siliconisland/2009/02/gtk-30-theming.html Анонс «GTK+ Theming Hackfest»]
  10. [testbit.eu/~timj/blogstuff/GtkRoadmap3Draft2.html План работ Gtk+ 3.0]

Ссылки

  • [www.gtk.org/ GTK+ — The GIMP Toolkit]  (англ.) — официальный сайт GTK+.
  • [library.gnome.org/devel/gtk-tutorial/stable/ GTK+ 2.0 Tutorial]  (англ.) — официальный учебник по GTK+ 2.0.
  • [www.opennet.ru/docs/RUS/gtk_plus/ GTK+ 2.0 Tutorial]  (рус.) — официальный учебник по GTK+ 2.0.
  • [www.opennet.ru/docs/RUS/gtk-reference/ GTK+ 2.10 Справочное описание]  (рус.)


Отрывок, характеризующий GTK+

Х
Но странное дело, все эти распоряжения, заботы и планы, бывшие вовсе не хуже других, издаваемых в подобных же случаях, не затрогивали сущности дела, а, как стрелки циферблата в часах, отделенного от механизма, вертелись произвольно и бесцельно, не захватывая колес.
В военном отношении, гениальный план кампании, про который Тьер говорит; que son genie n'avait jamais rien imagine de plus profond, de plus habile et de plus admirable [гений его никогда не изобретал ничего более глубокого, более искусного и более удивительного] и относительно которого Тьер, вступая в полемику с г м Феном, доказывает, что составление этого гениального плана должно быть отнесено не к 4 му, а к 15 му октября, план этот никогда не был и не мог быть исполнен, потому что ничего не имел близкого к действительности. Укрепление Кремля, для которого надо было срыть la Mosquee [мечеть] (так Наполеон назвал церковь Василия Блаженного), оказалось совершенно бесполезным. Подведение мин под Кремлем только содействовало исполнению желания императора при выходе из Москвы, чтобы Кремль был взорван, то есть чтобы был побит тот пол, о который убился ребенок. Преследование русской армии, которое так озабочивало Наполеона, представило неслыханное явление. Французские военачальники потеряли шестидесятитысячную русскую армию, и только, по словам Тьера, искусству и, кажется, тоже гениальности Мюрата удалось найти, как булавку, эту шестидесятитысячную русскую армию.
В дипломатическом отношении, все доводы Наполеона о своем великодушии и справедливости, и перед Тутолминым, и перед Яковлевым, озабоченным преимущественно приобретением шинели и повозки, оказались бесполезны: Александр не принял этих послов и не отвечал на их посольство.
В отношении юридическом, после казни мнимых поджигателей сгорела другая половина Москвы.
В отношении административном, учреждение муниципалитета не остановило грабежа и принесло только пользу некоторым лицам, участвовавшим в этом муниципалитете и, под предлогом соблюдения порядка, грабившим Москву или сохранявшим свое от грабежа.
В отношении религиозном, так легко устроенное в Египте дело посредством посещения мечети, здесь не принесло никаких результатов. Два или три священника, найденные в Москве, попробовали исполнить волю Наполеона, но одного из них по щекам прибил французский солдат во время службы, а про другого доносил следующее французский чиновник: «Le pretre, que j'avais decouvert et invite a recommencer a dire la messe, a nettoye et ferme l'eglise. Cette nuit on est venu de nouveau enfoncer les portes, casser les cadenas, dechirer les livres et commettre d'autres desordres». [«Священник, которого я нашел и пригласил начать служить обедню, вычистил и запер церковь. В ту же ночь пришли опять ломать двери и замки, рвать книги и производить другие беспорядки».]
В торговом отношении, на провозглашение трудолюбивым ремесленникам и всем крестьянам не последовало никакого ответа. Трудолюбивых ремесленников не было, а крестьяне ловили тех комиссаров, которые слишком далеко заезжали с этим провозглашением, и убивали их.
В отношении увеселений народа и войска театрами, дело точно так же не удалось. Учрежденные в Кремле и в доме Познякова театры тотчас же закрылись, потому что ограбили актрис и актеров.
Благотворительность и та не принесла желаемых результатов. Фальшивые ассигнации и нефальшивые наполняли Москву и не имели цены. Для французов, собиравших добычу, нужно было только золото. Не только фальшивые ассигнации, которые Наполеон так милостиво раздавал несчастным, не имели цены, но серебро отдавалось ниже своей стоимости за золото.
Но самое поразительное явление недействительности высших распоряжений в то время было старание Наполеона остановить грабежи и восстановить дисциплину.
Вот что доносили чины армии.
«Грабежи продолжаются в городе, несмотря на повеление прекратить их. Порядок еще не восстановлен, и нет ни одного купца, отправляющего торговлю законным образом. Только маркитанты позволяют себе продавать, да и то награбленные вещи».
«La partie de mon arrondissement continue a etre en proie au pillage des soldats du 3 corps, qui, non contents d'arracher aux malheureux refugies dans des souterrains le peu qui leur reste, ont meme la ferocite de les blesser a coups de sabre, comme j'en ai vu plusieurs exemples».
«Rien de nouveau outre que les soldats se permettent de voler et de piller. Le 9 octobre».
«Le vol et le pillage continuent. Il y a une bande de voleurs dans notre district qu'il faudra faire arreter par de fortes gardes. Le 11 octobre».
[«Часть моего округа продолжает подвергаться грабежу солдат 3 го корпуса, которые не довольствуются тем, что отнимают скудное достояние несчастных жителей, попрятавшихся в подвалы, но еще и с жестокостию наносят им раны саблями, как я сам много раз видел».
«Ничего нового, только что солдаты позволяют себе грабить и воровать. 9 октября».
«Воровство и грабеж продолжаются. Существует шайка воров в нашем участке, которую надо будет остановить сильными мерами. 11 октября».]
«Император чрезвычайно недоволен, что, несмотря на строгие повеления остановить грабеж, только и видны отряды гвардейских мародеров, возвращающиеся в Кремль. В старой гвардии беспорядки и грабеж сильнее, нежели когда либо, возобновились вчера, в последнюю ночь и сегодня. С соболезнованием видит император, что отборные солдаты, назначенные охранять его особу, долженствующие подавать пример подчиненности, до такой степени простирают ослушание, что разбивают погреба и магазины, заготовленные для армии. Другие унизились до того, что не слушали часовых и караульных офицеров, ругали их и били».
«Le grand marechal du palais se plaint vivement, – писал губернатор, – que malgre les defenses reiterees, les soldats continuent a faire leurs besoins dans toutes les cours et meme jusque sous les fenetres de l'Empereur».
[«Обер церемониймейстер дворца сильно жалуется на то, что, несмотря на все запрещения, солдаты продолжают ходить на час во всех дворах и даже под окнами императора».]
Войско это, как распущенное стадо, топча под ногами тот корм, который мог бы спасти его от голодной смерти, распадалось и гибло с каждым днем лишнего пребывания в Москве.
Но оно не двигалось.
Оно побежало только тогда, когда его вдруг охватил панический страх, произведенный перехватами обозов по Смоленской дороге и Тарутинским сражением. Это же самое известие о Тарутинском сражении, неожиданно на смотру полученное Наполеоном, вызвало в нем желание наказать русских, как говорит Тьер, и он отдал приказание о выступлении, которого требовало все войско.
Убегая из Москвы, люди этого войска захватили с собой все, что было награблено. Наполеон тоже увозил с собой свой собственный tresor [сокровище]. Увидав обоз, загромождавший армию. Наполеон ужаснулся (как говорит Тьер). Но он, с своей опытностью войны, не велел сжечь всо лишние повозки, как он это сделал с повозками маршала, подходя к Москве, но он посмотрел на эти коляски и кареты, в которых ехали солдаты, и сказал, что это очень хорошо, что экипажи эти употребятся для провианта, больных и раненых.
Положение всего войска было подобно положению раненого животного, чувствующего свою погибель и не знающего, что оно делает. Изучать искусные маневры Наполеона и его войска и его цели со времени вступления в Москву и до уничтожения этого войска – все равно, что изучать значение предсмертных прыжков и судорог смертельно раненного животного. Очень часто раненое животное, заслышав шорох, бросается на выстрел на охотника, бежит вперед, назад и само ускоряет свой конец. То же самое делал Наполеон под давлением всего его войска. Шорох Тарутинского сражения спугнул зверя, и он бросился вперед на выстрел, добежал до охотника, вернулся назад, опять вперед, опять назад и, наконец, как всякий зверь, побежал назад, по самому невыгодному, опасному пути, но по знакомому, старому следу.
Наполеон, представляющийся нам руководителем всего этого движения (как диким представлялась фигура, вырезанная на носу корабля, силою, руководящею корабль), Наполеон во все это время своей деятельности был подобен ребенку, который, держась за тесемочки, привязанные внутри кареты, воображает, что он правит.


6 го октября, рано утром, Пьер вышел из балагана и, вернувшись назад, остановился у двери, играя с длинной, на коротких кривых ножках, лиловой собачонкой, вертевшейся около него. Собачонка эта жила у них в балагане, ночуя с Каратаевым, но иногда ходила куда то в город и опять возвращалась. Она, вероятно, никогда никому не принадлежала, и теперь она была ничья и не имела никакого названия. Французы звали ее Азор, солдат сказочник звал ее Фемгалкой, Каратаев и другие звали ее Серый, иногда Вислый. Непринадлежание ее никому и отсутствие имени и даже породы, даже определенного цвета, казалось, нисколько не затрудняло лиловую собачонку. Пушной хвост панашем твердо и кругло стоял кверху, кривые ноги служили ей так хорошо, что часто она, как бы пренебрегая употреблением всех четырех ног, поднимала грациозно одну заднюю и очень ловко и скоро бежала на трех лапах. Все для нее было предметом удовольствия. То, взвизгивая от радости, она валялась на спине, то грелась на солнце с задумчивым и значительным видом, то резвилась, играя с щепкой или соломинкой.
Одеяние Пьера теперь состояло из грязной продранной рубашки, единственном остатке его прежнего платья, солдатских порток, завязанных для тепла веревочками на щиколках по совету Каратаева, из кафтана и мужицкой шапки. Пьер очень изменился физически в это время. Он не казался уже толст, хотя и имел все тот же вид крупности и силы, наследственной в их породе. Борода и усы обросли нижнюю часть лица; отросшие, спутанные волосы на голове, наполненные вшами, курчавились теперь шапкою. Выражение глаз было твердое, спокойное и оживленно готовое, такое, какого никогда не имел прежде взгляд Пьера. Прежняя его распущенность, выражавшаяся и во взгляде, заменилась теперь энергической, готовой на деятельность и отпор – подобранностью. Ноги его были босые.
Пьер смотрел то вниз по полю, по которому в нынешнее утро разъездились повозки и верховые, то вдаль за реку, то на собачонку, притворявшуюся, что она не на шутку хочет укусить его, то на свои босые ноги, которые он с удовольствием переставлял в различные положения, пошевеливая грязными, толстыми, большими пальцами. И всякий раз, как он взглядывал на свои босые ноги, на лице его пробегала улыбка оживления и самодовольства. Вид этих босых ног напоминал ему все то, что он пережил и понял за это время, и воспоминание это было ему приятно.
Погода уже несколько дней стояла тихая, ясная, с легкими заморозками по утрам – так называемое бабье лето.
В воздухе, на солнце, было тепло, и тепло это с крепительной свежестью утреннего заморозка, еще чувствовавшегося в воздухе, было особенно приятно.
На всем, и на дальних и на ближних предметах, лежал тот волшебно хрустальный блеск, который бывает только в эту пору осени. Вдалеке виднелись Воробьевы горы, с деревнею, церковью и большим белым домом. И оголенные деревья, и песок, и камни, и крыши домов, и зеленый шпиль церкви, и углы дальнего белого дома – все это неестественно отчетливо, тончайшими линиями вырезалось в прозрачном воздухе. Вблизи виднелись знакомые развалины полуобгорелого барского дома, занимаемого французами, с темно зелеными еще кустами сирени, росшими по ограде. И даже этот разваленный и загаженный дом, отталкивающий своим безобразием в пасмурную погоду, теперь, в ярком, неподвижном блеске, казался чем то успокоительно прекрасным.
Французский капрал, по домашнему расстегнутый, в колпаке, с коротенькой трубкой в зубах, вышел из за угла балагана и, дружески подмигнув, подошел к Пьеру.
– Quel soleil, hein, monsieur Kiril? (так звали Пьера все французы). On dirait le printemps. [Каково солнце, а, господин Кирил? Точно весна.] – И капрал прислонился к двери и предложил Пьеру трубку, несмотря на то, что всегда он ее предлагал и всегда Пьер отказывался.
– Si l'on marchait par un temps comme celui la… [В такую бы погоду в поход идти…] – начал он.
Пьер расспросил его, что слышно о выступлении, и капрал рассказал, что почти все войска выступают и что нынче должен быть приказ и о пленных. В балагане, в котором был Пьер, один из солдат, Соколов, был при смерти болен, и Пьер сказал капралу, что надо распорядиться этим солдатом. Капрал сказал, что Пьер может быть спокоен, что на это есть подвижной и постоянный госпитали, и что о больных будет распоряжение, и что вообще все, что только может случиться, все предвидено начальством.
– Et puis, monsieur Kiril, vous n'avez qu'a dire un mot au capitaine, vous savez. Oh, c'est un… qui n'oublie jamais rien. Dites au capitaine quand il fera sa tournee, il fera tout pour vous… [И потом, господин Кирил, вам стоит сказать слово капитану, вы знаете… Это такой… ничего не забывает. Скажите капитану, когда он будет делать обход; он все для вас сделает…]
Капитан, про которого говорил капрал, почасту и подолгу беседовал с Пьером и оказывал ему всякого рода снисхождения.
– Vois tu, St. Thomas, qu'il me disait l'autre jour: Kiril c'est un homme qui a de l'instruction, qui parle francais; c'est un seigneur russe, qui a eu des malheurs, mais c'est un homme. Et il s'y entend le… S'il demande quelque chose, qu'il me dise, il n'y a pas de refus. Quand on a fait ses etudes, voyez vous, on aime l'instruction et les gens comme il faut. C'est pour vous, que je dis cela, monsieur Kiril. Dans l'affaire de l'autre jour si ce n'etait grace a vous, ca aurait fini mal. [Вот, клянусь святым Фомою, он мне говорил однажды: Кирил – это человек образованный, говорит по французски; это русский барин, с которым случилось несчастие, но он человек. Он знает толк… Если ему что нужно, отказа нет. Когда учился кой чему, то любишь просвещение и людей благовоспитанных. Это я про вас говорю, господин Кирил. Намедни, если бы не вы, то худо бы кончилось.]
И, поболтав еще несколько времени, капрал ушел. (Дело, случившееся намедни, о котором упоминал капрал, была драка между пленными и французами, в которой Пьеру удалось усмирить своих товарищей.) Несколько человек пленных слушали разговор Пьера с капралом и тотчас же стали спрашивать, что он сказал. В то время как Пьер рассказывал своим товарищам то, что капрал сказал о выступлении, к двери балагана подошел худощавый, желтый и оборванный французский солдат. Быстрым и робким движением приподняв пальцы ко лбу в знак поклона, он обратился к Пьеру и спросил его, в этом ли балагане солдат Platoche, которому он отдал шить рубаху.
С неделю тому назад французы получили сапожный товар и полотно и роздали шить сапоги и рубахи пленным солдатам.
– Готово, готово, соколик! – сказал Каратаев, выходя с аккуратно сложенной рубахой.
Каратаев, по случаю тепла и для удобства работы, был в одних портках и в черной, как земля, продранной рубашке. Волоса его, как это делают мастеровые, были обвязаны мочалочкой, и круглое лицо его казалось еще круглее и миловиднее.