# My XUI framework is now free and open source

**URL:** <https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160>\
**Category:** Extras\
**Created:** [April 1, 2023, 8:10am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160 "2023-04-01T08:10:55Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![GarryPettet](https://forum.xojo.com/user_avatar/forum.xojo.com/garrypettet/32/31_2.png) [@GarryPettet](https://forum.xojo.com/u/GarryPettet)\
**Post date:** [April 1, 2023, 8:10am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/1 "2023-04-01T08:10:55Z")

</div>

Hello everyone,

I’ve decided to completely open source my cross-platform XUI Desktop framework. Mostly this is due to a lack of sales but also because I am focussing on other languages at the moment and am not spending a great deal of time with Xojo.

You can find it over at [GitHub](https://github.com/gkjpettet/XUI).

## What is XUI?

XUI (pronounced Zoo-ee) is a collection of gorgeous cross-platform user interface (UI) controls and helper/utility modules for Xojo. Frustrated by the current choice of offerings of UI controls by other third parties and the specific lack of certain controls I set out to create something better.

It is 100% API 2.0 code and 100% Xojo code with no dependence on declares.

## What’s in the repo?

### Code Editor

 ![XUICodeEditor-Markdown-Demo-1](https://forum.xojo.com/uploads/default/original/2X/a/ae44b3a6cf96f7aaf435187b4cb4b062704b04aa.jpeg)

The XUICodeEditor is a highly customisable syntax editor that supports autocompletion. It’s polished and beautiful. It’s designed to handle code samples of around 500 - 1000 lines of code with high performance. It comes with support for Xojo, Markdown and Wren out of the box but writing your own formatters is easy to do. I have released open source code editors in the past but this is the fastest, most extensible one yet.

### Source List

 ![XUISourceList-Multiple](https://forum.xojo.com/uploads/default/original/2X/0/027f365a2da9ecac6f36b5e94e21a712b00a81d9.png)

15 years ago I released my first ever commercial control (FGSourceList) that was the goto source list control for developers for years. XUISourceList is its modern replacement and it is better in every conceivable way. It looks fantastic on macOS and Windows and is high performance.

### Tab Bar

 ![XUITabBar-Multiple](https://forum.xojo.com/uploads/default/original/2X/5/566b38831e5f507d243bdfaf0bb55ad436014922.png)

Finally, a good looking tab bar control for Xojo! It supports custom renderers so you can make it look like whatever you like. It comes with a macOS Safari and Windows Edge renderer out of the box but defining your own is simple.

### Tag Canvas

 ![XUITagCanvas-Multiple](https://forum.xojo.com/uploads/default/original/2X/2/23cc87e45899d0055446d681f9bb1ba8f6584593.png)

I’m particularly proud of this control. The tag canvas parses text into tags that are clickable and customisable. It also supports autocompletion. Play with the demo to get a feel for it.

### Color Swatches & Color Picker

 ![XUIColorSwatch-Multiple](https://forum.xojo.com/uploads/default/original/2X/b/be5ab2ab68a3d4071d9406c6a8422389b4c82d89.png)

 ![XUIColorPicker-Multiple](https://forum.xojo.com/uploads/default/original/2X/4/49ace9c8e568efb9bdd39fa51e10f543cf37014a.jpeg)

Yes I know Xojo provides access to the native OS color picker but I dislike the asynchronous nature of their implementation so I created my own. Supports real time colour selection, colour component selection and a beautiful hand selected palette of colours.

## Utilities & Helper Modules

Over the years I have released a lot of open source code. A lot of this is used internally by XUI and needs regular maintenance. In order to sustain development, a lot of my helper open source code has been pulled from GitHub and folded into XUI. A few of the modules are listed below:

### MarkdownKit

A 100% CommonMark-compliant Xojo parser that can convert Markdown to HTML in a single line of code. Provides access to the abstract syntax tree so you can render it how you please.

### String Extensions

Many helpful methods for working with Strings.

### XUIMaths

A foundation library for mathematical functions used throughout XUI.

## Documentation

The framework is [comprehensively documented](https://gkjpettet.github.io/XUI/) through a static site on GitHub Pages.

In fact, the documentation site was built from the IDE descriptions of the framework’s properties and header comments at the top of every method.

## How Do I Get It?

The code is on [GitHub](https://github.com/gkjpettet/XUI).

---

<div class="post-metadata">

**Author:** ![Arnaud\_N](https://forum.xojo.com/user_avatar/forum.xojo.com/arnaud_n/32/21824_2.png) [@Arnaud\_N](https://forum.xojo.com/u/Arnaud_N)\
**Post date:** [April 1, 2023, 8:55am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/2 "2023-04-01T08:55:46Z")

</div>

A big “thank you”!

---

<div class="post-metadata">

**Author:** ![Valdemar\_De\_SOUSA](https://forum.xojo.com/user_avatar/forum.xojo.com/valdemar_de_sousa/32/21374_2.png) [@Valdemar\_De\_SOUSA](https://forum.xojo.com/u/Valdemar_De_SOUSA)\
**Post date:** [April 1, 2023, 9:55am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/3 "2023-04-01T09:55:16Z")

</div>

❤ 🙏🏻

---

<div class="post-metadata">

**Author:** ![SteveP](https://forum.xojo.com/user_avatar/forum.xojo.com/stevep/32/6872_2.png) [@SteveP](https://forum.xojo.com/u/SteveP)\
**Post date:** [April 1, 2023, 9:57am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/4 "2023-04-01T09:57:57Z")

</div>

Many thanks Garry - a great contribution 🙂

---

<div class="post-metadata">

**Author:** ![Jacco\_Slok](https://forum.xojo.com/user_avatar/forum.xojo.com/jacco_slok/32/19675_2.png) [@Jacco\_Slok](https://forum.xojo.com/u/Jacco_Slok)\
**Post date:** [April 1, 2023, 11:34am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/5 "2023-04-01T11:34:47Z")

</div>

Thank you, very nice!

---

<div class="post-metadata">

**Author:** ![Sven\_O](https://forum.xojo.com/letter_avatar_proxy/v4/letter/s/77aa72/32.png) [@Sven\_O](https://forum.xojo.com/u/Sven_O)\
**Post date:** [April 7, 2023, 8:46am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/6 "2023-04-07T08:46:52Z")

</div>

Thank you very much. How do I reference this in the about dialog if I use parts from the XUI? Link to what?

---

<div class="post-metadata">

**Author:** ![GarryPettet](https://forum.xojo.com/user_avatar/forum.xojo.com/garrypettet/32/31_2.png) [@GarryPettet](https://forum.xojo.com/u/GarryPettet)\
**Post date:** [April 7, 2023, 9:32am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/7 "2023-04-07T09:32:33Z")

</div>

Probably best to link to my personal site. It’s always been there in one shape or another:

> **[garrypettet.com](https://garrypettet.com)**
>
> Things I find interesting

---

<div class="post-metadata">

**Author:** ![John\_McKernon](https://forum.xojo.com/user_avatar/forum.xojo.com/john_mckernon/32/183_2.png) [@John\_McKernon](https://forum.xojo.com/u/John_McKernon)\
**Post date:** [April 7, 2023, 3:05pm UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/8 "2023-04-07T15:05:26Z")

</div>

Wow! Very generous of you, thanks!

---

<div class="post-metadata">

**Author:** ![Sven\_O](https://forum.xojo.com/letter_avatar_proxy/v4/letter/s/77aa72/32.png) [@Sven\_O](https://forum.xojo.com/u/Sven_O)\
**Post date:** [April 8, 2023, 8:26am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/9 "2023-04-08T08:26:51Z")

</div>

> [@GarryPettet](#):
>
> Probably best to link to my personal site. It’s always been there in one shape or another:

Very good and thanks again.

---

<div class="post-metadata">

**Author:** ![Jean-Maurice\_Vandergoten](https://forum.xojo.com/letter_avatar_proxy/v4/letter/j/a9adbd/32.png) [@Jean-Maurice\_Vandergoten](https://forum.xojo.com/u/Jean-Maurice_Vandergoten)\
**Post date:** [April 10, 2023, 2:56pm UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/10 "2023-04-10T14:56:05Z")

</div>

Thank you !

Jean-Maurice

---

<div class="post-metadata">

**Author:** ![Sean\_Arney](https://forum.xojo.com/user_avatar/forum.xojo.com/sean_arney/32/5262_2.png) [@Sean\_Arney](https://forum.xojo.com/u/Sean_Arney)\
**Post date:** [April 20, 2023, 5:37pm UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/11 "2023-04-20T17:37:21Z")

</div>

Just awesome!

---

<div class="post-metadata">

**Author:** ![nektarios\_borbilas](https://forum.xojo.com/letter_avatar_proxy/v4/letter/n/f05b48/32.png) [@nektarios\_borbilas](https://forum.xojo.com/u/nektarios_borbilas)\
**Post date:** [April 20, 2023, 8:11pm UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/12 "2023-04-20T20:11:59Z")

</div>

On behalf of the Xojo community a BIG Thank you.!!!  
Small steps from you bigger steps for the community.!!!

---

<div class="post-metadata">

**Author:** ![Alexander\_van\_der\_Linden](https://forum.xojo.com/user_avatar/forum.xojo.com/alexander_van_der_linden/32/323_2.png) [@Alexander\_van\_der\_Linden](https://forum.xojo.com/u/Alexander_van_der_Linden)\
**Post date:** [July 28, 2025, 9:47am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/14 "2025-07-28T09:47:55Z")

</div>

Hi Garry,

downloaded your XUI demoproject and compiled it on 2025.1 but it throws a lot of errors unfortunately (531). I’d love to use the TabBar.

---

<div class="post-metadata">

**Author:** ![Sascha\_S](https://forum.xojo.com/user_avatar/forum.xojo.com/sascha_s/32/22328_2.png) [@Sascha\_S](https://forum.xojo.com/u/Sascha_S)\
**Post date:** [July 28, 2025, 9:54am UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/15 "2025-07-28T09:54:04Z")

</div>

Did you:

> Install the `TextInputCanvas` plugin into the Xojo plugins folder. This can be found in the `plugins` folder in your download.

---

<div class="post-metadata">

**Author:** ![Alexander\_van\_der\_Linden](https://forum.xojo.com/user_avatar/forum.xojo.com/alexander_van_der_linden/32/323_2.png) [@Alexander\_van\_der\_Linden](https://forum.xojo.com/u/Alexander_van_der_Linden)\
**Post date:** [July 28, 2025, 12:04pm UTC](https://forum.xojo.com/t/my-xui-framework-is-now-free-and-open-source/75160/16 "2025-07-28T12:04:50Z")

</div>

That did the trick. Thanks.
