yurikhan: (Default)
[personal profile] yurikhan

В Windows, если ты открываешь мышью контекстное меню, оно открывается по отпусканию кнопки, справа и внизу от текущего положения курсора. За очень редким исключением. Потому что контекстные меню открываются функцией API, у которой именно так заданы умолчания.

В Ubuntu, даже в пределах одной framework — GNOME — поведение отличается в зависимости от контекста.

  • Меню верхней панели открывается по нажатию, так, что мышь оказывается на первом пункте, и отпускание кнопки ведёт к выполнению его.
  • Меню нижней панели «подставляет» свой последний пункт.
  • Меню элементов панели (launcher’ов, часов, индикатора языка ввода) — вываливается по нажатию, выравнивается верхним краем по нижнему краю панели (или нижним — по верхнему). При коротком нажатии открывается, при длинном — открывается и закрывается обратно.
  • Меню заголовка окна вываливается по нажатию, при отпускании кнопки сразу меню остаётся висеть, при этом следующий клик в той же точке ведёт к выполнению первой команды. Так же ведут себя меню текстового редактора в gedit и pidgin и меню терминала.
  • Меню Firefox’а открываются по отпусканию, справа и внизу. По клику в том же месте закрывается без выполнения какой-либо команды.

Эта шизофрения указывает на то, что в API никаких разумных умолчаний на этот счёт нет. Либо все разработчики считают себя умнее и выставляют неумолчательные значения.

А как с этим в KDE? А на Mac’е?

Date: 2008-02-05 06:08 (UTC)
From: [identity profile] mara-glad.livejournal.com
У меня Debian+KDE. Неосновательно пощёлкала сейчас по окнам/заголовкам/панелям, которые сейчас у меня открыты.
Делала следующее: щёлкала правой мышью коротко и длительно. Обращала внимание, в каком направлении от курсора открывается меню. Обращала внимание на то, что происходит при повторном клике во время открытого меню.
Наблюдала 3 типа поведения...
Во всех случаях меню открывается чуть правее и чуть ниже курсора. Исключение составляет случай, когда курсор находится близко к пределам окна, когда меню могло бы остаться за пределами экрана. В этом случае соответствующая ось корректируется.
Различия бывают следующие:
1. По второму клику в той же точке меню либо закрывается, либо нет. В большинстве случаев остаётся. (Закрывается, в частности, в Мозилле.)
2. Первый пункт меню при вызове либо подсвечивается, либо нет. В большинстве случаев нет. Там, где подсвечивается (это, кстати, GNOM-овое окно :) ), там тоже выполняется пункт (1). Без запуска подсвеченной команды.

Date: 2008-02-05 12:44 (UTC)
From: [identity profile] ajaxas.livejournal.com
Забавно. У меня кроме третьего пункта (а что здесь не так?) больше ничто не наблюдается - сейчас все перепробовал.
Пор последнее не понял вовсе, но открывается по нажатию, а не отпусканию.

Date: 2008-02-05 15:18 (UTC)
From: [identity profile] grundik.livejournal.com
В linux нет такого единого API, как в windows или mac os x.
Но вообще странно - у Gnome есть HIG, там что, это не прописано?

Profile

yurikhan: (Default)
Yuri Khan

August 2018

S M T W T F S
   1234
567891011
12131415161718
19202122232425
26 2728293031 

Links

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 2026-01-10 08:25
Powered by Dreamwidth Studios