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

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

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

Post by zg » Sat 06 Sep, 2014 12:52

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

так же интересуют аргументы по аналогичной сортировке в списке окон по f12.

User avatar
HaRT
Moderator
Posts: 8022
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 99 times

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

Post by HaRT » Sat 06 Sep, 2014 14:09

zg wrote:интересуют аргументы по аналогичной сортировке в списке окон по f12.
Тут окна сортируются по номерам, а номера присваиваются в порядке создания, и к этому все привыкли чисто визуально, поэтому не хотелось бы, чтобы это сломали. А иметь возможность сортировать по другим признакам (z-index — это то же, что MRU, или нет?) было бы и впрямь удобно, но только по специальным клавишам, например, [b]CtrlF8[/b] (по аналогии с Last Access Time в панелях) и т.п.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
NightRoman
Posts: 5849
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 8 times
Been thanked: 8 times
Contact:

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

Post by NightRoman » Sat 06 Sep, 2014 14:55

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

Окна по F12. Лично я так и не привык к порядку окон в Фаре. Но иногда бывает полезно, и наверняка найдутся пользователи, которым так, как сейчас, лучше. Хорошо бы попробовать с какой-нибудь экпериментальной настройкой поведения.

User avatar
DrKnS
Posts: 4562
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 113 times
Contact:

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

Post by DrKnS » Sat 06 Sep, 2014 15:05

NightRoman wrote:Но затруднительно предвидеть нежелательные последствия, которые могут быть. Плагины, конечно, могут полагаться на сложившийся порядок окон, что-нибудь может отвалиться.
Сложившийся порядок как раз недавно уже поломали, вроде как ничего фатального не произошло.

User avatar
zg
zero-gravity
Posts: 5239
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

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

Post by zg » Sat 06 Sep, 2014 15:17

HaRT wrote:Тут окна сортируются по номерам, а номера присваиваются в порядке создания, и к этому все привыкли чисто визуально
что это даёт с практической точки зрения?
NightRoman wrote:В API сортировка по z-индексу, наверное, практичнее. Но затруднительно предвидеть нежелательные последствия, которые могут быть. Плагины, конечно, могут полагаться на сложившийся порядок окон, что-нибудь может отвалиться.
что именно?
DrKnS wrote:Сложившийся порядок как раз недавно уже поломали, вроде как ничего фатального не произошло.
WIF_MODAL когда ввели, тоже никто не жаловался.

User avatar
HaRT
Moderator
Posts: 8022
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 99 times

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

Post by HaRT » Sat 06 Sep, 2014 15:32

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

А что скажете про это?:
HaRT wrote:z-index — это то же, что MRU, или нет?
В смысле, как они соотносятся в смысле упорядочения?
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
NightRoman
Posts: 5849
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 8 times
Been thanked: 8 times
Contact:

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

Post by NightRoman » Sat 06 Sep, 2014 15:56

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

User avatar
zg
zero-gravity
Posts: 5239
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

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

Post by zg » Sat 06 Sep, 2014 16:00

HaRT wrote:А что скажете про это?:
HaRT wrote:z-index — это то же, что MRU, или нет?
В смысле, как они соотносятся в смысле упорядочения?
в общем случае это разные вещи, в контексте фара пока совпадают.

User avatar
John Doe
Бюрократ
Posts: 11095
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 66 times

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

Post by John Doe » Mon 08 Sep, 2014 11:04

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

Update
Хотя нет, номера для хоткеев ведь можно сохранить старые.

User avatar
John Doe
Бюрократ
Posts: 11095
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 66 times

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

Post by John Doe » Mon 08 Sep, 2014 12:33

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

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


Update: Хотя z-order это ведь не MRU, надо подумать...

User avatar
John Doe
Бюрократ
Posts: 11095
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 66 times

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

Post by John Doe » Mon 08 Sep, 2014 13:04

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

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

Оффтопиком: и если говорить о расширении АПИ, то можно было бы сделать Id окна уникальным (и однотипным), и добавить функцию, получающую информацию об окне по известному Id.

User avatar
John Doe
Бюрократ
Posts: 11095
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 66 times

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

Post by John Doe » Mon 03 Nov, 2014 09:42

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


Post Reply

Return to “Development”