| |||
|
|
awesome: ещё один шаг к идеальному wm Создатели большинства оконных сред (Windows, GNOME, KDE) очень высокого мнения о пользователях. Они считают своих пользователей ловкими, внимательными, трудолюбивыми, аккуратными и спокойными людьми с хорошей памятью. По крайней мере, именно на таких людей расчитан интерфейс Windows, KDE и GNOME. Мне не повезло: я не такой. Мне трудно совершать ювелирно точные движения мышкой: попасть в границу окна или в кнопки закрывания-сворачивания для меня — разражающе сложная задача. Я невнимателен: если на экране больше трёх-четырёх открытых окон, я в них путаюсь (а благодаря плохой памяти я путаюсь и в свёрнутых окнах). Я ленив: мне неохота каждый раз залезать в стартовое меню, чтобы запустить нужное приложение. И настраивать рабочий стол/иконки быстрого запуска/док в соответствии с текущим списком часто запускаемых приложений тоже неохота. Хуже того: мне неохота каждый раз регулировать размер окон на экране и даже снимать руки с клавиатуры! И ещё я раздражителен и нетерпелив: необходимость копаться в меню, прицельно тыкать мышкой в двухмиллиметровую полоску на экране, раз за разом совершать одни и те же сложные действия меня бесит. В общем, я не соответствую высоким стандартам пользователя Windows-подобных сред: я хочу работать за компьютером, а не демонстрировать свои (отсутствующие, как уже было сказано) таланты. Чем менее заметна оконная среда, тем для меня, в принципе, лучше. Судя по количеству пользователей Windows, GNOME и KDE, мои проблемы достаточно нетипичны: большинство пользователей ловчее, внимательнее и терпеливее меня. Им дальнейшее вряд ли будет интересно. Ну, а мои немногочисленные товарищи по несчастью могут читать дальше. Итак, если у вас те же проблемы, что у меня, давайте подумаем вместе: чего мы хотим от оконной среды? У меня получился такой список:
Кое-что из этого знакомо пользователям Маков, однако меня лично Мак не устраивает по другим причинам (например, ставить/удалять программы и обновлять систему гораздо сложнее, чем в Linux). Я уже много лет использую Window Maker — среду, имитирующую интерфейс NeXTSTEP. Но и её я не могу назвать идеальной — скорее наименее раздражающей из всего, что мне довелось попробовать: например, возможности по управлению с помощью клавиатуры там оставляют желать. Некоторое время назад (кажется, от пользователя gogabr, уже не помню точно) я узнал о tiling window managers (мозаичных оконных менеджерах), и сразу подумал, что это как раз примерно то, что мне нужно. Главный принцип интерфейса мозаичных wm — как раз отказ от прицельных движений мышью. В мозаичных оконных менеджерах нет перекрывающихся окон: все запущенные приложения видны на экране одновременно, занимая всё пространство экрана; обрамления, в которое нужно было бы тыкать курсором, у окон нет. Описание может кому-то показаться пугающим, но на самом деле такой способ работы гораздо нагляднее и интуитивнее обычного (с перекрывающимися и сворачивающимися окнами) особенно в сочетании с виртуальными рабочими столами, хорошо знакомыми пользователям большинства оконных сред (собственно, кажется, сейчас они в том или ином виде есть везде, кроме Windows). Я, естественно, сразу попытался использовать те мозаичные оконные менеджеры, которые смог найти (Ion, larswm, wmii), но ни один из них меня не устроил. Причём не то, чтобы что-то конкретное сильно раздражало — скорее, просто ожидаемый выигрыш в удобстве показался не заслуживающим усилий по освоению. Однако, на днях я встретил в комментах у k001 упоминание ещё одного tiling wm, awesome:
Я решил продолжить давние эксперименты и поставил awesome. И не пожалел. Это фантастически удобная штука. Несмотря на ряд крупных недостатков (о которых ниже), этот оконный менеджер на голову выше всего, что я пробовал до этого. В awesome, как и в других tiling wm, окна занимают весь экран — одно развёрнуто на его бóльшую часть, другие выстроены вдоль края (возможно несколько вариантов мозаики, они легко переключаются). А вот людей, привыкших к виртуальным рабочим столам, ждёт сюрприз: вместо них в awesome применяется более гибкая система тегов. Каждое приложение помечается каким-то тегом, и становится видно только тогда, когда выбран его тег. Отличие от виртуальных рабочих столов, например, в том, что можно выбирать несколько тегов одновременно. По-моему, это гениальное решение. Естественно, awesome легко управляется с клавиатуры. Клавиатурные привязки начинаются с клавиши Mod4, которая у меня оказалась привязана к правой клавише "Windows" — я не стал это менять, ни для чего другого я её не использую. Команды выбраны настолько удачно, что я запомнил их почти сразу — сейчас, через сутки использования, я уже не подглядываю в документацию и, наборот, по привычке тянусь к Mod4 в других оконных менеджерах. Рис. 3. GIMP, всегда, честно говоря, раздражавший меня своим многооконным интерфейсом, в awesome оказывается вполне юзабельным и даже не так плохо выглядящим. Естественно, чудес не бывает — есть у awesome и недостатки. Прежде всего это чрезвычайно сложный процесс настройки. Файл настроек awesome, ~/.config/awesome/rc.lua, представляет собой, по сути, скрипт на языке Lua, создающий большую часть элементов интерфейса. Соответственно, чтобы изменить настройки, приходится переписывать код, ответственный за нужную тебе функциональность. Автор программы пишет в руководстве по настройке: We're talking about Lua, so first, learn Lua. Don't want to? Do not use awesome 3 and stop reading right now. (Alternatively fetch a config file from the source tarball or from someone, and just tweak it accordingly, which should work even without any lua language knowledge). С другой стороны, вот меня тошнит от любой формы "элитизма", я не знаю Lua и не собираюсь его учить, и уж подавно у меня нет никакого "minimum computer science background", но awesome я настроил, потратив на это около пары часов. Для этого, действительно, оказалось достаточным взять стандартный конфиг, добавить туда несколько кусков кода из wiki проекта и немного поработать напильником. Синтаксис Lua более или менее self-explanatory, так что человек, в общих чертах представляющий, что такое цикл и ветвление, за несколько попыток может поменять практически любое место конфига. Кроме того, awesome не работает с Java-приложениями. Мне это пофигу, я не использую в повседневной работе ни одно приложение на Java, но кому-то это может оказаться критичным. Впрочем, есть вроде решение этой проблемы, хотя и довольно кривое. В заголовках некоторых окон с русскими названиями видны крокозябры. Впрочем, судя по всему, это связано с тем, что я до сих пор использую локаль koi8-r, у пользователей с юникодной локалью эта проблема вряд ли возникнет. Если вы решили попробовать awesome, то вот набор клавиатурных привязок, которые я использую чаще всего, и несколько ссылок.
Мой файл rc.lua для awesome. Что я поменял относительно стандартного:
Возможно, ещё что-то, если вспомню — напишу. Да, чтобы всё заработало как надо, пришлось переименовать исходный конфиг (/etc/xdg/awesome/rc.lua) в /etc/xdg/awesome/rc.lua.example. Ссылки. Сайт awesome: http://awesome.naquadah.org/ Wiki: http://awesome.naquadah.org/wiki/in FAQ: http://awesome.naquadah.org/wiki/in Несколько статей на русском про другой мозаичный оконный менеджер, Ion. Кое-что, особенно общие слова, верно и для awesome: http://www.computerra.ru/softerra/22596 http://www.opennet.ru/docs/RUS/ion3/ http://my-cellar-door.blogspot.com/2 http://iportnov.blogspot.com/2006/10/io UPD Как тут совершенно верно замечают в комментах, смотреть в сторону tiling менеджеров имеет смысл только обладателям больших мониторов. На ноутбуках, и тем более нетбуках, смысла в тайлинге, мягко выражаясь, немного. UPD2 Ниже в комментах с этим не соглашаются. |
||||||||||||||||||||||||||||||||||||