# 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:
structures | AdvControl | TWindowInfo