WindowInfo
The WindowInfo structure contains information about one FAR Manager window.
A plugin can retrieve this information using the
ACTL_GETWINDOWINFO command.
struct WindowInfo{ int Pos; int Type; int Modified; int Current; char TypeName[64]; char Name[NM]; };
Elements
Pos
Zero-based number of the window to retrieve information for.
Pos = -1 will return information for the current window.
Type
Window type. Can be one of the following (the WINDOWINFO_TYPE enumeration):
Type | Description |
---|---|
WTYPE_PANELS | File panels. |
WTYPE_VIEWER | Internal viewer window. |
WTYPE_EDITOR | Internal editor window. |
WTYPE_DIALOG | Dialog. |
WTYPE_VMENU | Menu. |
WTYPE_HELP | Help window. |
Modified
Modification flag.
Can be set only if Type = WTYPE_EDITOR.
Current
Nonzero if the window is active.
TypeName
The name of the window type (Panels,View,Edit,Help,VMenu),
depends on the current language setting of Far.
Name
Window title. For WTYPE_VIEWER and
WTYPE_EDITOR windows this is a file name. For panels, the name of the currently selected file object.
For the help window - full path to the opened HLF file. For menu and dialogs - header.
Example
void GetFarWindowInfo() { WindowInfo WInfo; int CountWindow; int I; FILE *Fp; if((Fp=fopen("window.log","a+t")) == NULL) return ; // request window count CountWindow=(int)Info.AdvControl(Info.ModuleNumber,ACTL_GETWINDOWCOUNT,NULL); fprintf(Fp,"WindowCount=%i\n",CountWindow); for ( I=0; I < CountWindow; I++ ) { WInfo.Pos=I; // request window information Info.AdvControl(Info.ModuleNumber,ACTL_GETWINDOWINFO,(void*)&WInfo); // output it fprintf(Fp,"Window[%i], Type=%i (%s), File=[%s] Current=%i, Modified=%i\n", I,WInfo.Type,WInfo.TypeName,WInfo.Name, WInfo.Current,WInfo.Modified); } fclose(Fp); // set window number 1 (i.e. second) Info.AdvControl(Info.ModuleNumber,ACTL_SETCURRENTWINDOW,(void*)1); }
See also: