В Windows, если ты открываешь мышью контекстное меню, оно открывается по отпусканию кнопки, справа и внизу от текущего положения курсора. За очень редким исключением. Потому что контекстные меню открываются функцией API, у которой именно так заданы умолчания.
В Ubuntu, даже в пределах одной framework — GNOME — поведение отличается в зависимости от контекста.
- Меню верхней панели открывается по нажатию, так, что мышь оказывается на первом пункте, и отпускание кнопки ведёт к выполнению его.
- Меню нижней панели «подставляет» свой последний пункт.
- Меню элементов панели (launcher’ов, часов, индикатора языка ввода) — вываливается по нажатию, выравнивается верхним краем по нижнему краю панели (или нижним — по верхнему). При коротком нажатии открывается, при длинном — открывается и закрывается обратно.
- Меню заголовка окна вываливается по нажатию, при отпускании кнопки сразу меню остаётся висеть, при этом следующий клик в той же точке ведёт к выполнению первой команды. Так же ведут себя меню текстового редактора в gedit и pidgin и меню терминала.
- Меню Firefox’а открываются по отпусканию, справа и внизу. По клику в том же месте закрывается без выполнения какой-либо команды.
Эта шизофрения указывает на то, что в API никаких разумных умолчаний на этот счёт нет. Либо все разработчики считают себя умнее и выставляют неумолчательные значения.
А как с этим в KDE? А на Mac’е?