Отступление. Операционная система NeXTStep изначально разрабатывалась для аппаратной платформы NeXT, созданной в 1987 году одноимённой фирмой, основанной и возглавлявшейся Стивом Джобсом в период его развода с Apple. Компьютер NeXT, сердцем которого был пламенный мотор от Motorola за номером 68040, выглядел тогда как пришелец из далёкого будущего: футуристический «чёрный кубик» (что было его народным названием) в качестве непременных компонентов включал в себя мощный видеоадаптер, привод компакт-дисков и звуковую карту. То, о чём в те годы рядовой пользователь не только PC, но и Mac'а не мог даже мечтать.
К сожалению, стандартное богатство комплектации NeXT'а влекло за собой стоимость, чрезмерную даже по тем былинным временам, когда до массовых дешёвых комплектующих от продолжателей дела Великого Мао было ещё далеко. И потому спрос на него был далёк от ожидаемого во всех сферах. Кроме, разве что, сферы научной: сочетание мощной аппаратуры и удобных средств разработки позволяло, например, биологам и химикам создавать специальные приложения для моделирования структуры сложных органических молекул.
Однако учёные не принадлежат к самым богатым слоям прогрессивного человечества, и с золотым запаом у них часто напряги. И в итоге развитие NeXT как аппаратной платформы прекратилось в 1993 году. – именно по причине недостаточного объёма продаж Однако уход NeXT’а с «железного» рынка трудно назвать иначе чем триумфальным: последние месяцы продаж «чёрного кубика» ознаменовались ажиотажным на него спросом. И как раз со стороны научных учреждений, в том числе и российских, которые тогда вовсю начинали переживать свои не лучшие времена (продолжающиеся по сей день). Можно сказать, что NeXT «ушёл на дно, не опуская флаг»...
Интерфейс операционной системы NeXTStep отличался, с одной стороны, функциональностью, с другой – элегантностью, так с тех пор и непревзойдённой (на мой взгляд). И потому он послужил сначала образом для подражания в виде целой линии оконных менеджеров. Первым из них стал AfterStep, разрабатываемый с 1996 года. Он был основан на коде FVWM, но внешний вид его был приведён в соответствие с таковым NeXTStep. Казалось бы, процедура, аналогичная проделанной ранее с fvwm95 – однако результат был не сопоставимым. И, хотя AfterStep и не снискал большой популярности – он развивается до сих пор, и вокруг него сложилось небольшое, но преданное сообщество.
Отступление. Оконный менеджер AfterStep оказал влияние и на мир Windows: в 1997 году Франсис Гастеллу (Francis Gastellu) разработал его клон для платформы Win32 – LiteStep. Первоначально он настолько точно воспроизводил внешний вид прототипа, что невозможно было поверить в существование лежащей под ним банальной Windows 95/98. В дальнейшем он эволюционировал в сторону конструктора, позволяющего воспроизвести поверх Windows разного рода (в том числе и линии NT/2000/XP etc.) интерфейс любой рабочей среды для Иксов или создать интерфейс собственный. Оболочка LiteStep активно развивается по сей день: в частности, в ней реализована и поддержка Windows 8. Насколько широко она используется «записными подоконниками» – судить не берусь. Но ряд лично знакомых мне линуксоидов активно применяли её во время вынужденной работы в Windows.
Если AfterStep имел в своей основе код FVWM, то второй последователь NeXTStep, WindowMaker, разрабатывался «с нуля» Альфредо Коджимой (Alfredo Kojima), начиная с 1997 года. И первоначально этот оконный менеджер предназначался для кросс-платформенной среды GNUstep – попытке свободного воспроизведения OpenStep, того самого нерождённого дитяти от союза NeXT и Sun, которое поминалось выше.
Сама среда GNUstep угодила в долгий ящик – время от времени появлялись только её реализации на ядре Linux (что, впрочем, было свойственно всем амбициозным проектам, до которых антилопа GNU дотягивалась своими копытами). А WindowMaker же, как оконный менеджер для Иксов, вследствие своих несомненных достоинств (элегантность и, при некоторой привычке, удобство интерфейса, быстрота, нетребовательность к ресурсам) быстро завоевал заслуженную популярность.
Не последнюю роль в распространении WindowMaker’а сыграло то, что изначально он включал в себя утилиту настройки, работавшую в графическом режиме: необходимости в ручной правке конфигов больше не было. Хотя и запрета на неё тоже не налагалось. Кроме того, для него был разработан и комплекс служебных программ, что знаменовало первый шаг в направлении интегрированных десктопов (правда, дальнейших шагов в эту сторону не последовало – WindowMaker так и остался менеджером окон).
В нынешнем тысячелетии WindowMaker несколько захирел. В том числе и потому, что, когда всё прогрессивное человечество начало в массовом порядке переходить на UTF8, долгое время оставался верен восьмибитным кодировкам. Правда, в середине нулевых годов вышел релиз 0.95.0 с поддержкой юникода – но затем многие годы о WindowMaker'е не было слышно ничего. По традиции он входил в штатный набор графических сред ряда дистрибутивов, присутствовал в их репозиториях, официальных или дополнительных, но о былой популярности его говорить не приходилось.
Казалось, что WindowMaker обречён на тихую и незаметную кончину. Как вдруг случилось чудо: в январе 2012 года новой командой разработчиков было объявлено о реанимации проекта и выходе нового релиза – 0.95.1. А вслед за тем очередные версии этого оконного менеджера начали выходить регулярно – последняя на сегодняшний день (0.95.5) датируется августом 2013.
Начинание разработчиков этого оконного менеджера получило поддержку со стороны майнтайнеров некоторых дистрибутивов. И в начале июня 2013 года свет увидел LiveCD на базе Debian'а, в котором WindowMaker выступает в качестве рабочего окружения.
А в период стагнации WindowMaker оказал несомненное влияние на две самых модерновых рабочих среды современности: режьте меня на куски, но идея больших объёмных кнопок на панели запуска приложений вдоль боковины экрана в Unity и GNOME Shell ведёт своё начало от него. Хотя разработчики обеих сред не любят говорить об этом вслух. И, дабы окончательно обрубить концы преемственности, переместили эту панель справа (где она имела место быть в WindowMaker'е по умолчанию) налево.
Линия боксов
В основе интерфейса всех оконных менеджеров, о которых говорилось в предыдущей статье, лежал какой-нибудь прототип, «родной» (как первозданный twm) или пришедший из «другого мира» (Windows, NeXTStep). Однако в семействе их имеется линия абсолютно оригинальная – по крайней мере, прообразов для неё я не видел никогда и нигде. Это – линия так называемух *kbox'ов.
Прародитель семейства, Blackbox, был разработан Брэндли Хьюгсом (Bradley Hughes) в 1997 году как своего рода неявный ответ на IceWM: то есть как ещё боле лёгкий с точки зрения потребления ресурсов, ещё более минималистичный по своему интерфейсу, ещё более простой в настройке и использовании, не несущий к тому же никаких следов чужеродного воздействия. Иными словами – истинное воплощение True UNIX GUI в превосходной степени.
И надо сказать, что поставленную перед самим собой задачу Брэндли выполнил с блеском, придав своему решению предельно простой и строгий дизайн. Который сводится к двум элементам: узенькой управляющей панели, служащей для переключения рабочих столов и запущенных приложений, и рабочего пространства, с которого щелчком правой кнопки мыши вызывается контекстное меню, позволяющее запускать приложения и выполнять первичную настройку Blackbox'а. Более тонкая настройка выполнялась путём коррекции конфигурационных файлов.
Blackbox быстро приобрёл популярность и, как следствие стал обрастать дополнениями в виде многочисленных тем рабочего стола и интерфейсных элементов (например, средства вывода запускающих пиктограмм на рабочий стол). Появилось и средство собственного конфигурирования – bbconf. Однако в нём самом, после первого периода «бури и натиска», фактически ничего не менялось, и всё по той же причине, которая вызвала «захирение» многих свободных проектов: что-то кардинально улучшить без смены парадигмы в нём было уже невозможно. А смена парадигмы привела бы к тому, что Blackbox перестал быть самим собой.