Хитрость меню на Маке
Меню на Маке всегда живёт сверху (см. на любой картинке), а не в текущем окне. Это кажется странным многим виндоусникам: окно отдельно, а меню отдельно, как же так. Но на самом деле меню относится не к окну, а к текущему приложению. Как соотносятся окна и приложения на Маке — отдельная тема, на которую мне лень пока писать.
Дак вот, крутость расположения меню сверху проявляется не только во всем известном следствии закона Фиттса, заключающемся в том, что в него бесконечно проще попасть мышкой (мышка упирается в край экрана, не промахнёшься), но и в том, что оно позволяет делать окна намного более лёгкими и простыми на вид безо всякого ущерба для функциональности. Хитрость состоит в том, что все умные функции можно давать в меню, а в окне оставить только самое-самое важное.
Вот, например, в окне обновлятора есть всего лишь одна кнопка: Install 3 Items (ну, или сколько там айтемсов нужно обновить). А в меню можно выбрать Download only (например, если установка требует перезагрузки, а сейчас это некстати); там же можно настроить частоту проверки обновлений и другие мелочи.
Дак вот, крутость расположения меню сверху проявляется не только во всем известном следствии закона Фиттса, заключающемся в том, что в него бесконечно проще попасть мышкой (мышка упирается в край экрана, не промахнёшься), но и в том, что оно позволяет делать окна намного более лёгкими и простыми на вид безо всякого ущерба для функциональности. Хитрость состоит в том, что все умные функции можно давать в меню, а в окне оставить только самое-самое важное.
Вот, например, в окне обновлятора есть всего лишь одна кнопка: Install 3 Items (ну, или сколько там айтемсов нужно обновить). А в меню можно выбрать Download only (например, если установка требует перезагрузки, а сейчас это некстати); там же можно настроить частоту проверки обновлений и другие мелочи.
но есть один нюанс: меню в панели отображается только для текущего активного окна. т. е. если на рабочем столе несколько окон, отображается меню только одного окна. плюс я использую функцию «focuse on raise», т. е. у меня окно становится активным автоматически, когда курсор мыши находится в пределах окна (в Windows надо дополнительно щелкать на него). Представим ситуацию, когда окно развернуто не на весь экран. Тогда когда я мышью тянусь к меню, окно становится неактивным, и меню изменяется на меню совсем другой программы.
Впрочем, это теория, ибо еще не тестировал, как оно на практике работает.
Впрочем, я и в Гноме обычно это не включал, никто же не заставляет :-)
А можно ещё поднимать файлы из фонового окна и перетаскивать в текущее.
Некрутось расположения окна сверху проявляется в том, что неочевидна связь меню c окном, которое перед собой видишь. Из-за таких мелочей коэффициент WTF/min на Маке выше, чем на Windows.
Вот так окна на Маке и выглядят — как унитаз без ручки.)
Но вообще, считаю, что это просто два разных способа решения одной и той же задачи. Я бы не стал говорить, что какой-то один заведомо удобнее другого.
У них есть другие недостатки, не связанные с их расположением: чрезвычайная хрупкость, отсутствие подчёркнутых буковок для быстрой навигации.
http://themacsucks.com/2007/10/fitts-law-mac-os-x-windows-and-linux/
Если, например, я пытаюсь выделить текст в фоновом окне, то нужно сначала кликнуть по окну, отпустить кнопку, и только потом выделять.
Чтобы говорить о меню, вам стоит получить опыт работы в обеих ОС. У меня тоже не было проблем с попаданием в меню в Виндоусе, потому, что была привычка в него целиться. Мак эту привычку уничтожил очень быстро, поэтому сейчас мне попадать в виндовое меню намного сложнее.
Угу, зато в кнопку Закрыть бесконечно труднее.
http://ehiti.de/katmouse/
Все эти шоткаты теряют ценность, когда необходимо постоянно помнить о том, на каком языке у вас меню в текцщей программе, и какой язык ввода активирован в настоящий момент.
Очень туманно представляю себе софт, UI которого невозможно разработать без применения этих атавизмов. Видимо что-то монстроузное и мало понятное даже разработчикам.
Фактически свисающее меню — аналог переключателя «/?» в командной строке. Это кому-то необходимо в графическом интерфейсе?
Давайте проанализируем, для чего еще нужны меню. Они помогают разгрузить интерфейс, как уже было замечено. Трудно представить себе программу, которая бы обладала досаточной функциональностью и не требовала меню.
Что касается попыток микрософта от меню избавляться, то они похвальны, но результат все равно далек от идеала. Да, в локусе внимания пользователя остается меньше элементов, и это только те элементы, которые могут потребоваться при выполнении текущего действия. то лучше панели инструментов с десятками кнопок, но при этом теряется очень много экранного пространства, когда часто работаешь за не очень большими мониторами, это весьма раздражает. Меню компактнее.
Часто выполняемые действия так или иначе со временем будут использоваться по горячим клавишам, а вот редко выполняемые действия как нельзя лучше можно вызвать из меню, потому что выносить их на панель инструментов нецелесообразно, а комбинацию клавиш легко забыть.
Впрочем, и тут у майкрософта есть решение, реализованное в новых версиях виндовс — меню скрыты по умолчанию, и отображаются только по нажатию клавиши альт. Хотя такое поведение по умолчанию должно быть отключено, тем не менее это выглядит разумным компроиссом между сохранением доступа к любым возможным действиям и отказом от меню.
У меня когда-то была мышь от А4 и с ней был драйвер, который вызывал меню по средней кнопке (тогда она практчески не использовалась в приложениях) и фиксил скролл для любых окон. Потом у меня были другие мыши, но на них тоже можно было поставить этот драйвер. Потом почему-то я этот драйвер перестал ставить. С тех пор не удобно скроллить.
Драйвер Logitech SetPoint 4.70.213
[HKEY_CURRENT_USER\Control Panel\Mouse]
«ActiveWindowTracking»=dword:00000001