===========================
General User Interface
===========================
This article explains the basics of the OPNsense Graphical User Interface or GUI
for short.
----------
User Login
----------
Before we can take a look at the GUI options we need to login.
The default user is root and the password is opnsense.
.. image:: images/login.png
----------------------------
GUI Layout & Main Components
----------------------------
The GUI consists out of the following main components:
.. image:: images/gui_layout.png
:width: 100%
Logo & Link to Lobby
---------------------
Click on the OPNsense logo wherever you are in the interface and you will be
directed to the lobby and dashboard.
In the Lobby you can:
* Look at the dashboard with widgets
* View the 2-clause BSD license
* Change your password
* Logout
Menu Area
---------
The Menu area holds all the primary menus and submenus.
Here you can select what part of the system you want to watch or change.
You can see the layering on the menu. There are three levels:
#. Category level
#. Function level
#. Configuration level *(may not exist if the function is simple)*
In the following sample you see a screenshot of the Category **System**, with:
* Function: **Settings**
* Selected Configuration item: **General**
.. image:: images/submenu.png
Quick Navigation
----------------
A faster way to navigate trough the GUI is by using the quick navigation/search box
on the upper right corner of the screen. Either click on it or hit tab to select it.
The search field is a type-ahead field, meaning that it will guess what you are
looking for and fill up while typing. Hit Enter or click on an option to select
and navigate directly to the right page.
.. image:: images/quick-navigation.png
System Status
-------------
In the upper right corner of the screen is also a small indication of the system status.
In a normal situation this will be greyed out, but it will display a color if something is
wrong. You can click on it to review any of the pending messages, if any:
.. image:: images/gui_system_status.png
The colors indicate the severity of the issue. They are:
* Red. Indicates that an error has occured during system operation. Click it to go to the
relevant page. In most cases this will be the crash reporter, which you can use
to send us information about the crash.
.. image:: images/gui_system_status_error.png
* Yellow. Indicates a warning.
* Blue. Indicates an informational message.
* Grey. Everything is working as normal.
User & Local domain
-------------------
In the right corner just to the left of the system status you will see your
username and the full domain name the firewall is configured with
(to change firewall name, go to :menuselection:`System --> Setting --> General`).
Content Area
------------
The content area is used to display:
* Input forms
* Popup Forms
* Buttons
* General forms of data output graphical and text based
----------
Form View
----------
Let's take a look at how an advanced form may look like:
.. image:: images/proxy_form.png
Full Help
---------
Many forms are equipped with built-in help. In the upper right corner of the form
you can select to view all help messages at once. The toggle will color green when
enabled and show the help messages beneath the input items.
.. image:: images/help_msg.png
Advanced Mode
-------------
Some forms have hidden advanced features, to view them toggle the **advanced mode** in
the left corner of the form. Doing so will reveal all advanced options.
.. image:: images/advanced.png
Single Item Help
----------------
Show a single line help by pressing the **(i)** left of a form item.
Like this:
.. image:: images/info.png
Standard Tabs
-------------
A standard tab can be clicked upon to open the corresponding form.
A sample can be seen here:
.. image:: images/tab.png
Dropdown Tabs
-------------
A dropdown tab can be clicked upon to open the first menu item or you can click on
the arrow next to it to show all options, like so:
.. image:: images/dropdown_tab.png
------------------
Data grids
------------------
Many components within OPNsense use grid views to navigate through content, below is an example of a simple table view
supporting the most relevant actions.
.. image:: images/gui_grid.png
Fields
-------------------
.. raw:: html
The available fields vary between components, the icon can be used to select which fields should
be visible or hidden.
Filter and limit
-------------------
.. raw:: html
The top area of the grid contains a search input combined with a reload button and
a selection for the number of rows to show at once on a page. Often the search input will be instantly applied, but
in some cases a reload is needed if the action can't be processed fast enough.
You will find a Go to page action behind every record.
When you have filtered your list it will jump to the corresponding page and show
you all surrounding records.
Actions
-------------------
.. raw:: html
Different actions could be supported on a (set of) records: