LINUX.ORG.RU

[ion3] Переключение фокуса после закрытия плавающего окна

 


0

1

Пользуюсь ion3 уже несколько лет, и, вообще говоря, эта «фича» порядком достала:
после закрытия диалогового окна фокус переносится на следующее floating окно, а не к родителю закрытого. Приходится тянуться к мыши.

Может можно как-нибудь починить? Настройки перекопал, исходники ниасилил.
Не спрашивайте, зачем мне больше одного плавающего окна одновременно - так надо.


Ответ на: комментарий от anonymous

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

arknir
()
Ответ на: комментарий от arknir

Насчёт геометрии - хорошо бы заставить плавающие окна открываться не в левом верхнем углу.

Такое окно что ни делай появляется сверху слева:

WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x41e6da
_NET_WM_STATE(ATOM) =
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                program specified minimum size: 1 by 1
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                Initial state is Normal State.
                window id # of group leader: 0x3200016
_NET_WM_NAME(UTF8_STRING) = 0x4e, 0x65, 0x77, 0x20, 0x44, 0x69, 0x66, 0x66
WM_NAME(STRING) = "New Diff"
WM_CLASS(STRING) = "newDiffPopup", "Toplevel"

А такое (видимо transient) - по центру:

_NET_WM_STATE(ATOM) =
WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x41e6da
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x6b, 0x0, 0x48, 0x0, 0x0, 0x0, 0x25, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0x9, 0x58, 0xa8, 0x5, 0x9, 0x0, 0x0, 0x67, 0x1, 0x0, 0x0, 0x87, 0x0, 0x11, 0x43, 0xc, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x6, 0x0, 0x61, 0x1, 0x18, 0x0, 0x37, 0x0
WM_TRANSIENT_FOR(WINDOW): window id # 0x320017e
_MOTIF_WM_MESSAGES(ATOM) = _MOTIF_WM_OFFSET
WM_PROTOCOLS(ATOM): protocols  _MOTIF_WM_MESSAGES, WM_DELETE_WINDOW
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x4, 0xffffffff, 0xffffffff, 0x0, 0x8249c66
WM_CLIENT_LEADER(WINDOW): window id # 0x3200016
WM_LOCALE_NAME(STRING) = "C"
WM_CLASS(STRING) = "findDialog_popup", "NEdit"
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                Initial state is Normal State.
                window id # of group leader: 0x320017e
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                program specified location: 834, 568
                program specified size: 359 by 135
                program specified maximum size: 2535 by 1535
                window gravity: NorthWest
WM_CLIENT_MACHINE(STRING) = "xeon02"
WM_NAME(STRING) = "Find"

mosfet
() автор топика
Ответ на: комментарий от mosfet

Это нормально. Я думаю добавить стандарнтый xsize+ysize+xoffset+yoffset и возможность центрировать некоторые окна по center = true, это иногда полезно.

arknir
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.