В ubuntu, да наверное и не только, наблюдается странное «развитие» GUI.
Написал в кавычках потому, что считаю это шагом назад.
Вот, например, глобальное меню...
Я не против самой концепции глобального меню «аля-Mac», я бы даже сказал что мне такая концепция нравится. Не нравится мне реализация. Нафейхоа надо было делать глобальное меню через d-bus?
Зачем надо было ограничивать разработчиков? Добавлять лишнюю сущность (dbus)? Придумывать протокол для этого (Интересно, как меню передается от приложения к панели? Мне кажется в xml-подобном виде.)?
Например в в Chromium появилась удобная фишка - кнопки для изменения масштаба, расположенные в меню. А с глобальным меню Unity так можно? Я сомневаюсь... Точнее можно, но для этого его надо допилить. Получается не стандартизация, а урезание возможностей.
А ведь меню приложений можно развивать в сторону увеличения функциональности. Кто сказал что в меню должны быть только обычные пункты? Почему в меню не могут быть ползунки для масштаба, поля ввода и другие элементы GUI (конечно если они там уместны)? Сколько лет назад придумали концепцию выпадающего меню? Только MS сделал что-то новое в этой области, может и не всегда удачно (не во всех приложениях), но хоть это хоть какое то движение. Кстати говоря, на opennet попадалась новость с концептом нового OpenOffice, в котором меню объединили с панелями инструментов (на вид лучше и удобнее чем ribbon). Вот и как такое сделать в Unity?
Можно было сделать гораздо проще, основываясь на окнах. Приложение создает окно со специальным атрибутом, например, WM_MAINMENU. Дальше есть 2 варианта: панель его захавывает через XEmbed; оконный менеджер помещает окно в нужном месте, т.е. над панелью. Окна-меню неактивных приложений скрываются, активных - показываются. Учитывая то что Unity реализована как плагин для Compiz второй вариант бы подошел. В таком случае строка меню - просто прозрачное (Gtk и Qt уже давно умеют прозрачность, доделать где ее нет - не сложнее чем переделать приложение для использование глобального меню через d-bus) окно с текстом, которое оконный менеджер размещает над панелью и придает ему нужный размер.
Такой вариант гораздо более гибкий чем пересылка текста через dbus. Конечно остается вопрос о едином стиле для меню приложений на разных тулкитах (Gtk,Qt). Но, какой смысл делать унифицированное меню, если сами приложения различаются, это во первых, а во вторых, существует куча стилей чтобы приложения на разных тулкитах выглядели одинаково.
[UPD] Выхлоп №2:
То же я могу сказать и про док. Самый простой и в тоже время гибкий вариант - приложение само рисует небольшое окно, которое оконный менеджер кладет на панель. Писал уже об этом на ЛОРе, найду тему - выложу ссылку.
Та же идея на Gnome-Look - http://gnome-look.org/content/show.php/AppBar?content=105590
Похожие темы
- Галерея Идилия (2013)
- Форум Панель задач, трей.... может быть чтото новое? (2009)
- Форум GNOME Shell. Как сделать меню в заголовке окна? И ещё немного вопросов... (2018)
- Форум Начинается эра D-BUS для построения GUI. Разве это хорошо? (2010)
- Галерея Мой ноутбук (2012)
- Форум [Что мне накодить?] Есть ответ - плагин для Compiz (2011)
- Галерея Возвращение Gnome2: Ubuntu Mate 14.04 и Compiz (2014)
- Новости Новый релиз десктоп-окружения MATE 1.14 (2016)
- Галерея Панель задач для Gnome (2009)
- Форум Новый форк Gnome -Budgie 5. (2014)