Литмир - Электронная Библиотека
A
A

Софтерра: Безоконный менеджер

В компьютерном мире есть люди, буквально помешанные на эффективности своей работы. Они не любят мышь, считая ее неудобным инструментом, отнимающим кучу времени. Их бросает в дрожь при виде человека, тратящего десятки секунд на поиск нужной программы в необъятном меню «Пуск». Они с рождения печатают вслепую и не понимают, почему кто-то этого еще не умеет. Даже если они начинают работать под Windows, то рано или поздно переходят на Linux.

Окна и мыши

Современные интерфейсы, основанные на концепции WIMP (Window, Icon, Menu, Pointing device), рассчитаны в первую очередь на простоту освоения. Трудно спорить с тем, что научиться кликать мышью по кнопкам и выбирать пункты меню значительно проще, чем запоминать сотни команд со всеми их параметрами и опциями. Cам по себе WIMP еще не залог «интуитивности», но если разработчик уделил дизайну интерфейса хотя бы толику времени, то общение даже со сложными программами становится более или менее простым. WIMP используется как в Windows, так и в большинстве графических сред Linux (Gnome, KDE и т. д.). И, пожалуй, надо отдать этой концепции должное - если бы не она, компьютер еще долго был бы «черным ящиком», работать с которым могли бы только специалисты.

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

***
Журнал «Компьютерра» №32 от 06 сентября 2005 года - pic_1.jpg

Однако работа только в текстовом режиме сродни монашеству - ни фотографий, ни сайтов с картинками, ни видео. Администрировать веб-сервер еще можно, но не жить же в таких спартанских условиях постоянно! Волей-неволей приходится перебираться под графические интерфейсы - а они зачастую плохо совместимы с клавиатурным подходом к реальности.

Взять, например, первое понятие из четверки WIMP. Как известно, «окно» - это такой прямоугольник на экране, в котором «обитает» программа. Его можно передвинуть, свернуть, развернуть, потянуть за рамку и изменить размер - все это делается мышкой. С клавиатуры тоже можно - но чисто теоретически. Практически же - неудобно.

Даже если забыть про клавиатуру, окно как таковое не кажется слишком удачным изобретением. Очень уж любят эти бестии рассаживаться по экрану в полном беспорядке, загораживать друг друга, порой занимать все доступное пространство, а иногда, напротив, оставлять нетронутой огромную экранную площадь. Забота по их упорядочиванию ложится на плечи пользователя и отвлекает от главного - решения текущей задачи. Мы, конечно, к этому уже привыкли и без окон почти не представляем графический интерфейс - но все же, неужели ничего лучше не придумано?

Погонщики окон

Пользователи одной очень распространенной ОС, пожалуй, и не знают, что есть такой тип приложений, как менеджер окон (window manager). Действительно, в Windows он намертво вшит в систему, так что большой свободы выбора здесь нет. Все окошки выглядят и ведут себя совершенно одинаково - если, конечно, само приложение не пытается с этим бороться (как WinAMP и другие программы с изменяемым интерфейсом). В Линуксе ситуация обратная - в соответствии с «путем Unix» (unix way) менеджер окон является одним из кирпичиков, из которых собирается ОС. Его можно вытащить (система не рухнет), можно поставить другой, можно написать свой. Например, такой, какой нужен именно вам.

Большинство оконных менеджеров довольно близки по функциональности, слегка отличаясь способами настройки, поведением, оформлением и скоростью работы. Выбор из них - скорее вопрос привычек и вкуса. Тем удивительнее было встретить среди представителей этого вида нечто совершенно новое. Речь идет о менеджере под названием Ion, который его автор позиционирует как поиск «годного к употреблению» графического интерфейса

Наткнулся я на эту разработку как раз в тот момент, когда меня постигло разочарование. Я полностью разочаровался в среде Gnome, случайно обнаружив, что эмулятор терминала xterm под минималистичным оконным менеджером Fluxbox на машине уровня Pentium 250 запускается быстрее, чем тяжеловесный gnome-terminal под «родным» для него Gnome[Gnome не является оконным менеджером, он представляет собой графическую среду, включающую помимо собственно менеджера (сейчас это metacity) множество разнообразных приложений. Но без большинства из них можно спокойно обойтись] на ноутбуке с гигагерцовым Pentium M. Пришлось искать альтернативу - тут-то на глаза и попался Ion. Пройти мимо было невозможно. Описание было столь заманчивым, что даже отсутствие rpm-пакета и необходимость собирать его из исходников меня не остановили. Пришлось скачать пару дополнительных программ и отредактировать несколько конфигурационных файлов, однако затем все собралось, и - после заветного make install - я оказался в совершенно необычной среде (рис. 1)[Статья основана на стабильной второй версии. С сайта Ion’а можно скачать также текущие «снимки» (development snapshot) с разрабатываемой третьей версии].

Рамки и закладки

Как и положено программе, рассчитанной на эффективность, а не на пресловутую интуитивную понятность, Ion встретил меня своим man’ом - краткой инструкцией по эксплуатации. Из нее стало известно, например, что окон в менеджере нет (по крайней мере, таких, к которым все привыкли). Честно говоря, в нем еще много чего нет. Например, нет кнопки «Пуск» или ее аналога, нет иконок на рабочем столе, нет трея (по крайней мере, по умолчанию), нет панели задач, нет часиков в углу экрана… Ion - это «чистый» window manager, без лишних наворотов.

Главный принцип работы - разделяй, объединяй и властвуй. Экран разбивается на несколько частей, именуемых рамками, или фреймами (frame), в которых и запускаются программы. В одном фрейме можно запустить сколько угодно приложений, но отображаться в каждый момент времени будет только одно «окно», развернутое на весь размер рамки, а от остальных останутся лишь закладки на заголовке, - аналогично поступают Firefox и Opera с отдельными веб-страницами. Естественно, фреймы не могут пересекаться и накладываться друг на друга, зато их размеры меняются согласованно, можно разделить текущий фрейм на два или удалить, склеив с другим, переместить окно из одного в другой и т. д. Все операции доступны с клавиатуры (еще бы!), но и мышка не отправлена на свалку истории - несмотря на отсутствие привычных трех кнопок в углу окна, правый клик вызывает контекстное меню, в котором можно поискать нужную функцию.

2
{"b":"87356","o":1}