KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программное обеспечение » Алексей Федорчук - Вопросы истории: UNIX, Linux, BSD и другие

Алексей Федорчук - Вопросы истории: UNIX, Linux, BSD и другие

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Алексей Федорчук, "Вопросы истории: UNIX, Linux, BSD и другие" бесплатно, без регистрации.
Перейти на страницу:

Прародитель семейства, Blackbox, был разработан Брэндли Хьюгсом (Bradley Hughes) в 1997 году как своего рода неявный ответ на IceWM: то есть как ещё боле лёгкий с точки зрения потребления ресурсов, ещё более минималистичный по своему интерфейсу, ещё более простой в настройке и использовании, не несущий к тому же никаких следов чужеродного воздействия. Иными словами – истинное воплощение True UNIX GUI в превосходной степени.

И надо сказать, что поставленную перед самим собой задачу Брэндли выполнил с блеском, придав своему решению предельно простой и строгий дизайн. Который сводится к двум элементам: узенькой управляющей панели, служащей для переключения рабочих столов и запущенных приложений, и рабочего пространства, с которого щелчком правой кнопки мыши вызывается контекстное меню, позволяющее запускать приложения и выполнять первичную настройку Blackbox'а. Более тонкая настройка выполнялась путём коррекции конфигурационных файлов.

Blackbox быстро приобрёл популярность и, как следствие стал обрастать дополнениями в виде многочисленных тем рабочего стола и интерфейсных элементов (например, средства вывода запускающих пиктограмм на рабочий стол). Появилось и средство собственного конфигурирования – bbconf. Однако в нём самом, после первого периода «бури и натиска», фактически ничего не менялось, и всё по той же причине, которая вызвала «захирение» многих свободных проектов: что-то кардинально улучшить без смены парадигмы в нём было уже невозможно. А смена парадигмы привела бы к тому, что Blackbox перестал быть самим собой.

В результате в первой половине нулевых годов развитие этого оконного менеджера прекратилось – последняя его версия (0.70.1) на официальном сайте датируется ноябрём 2005 года. Однако сам по себе он не умер: майнтайнеры большинства популярных дистрибутивов держат его в своих официальных репозиториях, заодно поддерживая совместимость его с новыми версиями библиотек (благо зависимостей у Blackbox'а не мало, а очень мало).

Продолжал развиваться Blackbox и другим образом – в виде своих потомков. Из них до сего дня дожили два – Fluxbox и Openbox. Оба они в целом сохранили минималистический интерфейс родителя, но обогатили его некоторыми новшествами. Для Fluxbox'а (чистого клона Blackbox'а), возникшего на рубеже тысячелетий, главным из них была возможность объединения совместно используемых приложений (например, терминала, текстового редактора и браузера) в «группы по интересам». И перемещаться внутри них с помощью закладок – уже настоящих табов, а не тех их прототипов, что были в twm. Кстати, особенность эта до сих пор остаётся уникальной не только для оконных менеджеров, но и для десктопов.

Появившийся несколько позже (в 2002 году) Openbox также поначалу был клоном Blackbox'а, то есть основывался на его кодовой базе. Однако затем он был переписан на чистом C (Blackbox и Fluxbox написаны на C++), чем приобрёл самобытность, хотя и сохранил минимализм интерфейса предтечи. Однако главная составляющая его самобытности – это графическое средство конфигурирования, ObConf. Оно обеспечило ему место оконного менеджера в рабочей среде LXDE, у которой с собственными средствами настройки была (и сохраняется до сих пор) некоторая напряжёнка. Но об этом – в следующей главе.

И всё же ещё минималистичней...

Казалось бы, интерфейс минималистичней, чем у Blackbox'а, придумать трудно. Но предела совершенству нет ни в каком направлении – ни в усложнении, ни в упрощении. Что мы сейчас и проиллюстрируем.

Был некогда такой оконный менеджер – wm2 (что расшифровывалось просто – Window Manager 2). Разработанный Крисом Каттамом (Chris Cannam) в 1996 году, он отличался не просто простотой, а, я бы сказал, простецкостью. Ибо обеспечивал только перемещение окон, изменение их размера, скрытие и закрытие. Никаких других функций у него не было – ни виртуальных десктопов, ни средств запуска приложений, ни иконок, ни инструментов конфигурирования (кажется, и параметров конфигурирования не было тоже). И потому вид его был предопределён изначально. В частности, фирменной особенностью его была вертикальная ориентация строки заголовка.

Вероятно, автору этих возможностей (или, скорее, невозможностей) хватало. А вот Биллу Спитзаку (Bill Spitzak) – нет, хотя ему также были близки идеи минимализма и нравилась вертикальная ориентации строки заголовка. И потому он добавил в wm2 необходимые функции – расширенные средства управления окнами, средство запуска приложений из контекстного меню рабочего стола, поддержку виртуальных десктопов в неограниченном количестве. В результате чего получился FLWM (Fast Light Window Manager).

Появилось в FLWM и средство конфигурирования контекстного меню запуска программ, не требующее даже правки конфигурационных файлов. Достаточно было в каталоге ~/.wmx/, создать подкаталоги, соответствующие пунктам меню любой желаемой структуры (до десяти уровней вложенности). И поместить в них символические ссылки на исполняемые файлы необходимых приложений. После чего в контекстном меню появляются новые пункты.

Последняя авторская версия FLWM (1.02) датируется 2006 годом. Однако заложенные в нём идеи минимализма получили дальнейшее развитие в самом минималистичном дистрибутиве Linux – Tiny Core, включающем его версию, усовершенствованную разработчиком последнего, Робертом Шинглдекером (Robert Shingledecker). Именно в таком виде FLWM входит в репозитории ряда дистрибутивов (например, openSUSE и Ubuntu).

Оступление. В начале этой главы я писал, что работать в Иксах без оконного менеджера практически невозможно. Однако некогда это было не совсем так. Офисный пакет StarOffice позволял обходиться без всяких управителей окон – достаточно было обеспечить автоматический запуск терминала при старте иксового сеанса, а уже из его командной строки вызвать Desktop Manager этого офисного пакета. Который обеспечивал все необходимые средства управления окнами – правда, только для входящих в него приложений, то есть текстового процессора, электронной таблицы и так далее. С окнами любых других программ StarOffice Desktop Manager работать не умел. Но не это ли вековечная мечта любого руководителя – чтобы его сотрудники всё своё рабочее время занимались работой, а не играли бы в игры, слушали музыку и сидели в социальных сетях?

Способность работать без оконного менеджера была унаследована и первыми, после обретения свободы, версиями OpenOffice, но этот куплет – уже из другой песни.

Управители тайлингом

Как я уже сказал, «период бури и натиска» в развитии оконных менеджеров пришёлся на вторую половину 90-х годов. И на рубеже тысячелетий стало казаться, что все идеи в этом направлении исчерпаны. Идеи разумные были реализованы в удачных оконных менеджерах, получивших распространение и достигших той стадии совершенства, когда «хорошее улучшать – только портить». А оконные менеджеры, основанные на идеях неразумных, или просто неудачные, тихо сошли со сцены, и даже память о них затёрлась.

К тому же массовый приток новых пользователей из мира Windows (потому что больше им просто неоткуда было браться) вызвал снижение интереса к оконным менеджерам вообще – наступала эра интегрированных графических сред, выглядевших для мигрантов-«подоконников» более привычно. Да и линуксоиды первых призывов, вдоволь наигравших с редактированием конфигов и rc-файлов, всё чаще причаливали в тихой десктопной гавани. А оконные менеджеры всё больше становились инструментом энтузиастов.

Однако энтузиасты, как известно, потому так и называются, что ко всему относятся с энтузиазмом. В том числе и к интерфейсам. Им стало скучно в очередной раз реконфигурировать box'ы и FLWM'ы. И в первой половине нулевых годов они придумали новую парадигму управления окнами – тайлинг, реализовав её к их середине в виде многочисленных тайловых (или фреймовых) оконных менеджеров.

В основе тайловых менеджеров лежит та же идея, что и у консольной утилиты screen: расщепление на ряд независимых областей (фреймов), подобное покрытию пола кафелем (tiling), в каждой из которых запускается какое-либо приложение. Собственно, к программам этой группы понятие «оконный менеджер» применимо достаточно условно: они обеспечивают управление не столько окнами, сколько теми самыми областями экрана, в которых эти окна открываются. Каковое может быть статическим, с жёстко определёнными размерами фреймов, и динамическим, при котором размеры фреймов изменяются при масштабировании окон запущенных в них приложений.

Распространение больших широкоформатных LCD-мониторов сделало идею тайлинга очень актуальной, и тайловые менеджеры получили широкое распространение. А элементы тайлинга были задействованы и в некоторых интегрированных средах (Xfce, Unity, особенно активно – в Cinnamon'е). Однако я тайловых менеджеров практически не использовал – для моих задач больше походит принцип «один десктоп – одно окно». Так что описать их историю не могу – надеюсь, что кто-нибудь из знатоков и любителей тайловых менеджеров восполнит пробел в моём историческом обзоре.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*