В новых линуксовых интерфейсах, таких как Gnome shell и Unity разработчики пытаются оптимизировать расход экранного места. В принципе у них это получается, (хотя некоторые пользователи негодуют) но мне кажется что можно было бы пойти дальше, и достичь лучших результатов меньшей кровью. Под катом тебя ждет анализ оптимизаций интерфейса на примере сравнения классического интерфейса (аля Windows\Gnome 2\Xfce\KDE) c Unity, а также концепт того, как я бы поработал в этом направлении.
В любом современном и не очень компьютерном интерфейсе присутствуют схожие по назначению элементы управления, без которых обойтись довольно сложно:
Подход к реализации этих базовых элементов и их размещению на экране и обуславливает различия между нашими средами рабочего стола. В контексте этой статьи, я буду оперировать только вышеназванными элементами. Иначе можно впутаться в расписывание отличий положения кнопочек, которое грозит растянутся на много страниц.
В классическом интерфейсе используется одно панельная конфигурация. На расположенной снизу единственной панели, располагаются и иконки работающих в фоне приложений, и открытые окна, и главное меню системы. Строки меню приложений отображаются в окнах самих приложений.
В Unity две панели. На верхней расположена глобальная строка меню, меняющаяся в зависимости от выбранного в данный момент окна, индикаторы работающих приложений. На скрывающейся панели слева размешены кнопки переключения между открытыми приложениями, и кнопка вызова Dash, который в Unity играет роль главного меню среды.
Преимущества и недостатки, которые возникают из за таких различий следующие (на примере Unity):
И ВСЕ! Дальше сплошные недостатки.
Стоит отметить что эти минусы не так ощутимы при использовании горячих клавиш, а с ними в Unity все хорошо. Да и единственный плюс не малого стоит.
Вообще меня часто посещают мысли, что дизайнеры Unity — дуалбутчики. Только вторая система у них явно не винда. Нет, сказать что Unity целиком и полностью слизана с MacOs нельзя, но глобальная строка меню со всеми своими преимуществами и недостатками (+ оригинальными недостатками Unity) явно оттуда. А ведь помещение строки меню на верхнюю панель — не единственное возможное решение для экономии вертикального пространства.
Как видишь, на этим криво подправленном в гимпе скрине всего одна панель, любители могут сделать ее скрывающейся, и\или перенести в другой край экрана, и вот он PROFIT! (Для тех,кто в танке у кого отключены картинки: я совместил строку заголовка окна с его же строкой меню). При этом название окна (если оно вообще нужно) будет отображаться на нижней панельке, или на своем привычном месте, а меню будет его замещать только при наведении туда курсора (по аналогии с работой верхней панели Unity). Окна таскать можно за оставшееся свободным от меню место заголовка, или за любое место при зажатом Alt.
Такое решение сохраняет достоинства классического десктопа, и позволяет экономить еще больше места, при этом пробег мышки не увеличивается. Почему такое лежащее на поверхности решение не пришло в головузомбированных MacOs дизайнерам линуксовых DE, остается загадкой. Однако как мне кажется, используя наработки Unity по обеспечению работы глобального меню, реализовать такое будет не сложно если найдется разбирающийся в этом программист(ы). По сему пишу все это на Хабр и надеюсь что он прочтет эту статью. А глядишь и отметит меня в благодарностях нового плагина к Compiz.
UPD: Как мне подсказывают в google+, идея не нова, и похожее уже проскакивало на webupd8.
Общие элементы:
В любом современном и не очень компьютерном интерфейсе присутствуют схожие по назначению элементы управления, без которых обойтись довольно сложно:
- Кнопки переключения между открытыми приложениями;
- Иконки работающих в фоне приложений (например трей);
- Главное меню системы, из которого можно получить доступ ко всем установленным приложениям;
- Заголовки окон, строки меню отдельных приложений, кнопки управления окнами.
Подход к реализации этих базовых элементов и их размещению на экране и обуславливает различия между нашими средами рабочего стола. В контексте этой статьи, я буду оперировать только вышеназванными элементами. Иначе можно впутаться в расписывание отличий положения кнопочек, которое грозит растянутся на много страниц.
Classic interface VS Unity
В классическом интерфейсе используется одно панельная конфигурация. На расположенной снизу единственной панели, располагаются и иконки работающих в фоне приложений, и открытые окна, и главное меню системы. Строки меню приложений отображаются в окнах самих приложений.
В Unity две панели. На верхней расположена глобальная строка меню, меняющаяся в зависимости от выбранного в данный момент окна, индикаторы работающих приложений. На скрывающейся панели слева размешены кнопки переключения между открытыми приложениями, и кнопка вызова Dash, который в Unity играет роль главного меню среды.
Преимущества и недостатки, которые возникают из за таких различий следующие (на примере Unity):
- Благодаря объединению строк меню приложений, в глобальную строку меню на верхней панели, экономится примерно строка места по вертикали;
И ВСЕ! Дальше сплошные недостатки.
- Поскольку места на одной панели для всего теперь не хватает, пришлось вынести иконки переключения между запущенными приложениями на скрывающуюся панель слева, теперь переключения между окнами мышкой затруденнно;
- Глобальное меню работает не очень. Если открыть Gimp в многооконном режиме, и выделить например, окошко выбора цветов, не имеющее никакой строки меню, то прежде чем вновь удастся воспользоваться cтрокой меню Gimp, придется выделить его главное окно;
- Кнопки переключения между окнами имеют меньшую ширину, приходится тщательней целится в них мышкой.
- Кнопка главного меню среды по аналогии с предыдущим пунктом тоже не так доступна. В классическом режиме можно было просто резким движением руки отправить курсор в нижний левый угол вообще не целясь.
- Если окно открыто не на весь экран, то при работе с его строкой меню увеличивается пробег мышки, приходится мотать ей от верхнего края экрана назад к окну приложения.
Стоит отметить что эти минусы не так ощутимы при использовании горячих клавиш, а с ними в Unity все хорошо. Да и единственный плюс не малого стоит.
Вообще меня часто посещают мысли, что дизайнеры Unity — дуалбутчики. Только вторая система у них явно не винда. Нет, сказать что Unity целиком и полностью слизана с MacOs нельзя, но глобальная строка меню со всеми своими преимуществами и недостатками (+ оригинальными недостатками Unity) явно оттуда. А ведь помещение строки меню на верхнюю панель — не единственное возможное решение для экономии вертикального пространства.
Как видишь, на этим криво подправленном в гимпе скрине всего одна панель, любители могут сделать ее скрывающейся, и\или перенести в другой край экрана, и вот он PROFIT! (Для тех,
Такое решение сохраняет достоинства классического десктопа, и позволяет экономить еще больше места, при этом пробег мышки не увеличивается. Почему такое лежащее на поверхности решение не пришло в голову
UPD: Как мне подсказывают в google+, идея не нова, и похожее уже проскакивало на webupd8.