Pull to refresh

Альтернативный подход к оптимизации использования экранного места

Reading time 3 min
Views 3K
В новых линуксовых интерфейсах, таких как Gnome shell и Unity разработчики пытаются оптимизировать расход экранного места. В принципе у них это получается, (хотя некоторые пользователи негодуют) но мне кажется что можно было бы пойти дальше, и достичь лучших результатов меньшей кровью. Под катом тебя ждет анализ оптимизаций интерфейса на примере сравнения классического интерфейса (аля Windows\Gnome 2\Xfce\KDE) c Unity, а также концепт того, как я бы поработал в этом направлении.


Общие элементы:

В любом современном и не очень компьютерном интерфейсе присутствуют схожие по назначению элементы управления, без которых обойтись довольно сложно:
  • Кнопки переключения между открытыми приложениями;
  • Иконки работающих в фоне приложений (например трей);
  • Главное меню системы, из которого можно получить доступ ко всем установленным приложениям;
  • Заголовки окон, строки меню отдельных приложений, кнопки управления окнами.

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

Classic interface VS Unity

Piccy.info - Free Image Hosting

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



В Unity две панели. На верхней расположена глобальная строка меню, меняющаяся в зависимости от выбранного в данный момент окна, индикаторы работающих приложений. На скрывающейся панели слева размешены кнопки переключения между открытыми приложениями, и кнопка вызова Dash, который в Unity играет роль главного меню среды.

Преимущества и недостатки, которые возникают из за таких различий следующие (на примере Unity):
  • Благодаря объединению строк меню приложений, в глобальную строку меню на верхней панели, экономится примерно строка места по вертикали;

И ВСЕ! Дальше сплошные недостатки.
  • Поскольку места на одной панели для всего теперь не хватает, пришлось вынести иконки переключения между запущенными приложениями на скрывающуюся панель слева, теперь переключения между окнами мышкой затруденнно;
  • Глобальное меню работает не очень. Если открыть Gimp в многооконном режиме, и выделить например, окошко выбора цветов, не имеющее никакой строки меню, то прежде чем вновь удастся воспользоваться cтрокой меню Gimp, придется выделить его главное окно;
  • Кнопки переключения между окнами имеют меньшую ширину, приходится тщательней целится в них мышкой.
  • Кнопка главного меню среды по аналогии с предыдущим пунктом тоже не так доступна. В классическом режиме можно было просто резким движением руки отправить курсор в нижний левый угол вообще не целясь.
  • Если окно открыто не на весь экран, то при работе с его строкой меню увеличивается пробег мышки, приходится мотать ей от верхнего края экрана назад к окну приложения.

Стоит отметить что эти минусы не так ощутимы при использовании горячих клавиш, а с ними в Unity все хорошо. Да и единственный плюс не малого стоит.
Вообще меня часто посещают мысли, что дизайнеры Unity — дуалбутчики. Только вторая система у них явно не винда. Нет, сказать что Unity целиком и полностью слизана с MacOs нельзя, но глобальная строка меню со всеми своими преимуществами и недостатками (+ оригинальными недостатками Unity) явно оттуда. А ведь помещение строки меню на верхнюю панель — не единственное возможное решение для экономии вертикального пространства.



Как видишь, на этим криво подправленном в гимпе скрине всего одна панель, любители могут сделать ее скрывающейся, и\или перенести в другой край экрана, и вот он PROFIT! (Для тех, кто в танке у кого отключены картинки: я совместил строку заголовка окна с его же строкой меню). При этом название окна (если оно вообще нужно) будет отображаться на нижней панельке, или на своем привычном месте, а меню будет его замещать только при наведении туда курсора (по аналогии с работой верхней панели Unity). Окна таскать можно за оставшееся свободным от меню место заголовка, или за любое место при зажатом Alt.
Такое решение сохраняет достоинства классического десктопа, и позволяет экономить еще больше места, при этом пробег мышки не увеличивается. Почему такое лежащее на поверхности решение не пришло в голову зомбированных MacOs дизайнерам линуксовых DE, остается загадкой. Однако как мне кажется, используя наработки Unity по обеспечению работы глобального меню, реализовать такое будет не сложно если найдется разбирающийся в этом программист(ы). По сему пишу все это на Хабр и надеюсь что он прочтет эту статью. А глядишь и отметит меня в благодарностях нового плагина к Compiz.

UPD: Как мне подсказывают в google+, идея не нова, и похожее уже проскакивало на webupd8.
Tags:
Hubs:
+15
Comments 57
Comments Comments 57

Articles