URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 78403
[ Назад ]

Исходное сообщение
"В состав Qt принят код с реализацией глобального меню"

Отправлено opennews , 27-Июн-11 17:30 
В дерево исходных текстов находящейся в разработке ветки Qt 4.8 интегрированы (http://agateau.wordpress.com/2011/06/23/finally-its-in/) наработки проекта appmenu-qt (https://launchpad.net/appmenu-qt), развиваемого компанией Canonical одновременно с проектом appmenu-gtk (https://launchpad.net/appmenu-gtk). Включение appmenu-qt в состав Qt позволит задействовать в Qt-приложениях технологию глобального меню, при котором, по аналогии с Mac OS X,  меню программы переносится из локального окна на общую системную панель.


Appmenu-qt включает в себя плагин с реализацией меню и набор изменений кода библиотеки Qt, позволяющих обеспечить бесшовную поддержку взаимодействия с плагином стандартных приложений. Передача данных об элементах меню из Qt-приложений в плагин осуществляться через D-Bus, методом уже используемым в Ubuntu при реализации новой системы индикаторов.


Технология глобального меню реализована идентично для Qt и Gtk+, что позволяет поддерживать все типичные приложения GNOME ...

URL: http://agateau.wordpress.com/2011/06/23/finally-its-in/
Новость: http://www.opennet.me/opennews/art.shtml?num=31007


Содержание

Сообщения в этом обсуждении
"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 17:30 
Для планшеток в такое общем то нормально вполне, пожалуй.

"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 28-Июн-11 00:43 
Это отлично для любого окружения.
Ведь невозможно работать с меню нескольких окон одновременно, даже если они вместе на экране. Так зачем показывать несколько меню? Пустая трата места.

"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 28-Июн-11 02:07 
> Это отлично для любого окружения.
> Ведь невозможно работать с меню нескольких окон одновременно, даже если они вместе
> на экране. Так зачем показывать несколько меню? Пустая трата места.

активация окоше по наведению мыши. по пути до красивого нового меню ВНИЗАПНА! встретилось другое окно. опапуленьки — мне что, теперь выделывать мышью фигурные кренделя? или сдвигать то окно, меню которого мне надо, так, чтобы ничего на пути не встретилось?

нет, такой балет не радует.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Sergey722 , 28-Июн-11 16:25 
> нет, такой балет не радует.

Всё радует, если делать это как возможность, которую можно использовать или не использовать. Если будут заставлять с пистолетом у виска, тогда да - хреново.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Axel , 28-Июн-11 17:08 
> активация окоше по наведению мыши. по пути до красивого нового меню ВНИЗАПНА!
> встретилось другое окно. опапуленьки — мне что, теперь выделывать мышью фигурные
> кренделя? или сдвигать то окно, меню которого мне надо, так, чтобы
> ничего на пути не встретилось?

Ага, потому как на sloppy focus принятый на юниксовых десктопах это не расчитано, а расчитано на клики для перехода к другим окнам. Такое вот противоречие, а жаль, sloppy focus удобная штука.



"В состав Qt принят код с реализацией глобального меню"
Отправлено szh , 28-Июн-11 05:54 
> Так зачем показывать несколько меню? Пустая трата места.

Мышой возить по экрану из конца в конец за меню - вот уж где пустая трата времени. Оптимальность прорисовки приложений на заднем плане фигня по сравнению с этим.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 28-Июн-11 11:42 
Можно придумать хоткеи для активации 1-го, 2-го и т д пункта меню.
Если работать хоткеями, то действительно никакой разницы (ведь сначала нужно переключиться на нужное окно, а потом открыть меню), а если на экране 2 окна, то мышью попасть в нужное меню становится много сложнее.
Сабж может быть удобен если все равно нужна еще одна панелька вверху (напр с ярлыками). В эту панельку можно запихать меню и декоратор окна. Хотя, декоратор удобнее поместить в такс панель. В интерфейсе кед еще многого нехватает.

"В состав Qt принят код с реализацией глобального меню"
Отправлено анон , 27-Июн-11 17:40 
вы конечно меня извините, но это нифиг не нужная фиговина.
чтоб добраться до меню окна нужно делать 2 клика.

"В состав Qt принят код с реализацией глобального меню"
Отправлено anton7811 , 27-Июн-11 18:00 
Два клика только в случаеесли окно неактивно, что редко надо. А вообще вполне нормальная штука, давно пользуюсь, в большинстве приложений есть дополнительная строка с иконками основніх действий и в таком случае єто меню просто забирает место без надобности.

"В состав Qt принят код с реализацией глобального меню"
Отправлено анон , 27-Июн-11 19:18 
Согласен. почти все на хоткеях
меню и иногда заголовки спрятаны тоже по хоткеям так
как последнее время приложения стали жирноваты и требуют больше места)

"В состав Qt принят код с реализацией глобального меню"
Отправлено askh , 27-Июн-11 19:49 
У этой идеи есть существенный недостаток: на большом мониторе часто приходится тянуться через половину экрана вместо того, чтобы сделать небольшое движение мышью до края окна.

Глобальное меню удобно на небольших мониторах, где действительно нужно экономить рабочее пространство. Но на больших мониторах эффекта от такой экономии нет, а вот курсор таскать вверх-вниз приходится. Иногда доходит до абсурда — окно может быть в несколько раз меньше, чем путь от него до меню (а с учётом обратного перемещения курсора от меню к окну — умножаем ещё на два).

Впрочем, а почему собственно для маленького монитора и тачпада должен быть такой же способ работы с интерфейсом, как для большого монитора и мыши? Нас же например не удивляет, что у автомобиля и у мотоцикла руль имеет разную форму. Для одного размера удобней один интерфейс, для другого — другой. GNOME - для десктопов, Unity — для нетбуков. Собственно у меня так в результате и получилось, на нетбуке Unity прижился, а на десктопе я переключился с Unity на обычный GNOME, и почувствовал при этом громадное облегчение. Только попользовавшись Unity понимаешь, какое это счастье, когда кликаешь по значку приложения, и открывается НОВОЕ окно ;-) То есть когда действие, которое приходилось делать в два клика, наконец-то снова совершается в один клик.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Sinot , 27-Июн-11 20:40 
Полностью согласен.
Пользовался некоторое время MAC'ом, так из-за большого монитора я тысячу раз проклял эту систему. А вот на системах с маленьким экраном, думаю, отлично впишется.

"В состав Qt принят код с реализацией глобального меню"
Отправлено Avator , 27-Июн-11 22:05 
тоже согласен. Добавьте сюда еще вариант, когда у вас несколько мониторов, дюймов этак по 24.
Глобальное меню в этой ситуации безумно раздражает. Впрочем как и Юнити.

"В состав Qt принят код с реализацией глобального меню"
Отправлено Siberianlaika , 28-Июн-11 00:45 
Вся соль глобального меню в том что на него легче позиционироваться. Оно по сути "бесконечно" по высоте, потому как можно быстро и не задумываясь о скорости курсора двинуть мышку вверх экрана - точность требуется только для горизонтальных движений. Напротив в оконных меню надо следить, чтобы мышь не уехала ниже или выше на заголовок окна. Очень старая эргономическая фишка, которую просекли дизайнеры интерфейсов Apple.

"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 28-Июн-11 01:43 
особенно если над ним таскбар, например.

"В состав Qt принят код с реализацией глобального меню"
Отправлено qqq , 28-Июн-11 10:20 
> Очень старая эргономическая фишка, которую просекли дизайнеры интерфейсов Apple.

Дизайнеры интерфейсов Apple создавали такое меню на маленьких Mac с 9-10'' экранами, которые (компьютеры) были относительно медленными и экономия места на экране и времени на отрисовку меню была существенная. На современные Mac это перенесли только потому, что пользователи уже привыкли, типа традиция. В NeXTStep, например, меню тоже было не внутри окна приложения, а рядом, но было оно вертикальное и меню разных приложений в основном не перекрывались, хотя при потере окном фокуса меню скрывалось, на больших (по тем временам) экранах NeXT так было удобнее, но когда NeXTStep стал MacOS X меню перенесли снова наверх.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Axel , 28-Июн-11 17:05 
> времени на отрисовку меню была существенная. На современные Mac это перенесли
> только потому, что пользователи уже привыкли, типа традиция. В NeXTStep, например,
> меню тоже было не внутри окна приложения, а рядом, но было
> оно вертикальное и меню разных приложений в основном не перекрывались, хотя
> при потере окном фокуса меню скрывалось, на больших (по тем временам)
> экранах NeXT так было удобнее, но когда NeXTStep стал MacOS X
> меню перенесли снова наверх.

Да в Next были совсем другие решения по интерфейсу. И от размера экрана это решение не зависит, если конечно мышь не настроена так тормозно, что по одному движению нельзя переместить её с края на края экрана. По этому вопросу хорошо у Джоэля Спольски описано: http://russian.joelonsoftware.com/uibook/chapters/7.html


"В состав Qt принят код с реализацией глобального меню"
Отправлено denel , 29-Июн-11 02:35 
>> У этой идеи есть существенный недостаток: на большом мониторе часто приходится тянуться через половину экрана вместо того, чтобы сделать небольшое движение мышью до края окна.

Ну можно и тупо двинуть мышь вверх и она на уровне меню, далее просто выбираем что из меню нам нужно...

>> Глобальное меню удобно на небольших мониторах, где действительно нужно экономить рабочее пространство. Но на больших мониторах эффекта от такой экономии нет, а вот курсор таскать вверх-вниз приходится. Иногда доходит до абсурда — окно может быть в несколько раз меньше, чем путь от него до меню (а с учётом обратного перемещения курсора от меню к окну — умножаем ещё на два).

А иногда даже доходит до такого абсурда как в окне чата Kopete, окно чата может быть в несколько раз короче чем длина всего его меню, приходится расширять размер окна дабы влезло все меню... А с учетом раширения окна какого то там чата сколько места остается под нужные в данный момент приложения?

>> Впрочем, а почему собственно для маленького монитора и тачпада должен быть такой же способ работы с интерфейсом, как для большого монитора и мыши? Нас же например не удивляет, что у автомобиля и у мотоцикла руль имеет разную форму. Для одного размера удобней один интерфейс, для другого — другой. GNOME - для десктопов, Unity — для нетбуков. Собственно у меня так в результате и получилось, на нетбуке Unity прижился, а на десктопе я переключился с Unity на обычный GNOME, и почувствовал при этом громадное облегчение. Только попользовавшись Unity понимаешь, какое это счастье, когда кликаешь по значку приложения, и открывается НОВОЕ окно ;-) То есть когда действие, которое приходилось делать в два клика, наконец-то снова совершается в один клик.

Ну а это уже скорее действительно дело вкуса. Глобальное меню Apple поддерживает по день сегодняшний в купе общей политики - не нагромаждать пользовательский интерфейс до тошноты, что касается меню, действительно, меню - текст, а текст несет информационную нагрузку, если таких окон несколько то и в соответствующее колличество раз увеличена информационная нагрузка интерфейса рабочего пространства на пользователя. Я когда меню выпихнул в единую панель, приложения стали смотреться проще, приятнее, ну редко нужно меню то это, а постоянно тыкать  Control+M как предложили разработчики KDE - лишние действия.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 23:08 
> вы конечно меня извините, но это нифиг не нужная фиговина.

На планшетниках где сложно сделать "клик мышкой" и особенно разделить их на "левый" и "правый" - нормально вполне.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 18:07 
Apple засудит....

"В состав Qt принят код с реализацией глобального меню"
Отправлено pavlinux , 27-Июн-11 20:10 
хорошо бы.

"В состав Qt принят код с реализацией глобального меню"
Отправлено xoomer , 27-Июн-11 18:43 
¨Кроме стандартных программ KDE и GNOME поддержка глобального меню с недавних пор реализована и для таких популярных приложений, как LibreOffice (через плагин lo-menubar)...¨
ссылка ведет на Launchpad. А для Fedora такое есть?

"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 19:10 
Будет же в Qt 4.8

"В состав Qt принят код с реализацией глобального меню"
Отправлено Ононимчег , 27-Июн-11 19:11 
видимо Fedora (см. выше) воспринимается как нечто божественное

"В состав Qt принят код с реализацией глобального меню"
Отправлено xoomer , 27-Июн-11 20:51 
Я просто подразумевал Fedora с GNOME.
BTW, так эта фича для LO под QT разве только? Там же (в новости) написано и о GTK.

"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 21:47 
lo-menubar - расширение для libreoffice, оно независимо от qt и gtk.

"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 27-Июн-11 19:47 
> по аналогии с Mac OS X, меню программы переносится из локального окна на общую системную панель

вот до сих пор интересно: кто им наврал, что это удобно?


"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 27-Июн-11 19:54 
>вот до сих пор интересно: кто им наврал, что это удобно?

Не знаю. Но как обычно решили за всех.


"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 27-Июн-11 20:04 
>>вот до сих пор интересно: кто им наврал, что это удобно?
> Не знаю. Но как обычно решили за всех.

я полагаю, не настолько страшно: наверняка при отсутствии поддержки этой фичи со стороны DE (или при отключении оной) оно будет вести себя как нормальное меню. а если нет — тогда алес, конечно.


"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 27-Июн-11 21:30 
>оно будет вести себя как нормальное меню

Я тоже надеюсь. Вот только таскать с собой QtDbus явно не айс.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 20:10 
>обязательно, можно ли убрать, я так радовался что нету...

ну чего вы все, вы новость читали? это просто коммит поддержки меню приложения через dbus,
можно реализовать, например, путем добавления menu-плазмоида на панель. а можно и не добавлять. или добавить кнопку глобального меню аля фаерфокс в заголовок окна. а можно и не добавлять.

это же КДЕ, здесь нет прибитых гвоздями элементов интерфейса.
все, расходимся.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 20:30 
Джоэл Спольски описывал, чем это удобно. Проще всего поймать мышью на экране его углы и края, швырнув ее в соответствующем направлении, соответственно, чтобы попасть в такое меню, нужно производить прицельные движения только по горизонтали, но не по вертикали. Правда, лично я никакого облегчения не заметил и переключил на привычное локальное меню

"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 27-Июн-11 20:39 
> Джоэл Спольски описывал, чем это удобно. Проще всего поймать мышью на экране
> его углы и края, швырнув ее в соответствующем направлении

это в том случае, если сверху, например, нет таскбара. а снизу — панельки со всякими погремушками.


"В состав Qt принят код с реализацией глобального меню"
Отправлено cryo , 27-Июн-11 21:36 
>> по аналогии с Mac OS X, меню программы переносится из локального окна на общую системную панель
> вот до сих пор интересно: кто им наврал, что это удобно?

Уже больше пяти лет работаю 99% времени под MacOS-ю.
Общее меню было непривычно первые пару дней...
Теперь это меню настолько обычно и удобно, что доставляет мне только положительные эмоции.
Повторюсь, это - IMHO.


"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 28-Июн-11 01:54 
ну, я опять скажу: у меня сверху таскбар. поэтому глдавнй аргумент — «швырнул мышь вверх — и ты в меню» — не работает. более ничего там особо полезного нет. кроме того, надо перед использованием меню ещё и вспомнить, какое окно активно. а если стоит активация окна по наведению мыши, и по пути я встретил другое окно, не то, от которого меню хотел?

"В состав Qt принят код с реализацией глобального меню"
Отправлено askh , 27-Июн-11 22:03 
>> по аналогии с Mac OS X, меню программы переносится из локального окна на общую системную панель
> вот до сих пор интересно: кто им наврал, что это удобно?

Предлагаю конспирологическую версию: Mac OS X — часть хитроумного секретного плана Microsoft, ставящего целью завести развитие Linux в тупик, убедив его разработчиков повторить "удобнейшие" особенности Mac OS X... :-)


"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 23:09 
> Microsoft, ставящего целью завести развитие Linux в тупик, убедив его разработчиков
> повторить "удобнейшие" особенности Mac OS X... :-)

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


"В состав Qt принят код с реализацией глобального меню"
Отправлено Nxx , 28-Июн-11 04:57 
>> Microsoft, ставящего целью завести развитие Linux в тупик, убедив его разработчиков
>> повторить "удобнейшие" особенности Mac OS X... :-)
> И как и положено начинанию MS, план успешно зафэйлился, ифоны захватили мир,
> а вслед за ними пошли всякие андроиды. А MS тщетно пытается
> втюхивать мобильную винду теперь...

Виновт Баллмер, похеривший Win CE, которая была очень удачной.


"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 28-Июн-11 01:56 
да нет, не стоит искать конспирологию там, где можно всё объяснить простой глупостью.

"В состав Qt принят код с реализацией глобального меню"
Отправлено Nxx , 28-Июн-11 04:56 
> вот до сих пор интересно: кто им наврал, что это удобно?

У них другая логика:

1) Так сделано в Mac OS X

2) Mac OS X дороже винды

3) Эначит, это круто.


"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 28-Июн-11 05:03 
>> вот до сих пор интересно: кто им наврал, что это удобно?
> У них другая логика:
> 1) Так сделано в Mac OS X
> 2) Mac OS X дороже винды
> 3) Эначит, это круто.

и для макоси это действительно круто. потому что там чётко сказано, как пользователь должен работать с системой. ай, сколько у них кнопки maximize не было в десятке? «у васть есть выбор между чудесным чёрным чветом автомобиля и отличным чёрным цветом автомобиля!»


"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 20:08 
Вполне в духе каноникла, что кнопки слева на право перетаскивать, что меню из локального - глобальным делать.

"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 27-Июн-11 20:31 
Ага, а потом раздувать из этого сенсацию

"В состав Qt принят код с реализацией глобального меню"
Отправлено анонимус , 27-Июн-11 20:59 
>>меню программы переносится из локального окна на общую системную панель

пользовал ещё в KDE3, неудобно нифига. Чтобы использовать меню от окна нужно прыгать взглядом по всему экрану, я уж не говорю о том, что мышью придётся возюкать в два раза больше.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Lampus , 27-Июн-11 21:29 
За универсальность исполнения им плюс. Главное что появилась возможность, те кто хотят использовать - используют, кто не хотят - просто не включают эту фигню.
Сомневаюсь что мне глобальное меню будет полезно.

"В состав Qt принят код с реализацией глобального меню"
Отправлено Alatar , 27-Июн-11 22:52 
На самом деле, им просто надо было прежде чем релизить это дело подумать головой и добавить режим, когда локальное меню переносится в глобальное только для окон, распахнутых на весь экран, а для всех остальных остаётся на своём месте. ИМХО в таком виде оно имело бы смысл и было бы более-менее удобно. В том виде, в каком оно есть сейчас... Мне вот недавно понадобилось первый раз настроить Ekiga и так получилось, что настраивать надо было на свеже-уставновленной убунте - я с пол часа матерился и разобрался, где в этой екиге что настраивается только после того, как перезагрузился в другую ось, с нормальными меню, ибо при такой организации несколько мелких окошек каждое со своим меню создают кашу и путаницу. =)

"В состав Qt принят код с реализацией глобального меню"
Отправлено Шланг , 28-Июн-11 01:36 
>На самом деле, им просто надо было прежде чем релизить это дело подумать головой и добавить режим, когда локальное меню переносится в глобальное только для окон, распахнутых на весь экран, а для всех остальных остаётся на своём месте.

Как бы сделать инсепшн нашему космонавту на эту тему, а?


"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 28-Июн-11 02:00 
> подумать головой

некогда думать, трясти надо!


"В состав Qt принят код с реализацией глобального меню"
Отправлено KOL , 27-Июн-11 22:56 
Под Gnome Shell бы такую радость.

>вот до сих пор интересно: кто им наврал, что это удобно?

Это удобно.


"В состав Qt принят код с реализацией глобального меню"
Отправлено anonymous , 28-Июн-11 02:02 
> Под Gnome Shell бы такую радость.
>>вот до сих пор интересно: кто им наврал, что это удобно?
> Это удобно.

только если у юзера вид и способ работы такой, какой считают правильным разработчики.

но, в принципе, правильно: если позволить юзеру самому выбирать, что ему надо… эти юзеры *такого* понавыбирают. да и тестировать больше придётся. поэтому лучше всего побольше вещей заточить под Единственно Правильный Способ.


"В состав Qt принят код с реализацией глобального меню"
Отправлено KOL , 28-Июн-11 15:58 
> только если у юзера вид и способ работы такой, какой считают правильным
> разработчики.
> но, в принципе, правильно: если позволить юзеру самому выбирать, что ему надо…
> эти юзеры *такого* понавыбирают. да и тестировать больше придётся. поэтому лучше
> всего побольше вещей заточить под Единственно Правильный Способ.

Да никто не спорит с тем, что на вкус и цвет. Я работаю на довольно больших мониторах и мне удобно использовать глобальное меню, точно также, как удобно работать на 13' с ним же. Поэтому то, что разработчики предоставляют выбор использовать глобальное меню, либо не использовать, а не "глобального меню нет и не будет" - это очень хорошо. Это лицом к юзерам.


"В состав Qt принят код с реализацией глобального меню"
Отправлено Prof1983 , 28-Июн-11 04:38 
По моему меню из окна программы в глобальное нужно переносить только если окно развернуто на полный экран. При этом еще верхнюю полосу (в которой кнопки свертывания/развертывания/закрытия находятся) скрывать.

Такой подход будет экономить место на экранах с маленьким разрешением и не будет негатива при использовании на экранах с большим разрешением.

Лично у меня дома ноутбук с 1280x800, а на работе 24" разрешением 1600x1200. Так вот почти все программы, которые на маленьком мониторе разворачиваю на полный кран на большим мониторе приходится уменьшать в размерах.


"В состав Qt принят код с реализацией глобального меню"
Отправлено koblin , 28-Июн-11 10:45 
На самом деле странно, глобальное меню в мак ос, очень удобная фишка, только приятные впечатления, при это в убунте периодически раздражает.

"В состав Qt принят код с реализацией глобального меню"
Отправлено Аноним , 28-Июн-11 11:16 
Ребята, может кто в курсе, Apple случайно не запатентовали глобал меню?

"В состав Qt принят код с реализацией глобального меню"
Отправлено Alatar , 28-Июн-11 11:56 
Наверняка подали заявку, но возможно ещё не получили бумажку. Вон на мультитач они только в этом месяце патент получили, так что в ближайшее время начнут всех нагибать...