Получить список окон и их идентификаторы?
Получить список окон и их идентификаторы?
Можно ли макросом получить список всех окон фара и узнать их ИД?
Получить список окон и их идентификаторы?
Code: Select all
local F = far.Flags
local function WindowsCount() return far.AdvControl (F.ACTL_GETWINDOWCOUNT) end
local function makeuid(Area,id,pos,name) return pos.." [Id="..id.."] "..Area.." `"..name.."`" end
local En = {
[F.WTYPE_PANELS]="Panels",[F.WTYPE_VIEWER]="View",[F.WTYPE_EDITOR]="Edit",
[F.WTYPE_DESKTOP]="Desktop",
}
local function getWindow(n) -- n = window's Pos [optional]
local w = assert(far.AdvControl (F.ACTL_GETWINDOWINFO,n))
w.uid = makeuid(w.TypeName,tostring(w.Id),tostring(w.Pos),w.Name)
return w
end
Macro
{
area="Common";
key="CtrlAlt`";
description="Test macro to show current windows of Far Manager";
action=function()
local title = "Windows list: "..tostring(WindowsCount())
local s = ""
local Pos
for i=1,WindowsCount() do --get window Pos by uid
local w = getWindow(i)
s = s..w.uid.."\n"
end
msgbox(title,s,8)
end;
}
Получить список окон и их идентификаторы?
Этот WindowInfo.Pos стал совсем бесполезен. Фар перемешавает окна в произвольном порядке, хотя F12 показывает их строго. Зачем?
Last edited by Maximus5 on Thu 04 Feb, 2016 15:56, edited 1 time in total.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Получить список окон и их идентификаторы?
это не так.Maximus5 wrote:Фар перемешавает окна в произвольном порядке
Получить список окон и их идентификаторы?
А в каком если не произвольном?
До выполнения команды «dir» порядок один, после - другой.
До выполнения команды «dir» порядок один, после - другой.
Получить список окон и их идентификаторы?
Еще по теме, старое: http://bugs.farmanager.com/view.php?id=2842
Сейчас поведение фара опять поменялось.
Сейчас поведение фара опять поменялось.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Получить список окон и их идентификаторы?
z-order.Maximus5 wrote:А в каком если не произвольном?
выполнение команды dir достаёт desktop вверх списка окон.Maximus5 wrote:До выполнения команды «dir» порядок один, после - другой.
Получить список окон и их идентификаторы?
Окно с наибольшим Pos "сверху"? То есть видимое?выполнение команды dir достаёт desktop вверх списка окон.
Ок, а смысл этого z-order для плагинов и макросов? F12 показывает совсем другие циферки в Screens.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Получить список окон и их идентификаторы?
да.Maximus5 wrote:Окно с наибольшим Pos "сверху"? То есть видимое?
например узнать, какой из редакторов был открыт до текущего. где-то был плагин на эту тему.Maximus5 wrote:Ок, а смысл этого z-order для плагинов и макросов?
я за то, чтобы показывать в f12 эти циферки, могу хоть сейчас сделать.Maximus5 wrote:F12 показывает совсем другие циферки в Screens.
Получить список окон и их идентификаторы?
В том-то и дело, что нет. Не «открыт» а «активирован». За время жизни окна оно прыгает по z-стеку, очевидно меняя свой Pos. Так что историю открытия фар наружу не отдает.какой из редакторов был открыт до текущего
Ладно, мне без разницы.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Получить список окон и их идентификаторы?
сорри, не так выразился, именно активирован.Maximus5 wrote:В том-то и дело, что нет. Не «открыт» а «активирован».