# Boolean object states

It is allowed to use the following keywords within the $If and $While conditional expression:

State | Description
--- | ---
detection of the current area of execution of the macro command
Shell | file panels
Viewer | internal viewer
Editor | internal editor
Dialog | dialog boxes
Search | quick file search
Disks | drive selection menu
MainMenu | main menu
Menu | other menus
Help | help system
Info | informational panel
QView | quick view panel
Tree | folder tree panel
FindFolder | folder search panel
UserMenu | user menu
Other | screen capturing mode
panel object states
APanel.Bof PPanel.Bof | true if the current panel item is the first
APanel.Eof PPanel.Eof | true if the current panel item is the last
APanel.Empty PPanel.Empty | true if the panel is empty
APanel.LFN PPanel.LFN | true if LFN (long file names) is enabled for the panel
APanel.Selected PPanel.Selected | true if there are any files or folders selected on the panel
APanel.Root PPanel.Root | true if the panel folder is root
APanel.Visible PPanel.Visible | true if the panel is visible
APanel.Plugin PPanel.Plugin | true if the panel is a plugin panel
APanel.Folder PPanel.Folder | true if the current element is a folder
APanel.Left PPanel.Left | true if the panel is a left panel
APanel.FilePanel PPanel.FilePanel | true if the panel is a file panel
command line object states
CmdLine.Bof | true if the cursor is at the beginning of the command line
CmdLine.Eof | true if the cursor is at the end of the command line
CmdLine.Empty | true if the command line is empty
CmdLine.Selected | true if there is a selected block of text within the command line
execution context dependent object states
Bof | beginning of file is reached in the editor, viewer; in QView/Info/Tree panels - beginning of file is reached in the viewing area, in other "panels" - cursor is at the beginning of the command line; in dialog input lines - cursor is at the beginning of the line; in lists/menus - cursor is set on the first item.
Eof | end of file is reached in the editor, viewer; in QView/Info/Tree panels - end of file is reached in the viewing area, in other "panels" - cursor is at the end of the command line; in dialog input lines - cursor is at the end of the line; in lists/menus - cursor is set on the last item.
Empty | in QView/Info/Tree panels - viewing area is empty, in other panels - command line is empty; dialog input line is empty; in viewer/editor - the file is empty; menu/list is empty.
Selected | a block is selected in dialog input lines, in the editor or viewer, in the viewing are of QView/Info/Tree panels, in other panels - a block is selected in the command line (current area is Shell)
IClip | true if FAR Manager is working with the internal clipboard (See '$IClip')
Windowed | true if FAR Manager is in the windowed mode
state of macro command parameters
DisableOutput | true if the screen output is disabled

### Notes

1. It is impossible to use macro-language elements while recording a macro in a usual way. Macro-language elements can be added to the sequence only by editing the registry manually or by using special applications or FAR plugins.