> For the complete documentation index, see [llms.txt](https://maui-project.gitbook.io/mauikit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://maui-project.gitbook.io/mauikit/documentation-1/controls/applicationwindow.md).

# ApplicationWindow

![](https://974100321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LL9eb19biXXu39t5eMI%2F-LMdOna92AiEESAMBvjD%2F-LMdOcmS93un-FPwALCm%2Fmauiapps.png?alt=media\&token=ffe7f718-a52e-47f3-999b-cdc160a8f240)

The Application window control is based off Kirigami.ApplicationWindow.

The Maui implementation follows the Maui HIG and suggests the use of toolbars. It is layout vertically and contains by default: a **HeadBar**, a **Content** area, a **FootBar** and a **GlobalDrawer**.

The **HeadBar** and **FootBar**, are both based on another Maui component: [Maui.ToolBar](/mauikit/documentation-1/controls/toolbar.md), so they inhere its properties.

The Content area itself is actually a [Maui.Page](/mauikit/documentation-1/controls/page.md) with a few and small property mods and a Kirigami.PageRow as default content item.

The **Content** area *content* can be any other QCC2 control, such a a SwipeView, StackView, etc…, but for default there is a [PageRow](https://api.kde.org/frameworks/kirigami/html/classorg_1_1kde_1_1kirigami_1_1PageRow.html) from Kirigami.

The **Content** area, as mentioned earlier can be any other control, although the Maui HIG suggests the following horizontal layouts, that can be achieve by making use of a SwipeView or Kirigami.PageRow.

## **Components**

![](https://974100321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LL9eb19biXXu39t5eMI%2F-LLFIq5XnhetSyVW4160%2F-LLFKSfOfBhJ0bpypN9D%2FApplicationWindow_Components.png?alt=media\&token=6a8cb7ec-9563-4d44-aff9-ef1b14eda9ac)

## Properties

### bool **altToolBars**

If set to **True**, the HeadBar will be moved to the bottom of the application window.

By default is set to *the* [*isMobile*](https://maui-project.gitbook.io/mauikit/~/edit/drafts/-LMdC_XEWQdcNMFtM_vq/documentation-1/controls/applicationwindow#bool-ismobile) property, so if the target is a mobile device the HeadBar will be moved to the bottom.

If set to **False**, then the HeadBar will stay at the top of the application window even on mobile devices.

![](https://974100321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LL9eb19biXXu39t5eMI%2F-LMdQZLKy7Jr157SMvkA%2F-LMdR71VQ0395cEKmPU8%2Fimage.png?alt=media\&token=79d37ee0-53e1-4645-9ee7-7f95c3dd41ad)

### **bool** floatingBar

If set to **True**, the FootBar will act as a floating bar, it will not occupy the full width of the application window, but instead use the minimum width required to place its children content. Also it will be colored by making use of the theming property *accentColor* and cast a shado&#x77;*.*

By default the floating bar does not overlaps the content area, to make it overlap the content the *footBarOverlap* property will have to be set to **True**

By default this property is set to the [*altToolBars*](/mauikit/documentation-1/controls/applicationwindow.md#bool-alttoolbars) property.

![](https://974100321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LL9eb19biXXu39t5eMI%2F-LMdQZLKy7Jr157SMvkA%2F-LMdQaxO834L_nEahF2G%2Fimage.png?alt=media\&token=3254f67e-86cf-4d94-8d73-c19c5f4d0e5c)

### **int** footBarAligment

By default it is set to **Qt.AlignCenter**, but can be set to any other alignment value. Changes will be only visible if the *floatingBar* property is set to **True**.

![](https://974100321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LL9eb19biXXu39t5eMI%2F-LMdP6MdmxrmaZQm1dPI%2F-LMdP8-jmprbvz9tC6bP%2Fimage.png?alt=media\&token=f9632c8e-e289-4ec2-96ae-a2729ea26232)

### **bool** footBarOverlap

If set to **True**, and also only if the *floatingBar* property is set to **True** too, the FootBar will act as a floating bar overlapping the content of the window.

When this property is set to **True**, the content will flick when scrolled down to show a reserved space for the FootBar in order to not overlap important content positioned at the bottom.

By default this property is set to **False**

![](https://974100321-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LL9eb19biXXu39t5eMI%2F-LMdQZLKy7Jr157SMvkA%2F-LMdPkjIWeUs-bejH4NB%2Fimage.png?alt=media\&token=e5a13f57-d35e-4797-9379-9300ed172af6)

### **int** footBarMargins

This property adds margins to the FootBar when it is set as a floating bar using the *floatinBar* property. It is useful when the FootBar needs to stand out.

## **Theming Properties**

This properties can be changed to alter the look of the application from the Maui Kit controls and to the application own controls.

By default the colours are picked up from the system colour palette.

**int** iconSize\
**color** borderColor\
**color** backgroundColor\
**color** textColor\
**color** highlightColor\
**color** highlightedTextColor\
**color** buttonBackgroundColor\
**color** viewBackgroundColor\
**color** altColor\
**color** altColorText\
**color** accentColor \
**color** bgColor

## **Read-only Properties**

### **bool** isMobile

Defines if the target device is a mobile device or not. By default it uses the property *Kirigami.Settings.isMobile*

### **bool** isAndroid

Defines if the operating system of the target device is Android or not.

### **int** unit

Defines an unit making use of point size rather than pixel size. It is useful when the target device does not support pixel units right, like Plasma Mobile right now. By default is uses the property Kirigami.Units.devicePixelRatio

### **int** rowHeight

Defines a standardized height for rows, such is in lists and menus. It is used on the templated controls inside the Maui Kit, and it is recommend it to be used in the application.

### **int** rowHeightAlt

Defines a standardized height for alternative rows, such is in sub-items in lists and menus. It is used on the templated controls inside the Maui Kit, and it is recommend it to be used in the application. It has a smaller height size than the *rowHeight* property.

### **int** toolBarHeight

Defines a standardized height for the toolbars. It is used on the templated controls inside the Maui Kit and for the Maui.ToolBar control, and it is recommend it to be used in the application where fitted.<br>

### **int** toolBarHeightAlt

Defines a standardized height for the alternative toolbars. It is used on the templated controls inside the Maui Kit and for toolbars inside the Maui.Page control, and it is recommend it to be used in the application where fitted.

### **int** contentMargins

Defines a standardized size for content margins in places like Page, Panes and other controls.

### **var** fontSizes

Defines a standardized set of sizes to be used to with fonts.

The possible values are: tiny, small, medium, default, big, large

### **var** space

Defines a standardized set of sizes to be used for spacing items and layouts.

The possible values are: tiny, small, medium, big, large, huge, enormus

### **var** iconSizes

Defines a standardized set of sizes to be used for icons and buttons.

The possible values are: tiny, small, medium, big, large, huge, enormus
