порядок окон, возвращаемых ACTL_GETWINDOWINFO

Разработка Far.
Post Reply
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by zg »

ACTL_GETWINDOWINFO возвращает список немодальных окон в порядке их создания и список модальных окон в соответствии с их z-index. до недавнего времени этот порядок был единственным, которым располагал сам фар. начиная с билда 4083 для любого окна известен как z-index, так и «время» создания.
в связи с этим текущий порядок выглядит нелогичным: часть окон отсортирована по времени создания, часть по z-index. на мой взгляд наиболее логично сортировать все окна по z-index. допускаю, что сортировка по времени создания имеет своих сторонников, поэтому хотелось бы услышать аргументы за такой вариант (кроме того, что так сложилось исторически).

так же интересуют аргументы по аналогичной сортировке в списке окон по f12.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Re: порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by HaRT »

zg wrote:интересуют аргументы по аналогичной сортировке в списке окон по f12.
Тут окна сортируются по номерам, а номера присваиваются в порядке создания, и к этому все привыкли чисто визуально, поэтому не хотелось бы, чтобы это сломали. А иметь возможность сортировать по другим признакам (z-index — это то же, что MRU, или нет?) было бы и впрямь удобно, но только по специальным клавишам, например, [b]CtrlF8[/b] (по аналогии с Last Access Time в панелях) и т.п.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by NightRoman »

В API сортировка по z-индексу, наверное, практичнее. Но затруднительно предвидеть нежелательные последствия, которые могут быть. Плагины, конечно, могут полагаться на сложившийся порядок окон, что-нибудь может отвалиться.

Окна по F12. Лично я так и не привык к порядку окон в Фаре. Но иногда бывает полезно, и наверняка найдутся пользователи, которым так, как сейчас, лучше. Хорошо бы попробовать с какой-нибудь экпериментальной настройкой поведения.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by DrKnS »

NightRoman wrote:Но затруднительно предвидеть нежелательные последствия, которые могут быть. Плагины, конечно, могут полагаться на сложившийся порядок окон, что-нибудь может отвалиться.
Сложившийся порядок как раз недавно уже поломали, вроде как ничего фатального не произошло.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by zg »

HaRT wrote:Тут окна сортируются по номерам, а номера присваиваются в порядке создания, и к этому все привыкли чисто визуально
что это даёт с практической точки зрения?
NightRoman wrote:В API сортировка по z-индексу, наверное, практичнее. Но затруднительно предвидеть нежелательные последствия, которые могут быть. Плагины, конечно, могут полагаться на сложившийся порядок окон, что-нибудь может отвалиться.
что именно?
DrKnS wrote:Сложившийся порядок как раз недавно уже поломали, вроде как ничего фатального не произошло.
WIF_MODAL когда ввели, тоже никто не жаловался.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Re: порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by HaRT »

zg wrote:
HaRT wrote:Тут окна сортируются по номерам, а номера присваиваются в порядке создания, и к этому все привыкли чисто визуально
что это даёт с практической точки зрения?
Пользователь, когда открывает список, уже примерно представляет, в какой его части искать нужное окно, что ускоряет переход.

А что скажете про это?:
HaRT wrote:z-index — это то же, что MRU, или нет?
В смысле, как они соотносятся в смысле упорядочения?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by NightRoman »

zg wrote:
NightRoman wrote:В API сортировка по z-индексу, наверное, практичнее. Но затруднительно предвидеть нежелательные последствия, которые могут быть. Плагины, конечно, могут полагаться на сложившийся порядок окон, что-нибудь может отвалиться.
что именно?
Узнаем, когда попробуем.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by zg »

HaRT wrote:А что скажете про это?:
HaRT wrote:z-index — это то же, что MRU, или нет?
В смысле, как они соотносятся в смысле упорядочения?
в общем случае это разные вещи, в контексте фара пока совпадают.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by John Doe »

так же интересуют аргументы по аналогичной сортировке в списке окон по f12.
Поломаются макросы, подобные AltScreens.lua

Update
Хотя нет, номера для хоткеев ведь можно сохранить старые.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by John Doe »

так же интересуют аргументы по аналогичной сортировке в списке окон по f12.
Тут ещё надо уточнить в каком порядке будут перебираться окна по CtrlTab.

В моём понимании эти вещи связаны, и должны соответствовать.
Полагаю, что сортировку действительно несложно сделать настраиваемой, как например предложил HaRT.


Update: Хотя z-order это ведь не MRU, надо подумать...
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by John Doe »

По поводу АПИ, если плагин не закладывался на номер окна панелей, то разница в нумерации ему не важна.

Впоследствии, если потребуется, то можно ведь завести ACTL_GETWINDOWINFOEX, чтобы использовать и z-index, и «время» создания.

Оффтопиком: и если говорить о расширении АПИ, то можно было бы сделать Id окна уникальным (и однотипным), и добавить функцию, получающую информацию об окне по известному Id.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

порядок окон, возвращаемых ACTL_GETWINDOWINFO

Post by John Doe »

John Doe wrote:если плагин не закладывался на номер окна панелей, то разница в нумерации ему не важна.
Однако в некоторых случаях оказалась важна: после 4138 плагин больше не может выяснить номер окна, отображаемый в меню Экраны.
Использовалось в RecentScreens (и вроде бы в Conemu).
Post Reply

Return to “Development”