Десктопы также включают в себя средства оформления окон и управления ими, то есть оконные менеджеры, собственные (как в KDE и Xfce) или заимствованные (как в GNOME и LXDE). Однако средства собственного конфигурирования, наборы тем и стилей, штатные утилиты и приложения входят в них уже в обязательном порядке. Хотя количество последних может быть различным – от всеохватного в KDE до весьма скромного в Xfce или совсем уж бедного – в LXFE. Важно, что все штатные программы десктопов характеризуются единством интерфейса, настраиваемого собственными конфигураторами среды.
Настоящая статья, как и следующая за ней, будут посвящены истории менеджеров окон. В статьях же дальнейших я расскажу о драматической истории десктопов и о разворачивавшихся вокруг них «священных войнах».
Я не берусь рассказать про возникновение и развитие всех оконных менеджеров, когда-либо существовавших на свете – это задача непосильная для одного человека. Поэтому ограничусь только теми представителями семейства, с которыми работал непосредственно, или которые внимательно рассматривал на предмет практического применения.
Практическая работа в X Window System без менеджера окон почти невозможна, или, по крайней мере, очень неэффективна Тому, кому доводилось видеть «голые Иксы», понятно, почему: это просто серое поле с курсором мыши в виде крестика. И никакое щёлканье мышиными кнопками не влечёт за собой ни малейшего результата.
Конечно, в пользовательском конфиге Иксового сеанса можно прописать автоматический запуск каких-либо приложений – например, собственного эмулятора терминала, xterm, и работать в его командной строке, как в текстовой консоли. Можно было открыть при старте Иксов много терминальных окон для одновременной работы. И я знаю применителей, которые вполне серьёзно полагали это главной сакральной функцией графического интерфейса – ибо ни в чём, кроме терминалов, не нуждались. Можно было, наконец, открыть много-много приложений – но радости это приносило мало: исключительно иксовыми средствами окна их нельзя было ни перемещать, ни масштабировать, ни даже закрывать, не говоря уж о сворачивании в пиктограммы.
Так что можно предполагать, что оконные менеджеры возникли одновременно с первыми реализациями X Windows System, однако память о них затёрлась. И первое о них упоминание обнаруживается только в X10 (конец 1985 года) под именами xwm и xnwm, но сведений о том, что они собой представляли, мне обнаружить не удалось. По косвенным данным можно предполагать, что управлялись они не мышью, а с клавиатуры комбинациями с участием клавиши Meta, и не имели средств конфигурирования.
В том же 1985 году компания DEC разрабатывает оконный менеджер uwm (Ultrix Window Manager). Он предназначался для её собственной реализации UNIX для платформы VAX – Ultrix (в последующем Tru64 UNIX), в которой Иксы не использовались. Однако был быстро портирован на них, и уже в X11R3 стал стандартным средством управления окон. Это был первый оконный менеджер, в котором с помощью файла конфигурации можно было настроить поведение кнопок мыши и привязать к ним меню управления окнами – функции, которые нынче кажутся столь тривиальными, что в гипермодернистских средах типа GNOMEShell и Unity они почти редуцировались.
У истоков управления окнами: twm...
Следующим этапом в развитии оконных менеджеров стал twm, разработанный Томом Ластрэйнджем (Tom LaStrange) в 1987 году и включённый в качестве стандартного компонента в Иксы, начиная с X11R4 (декабрь 1989 года). Откуда он и попал в XFree86, появившуюся, как помнить читатель, в феврале 1991 года (LXF#168).
В отличие от ранее упомянутых оконных менеджеров, twm могли бы наблюдать многие из ныне действующих линуксоидов. Хотя развитие его прекратилось, twm до недавнего времени в качестве стандартного средства управления окнами входил практически во все сборки Иксов – как в XFree86, так и в Xorg. А некоторым и довелось наблюдать его: именно twm запускался по умолчанию в ответ на команды startx, если в пользовательском конфигурационном файле Иксов не было определено ничего другого.
Создатель twm, Том Ластрэйндж (Tom LaStrange), разрабатывал этот оконный менеджер для себя – и, вполне естественно, назвал его собственным именем: первоначальной расшифровкой аббервиатуры было: Tom's Window Manager. Такая практика в те годы была обычной (вспомним, например, Joe – Joe's Own Editor, то есть Личный Редактор Джозефа Аллена, его создателя) и отражала не манию величия или стремление увековечить своё имя. А напротив, как бы говорила: эту программу я сделал для себя. Подразумевая в скобках: а подойдёт ли она вам – не знаю.
Читать дальше