# control.util:control_main()


Run main function of control GUI.


Usage

``` python
control.util:control_main(
    name,
    window_class,
    guidicts=None,
    extra_cmds=None,
    lockfile=True,
    package="matr1x",
    **kwargs,
)
```


Exists to avoid duplication in all control GUIs.


## Parameters


`name: str`  
Identifier string used as Window title and for the lock file.

`window_class: ControlWindow`  
Class derived from QMainWindow to be used to construct the GUI.

`guidicts: GuiDict, list or tuple of GuiDicts = None`  
GuiDict class(es) with the definition of the GUI.

`extra_cmds: dict = None`  
Dictionary with commands for the measurement interface. While most commands will be connected with the GuiDicts, those which do not fit there can be supplied here.

`lockfile: bool = ``True`  
Boolean flag to specify if a lockfile shall be created/checked to avoid multiple instances of the control GUI. Default is True.

`package: str = ``"matr1x"`  
Package name to identify the desktop file. Default is "matr1x".

`**kwargs: dict`  
Keyword arguments which are forwarded to the window_class constructor.
