
Around for long time
We have been here, supplying thousands of customers with addons for Xojo and its predecessors since 1997.
Usable demos
No compiled only demo version where you cannot develop and try them out in your own solution.
You can use all our demo versions to test and develop your product for as long as you like before deciding on purchase.
We love Raspberry Pi
Since we love Raspberry PI and electronics, then we have opened zone with step by step Wiring PI and sensor guides that are oriented for Xojo developement on Raspberry PI. All the guides are free of charge for everyone.
Click here to go to Einhugur wiring and sensor guides for Rapsberry PI
Einhugur macOS Bridge is a plugin to make it
easier to use some macOS Native objects and interface with
them using Xojo objects, Einhugur Plugin objects such as
RawBitmap, declares and 3rd party plugins.
The macOS native objects have been simplified and adapted to
make using them from Xojo very easy.
For Example then macOS file Icon for any file or file type
can be obtained in just one line of code, and can then be either
drawn in one line into Xojo Graphics or converted to Xojo
picture object in one line of code.

The macOS Bridge plugin can help you set up Touch-bar support in your applications.

(Touch bar in the picture above shown in Touch Bar simulator)

Alert with destructivr action on macOS Big Sur.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- iOS (Some of the classes only)
New in 3.0
- Added HasDestructiveAction property to NSButton class.
- Added Title property to NSButton class.
- Restructured internal segments and namespaces of the plugin.
- Refactured namespaces on some classes, to restructure the plugin in more logical way (See the included migration notices).
- Added NSColor class.
- Added NSView class.
- NSControl now inherits from NSView instead of NSObject.
- Added NSAlert class.
- NSColorList now deals with NSColor instead of Color.
- Changed the ColorPickerActionDelegate to use NSColor instead of Color.
- Added 5 new example projects.
- iOS Simulator target is now Universal binary.
TypeLib is Xojo plugin to define some type and
support other Einhugur Plugins.
The TypeLib also
defines RawBitmap and RawBitmapMask classes that can be used to
interact with 3rd party plugins and libraries as well as to
avoid inaccuracy of pre-multiplied alpha channels in image
processing.
The plugin also defines the EinhugurRuntime.Task framework for native threading and async processing of big tasks.
The EinhugurRuntime.Task will take pre-made big tasks and run them as native threads. Other Einhugur Plugins are already implementing functions to support this.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 11.0.4
- iOS Simulator target is now Universal binary.
The Color Management Plugin for Xojo is to manage ICC
Color profiles on RawBitmap objects. The plugin can get info
about the ICC profiles, load and apply different ones or convert
images between different RGB and CMYK based profiles as well as
convert single color between RGB and CMYK based on Color
profiles. The plugin can handle images with 8bits per channel or
16bits per channel and can also be used to convert between them.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 2.5:
- Added ConvertToColorProfileTask methods (2 variants) for Async support.
- Updated the LittleCMS library under the hood.
- Retargeted iOS build to set same minimum version as Xojo sets (iOS 11 instead of iOS 13).
A Xojo plugin to connect to to DuckDB Databases.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 1.0:
- This is the first official version, we had some versions before though
- Completed the documentation.
- Completed example projects.
- Compiled for DuckDB 0.2.5.
Time Control plugin for Xojo.
The Control is displayed according to control panel time settings, or in exclusive 24 hour mode. The control uses Native Windows control on Windows systems and native Theme Rendering on MacOS X and Linux systems.
Time control shown on macOS Mojave in dark mode.
Time control shown on Mac OS X El Capitan, Ubuntu
Linux, Raspberry PI and Windows system.
(The language locale is not shown with same settings on all
of the pictures)
.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 7.6:
- Improved Windows HIDPI support.
- Fixed problem where drawing could get incorrect on Big Sur.
GraphicsFormats is a Xojo plugin to import and
export pictures.
The plugin currently supports
PNG, Jpeg, HDR, ICO, TIFF, GIF* and Tga file formats.
*(Gif support is currently read only)
All formats have the following features:
- Importing from a file.
- Importing from a string.
- Exporting to a file.
- Exporting to a string.
- Import and export to RGB color space.
The following features are unique to the PNG format:
- Importing with Alpha channels for all import types (file,string,stream).
- Exporting with Alpha channels for all export types (file,string,stream).
- Querying meta data.
- Preserving ICC Color Profiles.
- 8 bit per channel read and write (RGB, Gray, RGBA, Gray-A).
- 16 bit per channel read and write. (and the full precision is preserved) (RGB, Gray, RGBA, Gray-A)
The following features are unique to the Jpeg format:
- Setting Quality.
- Setting Baseline parameter.
- Setting Progressive parameter.
- Setting Smoothing factor.
- Import and export horizonatal and vertical resolution values.
- Import and export without using Xojo Picture Object.
- Preserving ICC Color Profiles.
- Importing and exporting CMYK color space.
- 8 bit per channel read and write (RGB, CMYK).
The following features are unique to the TIFF format:
- Importing with Alpha channels (file,string).
- Exporting with Alpha channels (file,string).
- Multiple images within one TIFF file (import and export).
- Preserving ICC Color Profiles.
- 8 bit per channel read and write (RGB, Gray, RGB-A, Gray-A, CMYK, CMYK-A).
- 16 bit per channel read and write. (and the full precision is preserved) (RGB, Gray, RGB-A, Gray-A, CMYK, CMYK-A).
- RGBf (float) read and write.
The following features are unique to the Tga format:
- Importing with Alpha channels for all import types (file,string).
- Exporting with Alpha channels for all export types (file,string).
- 8 bit per channel read and write (RGB, Gray, RGB-A, Gray-A).
- Optional RLE compression.
The following features are unique to the HDR format:
- RGBf (float) read and write.
- 16 bit per channel read and write.
The following features are unique to the ICO format:
- Importing with Alpha channels for all import types (file,string).
- Exporting with Alpha channels for all export types (file,string).
- Multiple images within one ICO file (import and export).
- Preserving ICC Color Profiles. (When ICO segment was PNG based)
The following features are unique to the WebP format:
- Importing with Alpha channels for all import types (file,string).
- Exporting with Alpha channels for all export types (file,string).
- Lossless format.
- Lossy format
- Setting quality when using lossy format
- RGB and gray color spaces
The following features are unique to the BMP format:
- Importing with Alpha channels for all import types (file,string).
- Exporting with Alpha channels for all export types (file,string).
- RGB and gray color spaces.
- Lossy format.
- Import various of bit depths.
- Import images with color palettes.
The following features are unique to the GIF format:
- Importing of still GIF images (including transparent ones) (file,string).
- Importing of animated GIF images (including transparent ones) (file,string)..
- Reading the comments from the GIF comment extension.
GraphicsFormats supports macOS Intel, macOS Apple Silicon, Windows and Linux systems.
New in 8.2.2
- Fixed bug in JPEGExporter progress handler where use of progress handler would make it generate invalid output image.
- Changed Progress handler in JPEGExporter class to use the new style Delegate progress handlers.
- Changed Progress handler in JPEGImporter class to use the new style Delegate progress handlers.
- Added Aborted property to JPEGExporter class.
- Added Aborted property to JPEGImporter class.
DateControl is to create a date
selection control on Xojo desktop applications.
The Control format is displayed according to control panel date settings.
DateControl shown macOS Mojave in drop down and dark
mode
DateControl shown MacOS X El Capitan (top), Ubuntu
Linux (2nd from top), Raspberry PI (3rd from top),
Windows 10 native mode, (top right), Windows 7 native
mode (bottom right) and
OS X El Capitan in drop down mode on bottom left.
DateControl in drop down mode with NULL dates turned on shown on Ubuntu and Raspberry PI systems.
DateControl in custom drop down mode on Windows system.
The control supports "NULL" dates or what some would call no selection.
The control supports Min and Max date.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 9.2:
- Fixed problem where drawing could get incorrect on Big Sur.
A Xojo plugin to access some file
related functions such as for example Destop Comments,
Finder Labels, and MacOS X/Unix file Permissions and
optaining location of special folders.
New in 7.0:
- Added Apple Silicon support.
- Fixed problem where FolderItemInfo.SetTagName would not set last item.
A custom button plugin control for Xojo.
-
A plugin to create Custom rendered coloured buttons for all desktop platforms.
Supports:
- Plain button
- Split button
- Menu button
- Sticky button
- Toggle button
- macOS Dark Mode customisation
- macOS High contrast mode customisation.
- Common Apple accessibility features for button widget.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 1.1:
- Fixed problem where the CustomButtonStyleSet class was incorrectly marked as Console safe causing issues when building unrelated Console builds in Xojo.
- Added ArcSize property to the
PictureButton plugin for Xojo.
- Do you want to have your application looking good and not out of place on all platforms ? The PictureButton gives you native look and feel on all platforms.
- Do you want full keyboard access when turned on on Mac to actually work?
- Supports menus and submenus.
- Menus can have images on the menu items.
- Works properly with alpha images on all platforms.
- Disabled state properly fades the images.
- Supports retina high resolution mode on all platforms.
- Supports dark mode on macOS Mojave.
- Common Apple accessibility features for button widget.

![]() Einhugur Picture button shown on MacOS
X El Capitan, Windows XP, |
![]() Xojo bevel button shown on MacOS X El
Capitan, Windows XP, (Note, that the BevelButton does look a bit better than shown above in some newer Xojo versions we will update this image soon). We urge users to try both and see what works best for them for each case. |
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 5.1:
- Added Common Apple accessibility features for button widget.
- Added AccessibilityLabel property to support the new accessibility features.
- Removed obsolete HighResIcon property. (This one was used before Xojo had Image sets)
- Removed obsolete DisabledHighResIcon property. (This one was used before Xojo had Image sets)
ENet plugin is a Xojo plugin that
adds ENet sockets to Xojo.
ENet's purpose is to provide a relatively thin, simple and robust network communication layer on top of UDP (User Datagram Protocol). The primary feature it provides is optional reliable, in-order delivery of packets. ENet is used a lot in gaming. See more about ENet at http://enet.bespin.org/.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 2.0:
- Added Apple Silicon support.
- Added iOS support.
- Updated ENet libraries to 1.3.17.
e-CryptIt Engine for Xojo is one of our primary
product, no other plugin has gotten as much time from
Einhugur Software as the e-CryptIt Engine. We have made
every effort to make it as fast and compact as possible, by
optimizing critical parts and so on. We hope that our
efforts will be proven to be successful by delivering to you
highest possible performance.
e-CryptIt Engine 14.2.2 features: |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
Encryption: | ||||||||
e-CryptIt - (Chained) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Blowfish ECB unchained
mode (64 bit blocks - up to 448 bit key) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Blowfish CBC chained mode (64 bit blocks - up to 448 bit key) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Twofish ECB unchained
mode (128 bit blocks - 128,192 and 256 bit keys) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Twofish CBC chained mode (128 bit blocks - 128,192 and 256 bit keys) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Twofish CFB1 chained mode (128 bit blocks - 128,192 and 256 bit keys) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
AES ECB unchained mode (128 bit blocks - 128,192 and 256 bit keys) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
AES CBC chained mode (128 bit blocks - 128,192 and 256 bit keys) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Serpent ECB unchained
mode (128 bit blocks - up to 256 bit keys) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Serpent CBC chained mode (128 bit blocks - up to 256 bit keys) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Encoding/Decoding: | ||||||||
e-CryptIt Flexible |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Base64 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Base64 for MIME |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
BinHex |
X
|
X
|
X
|
|||||
BinHexEncoderStream |
X
|
X
|
X
|
|||||
MacBinary III |
X
|
|||||||
MacBinary III Stream |
X
|
X
|
X
|
X
|
X
|
|||
AppleSingle / Double |
X
|
|||||||
AppleSingleEncoderStream |
X
|
|||||||
AppleSingleDecoderStream |
X
|
|||||||
UUCoding |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
YEncDecoder |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
YEncEncoder |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Compression: | ||||||||
Zip on strings |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Zip on filestreams (.gz format) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Zip archives (.zip format) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
LZMA compression (.lmza format) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
LZMA2 compression |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Checksums: | ||||||||
CRC1 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
CRC3 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
CRC8 (10 variations + custom) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
CRC16 (21 variations + custom) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
CRC32 (9 variations + custom) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
CRC64 (4 variations) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Adler32 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Hashing: | ||||||||
MD5 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
SHA |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
SHA1 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
SHA_256 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
SHA_384 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
SHA_512 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
SHA3 (224, 256, 384 ,512) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
RIPEMD_128 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
RIPEMD_160 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
RIPEMD_256 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
RIPEMD_320 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
Keyed-Hashing: | ||||||||
HMAC-MD5 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
HMAC-SHA1 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
HMAC-SHA_256 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
HMAC-SHA_384 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
HMAC-SHA_512 |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
|
HMAC-SHA3 (224, 256, 384, 512) |
X
|
X
|
X
|
X
|
X
|
X
|
X
|
Note: None of the above will let you install zlib or any aditional libraries on your computer.
New in 14.2.2
- Retargeted iOS build to set same minimum version as Xojo sets (iOS 11 instead of iOS 13).
JSON plugin II is a Xojo plugin that
adds parsing of JSON messages as well as ability to create
them.
This plugin can create JSON from complex variant and dictionary structures. The plugin offers modern interfaces and high compatibility to the strictest standards.
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language. See more at http://www.json.org.
For those who are using the older and less modern JSON plugin from us then we will continue to support that plugin. Though there are limitations in that engine which of course prevent us to bring it to same level as this plugin.
Supported on:
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 1.5.2:
- Retargeted iOS Min version from 13 to 11.
- Fixed incorrect Code sign on macOS 32 bit systems.
A Lua Script plugin for Xojo
A Lua script interpreter that you can plug into your application to use to give your users ability to script your applications.
- Xojo built application can run the Lua script as whole or call separate functions within the Lua script.
- Lua scripts can call Xojo functions that you register to be visible to Lua scripts.
- Xojo built application can read and write global variables from a Lua script.
- Its easy to make functions to allow Lua script to manipulate your Xojo objects.
- You can create Lua classes from Xojo code.
.
Lua is a powerful, fast,
lightweight, embeddable scripting language
On Linux and Mac OS X it takes little over 200 kb when compiled
into your application. On Windows it takes little over 300 kb.
Lua is proven and robust
language
Lua has been used in many industrial applications, with an
emphasis on embedded systems (e.g., the Ginga middleware for
digital TV in Brazil) and games (e.g., World of Warcraft). Lua
is currently the leading scripting language in games. Lua has a
solid reference manual and there are several books about it.
Several versions of Lua have been released and used in real
applications since its creation in 1993. Lua featured in HOPL
III, the Third ACM SIGPLAN History of Programming Languages
Conference, in June 2007.
Lua is fast
Lua has a deserved reputation for performance. To claim to be
"as fast as Lua" is an aspiration of other scripting
languages. Several benchmarks show Lua as the fastest language
in the realm of interpreted scripting languages. Lua is fast not
only in fine-tuned benchmark programs, but in real life too. A
substantial fraction of large applications have been written in
Lua.
The Lua script engine Lua is designed, implemented, and maintained by a team at PUC-Rio, the Pontifical Catholic University of Rio de Janeiro in Brazil. Lua was born and raised in Tecgraf, the Computer Graphics Technology Group of PUC-Rio, and is now housed at Lablua. Both Tecgraf and Lablua are laboratories of the Department of Computer Science of PUC-Rio.
See more at www.lua.org and by all means support their project by buying a book from their site.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 2.0:
- Added Apple Silicon support.
- Added iOS support.
- Upgraded Lua engine to version 5.4.2.
Specialized layout management plugin control for Xojo
The FlowLayout plugin helps you create a user interface design where horizontal layout of the controls is sensitive for localization as well as platform differences.
Example where you design your user interface like this:
When we localize this to for example Icelandic then normally the result would be something like this:
Notice how there was not enough space for the translation of Zip.
When using the flow layout the user interface would adjust to look like this:
Another example:
When localized this design would normally go like this:
But if using the flow layout the user interface adjusts like this:
In same way the FlowLayout can help you ease the pain of platform
differences when dealing with user interface that is sensitive
to horizontal space. For example the space the text would have
taken on Linux systems almost certainly would not be the same,
but the FlowLayout handles that.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 3.0:
- Added Apple Silicon support.
- Cleaned up all Carbon dependencies.
SQLite Plugin for Xojo differring
from the build in Xojo implementation:
* When using the database in encrypted mode then the
encryption scheme uses:
Cipher ChaCha20
Authentication Poly1305
Key derivation PBKDF2 - HMAC - SHA256
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 1.5:
- Added Apple Silicon support.
- Added iOS support.
- Updated to newer Sqleet libraries.
Xojo Calendar plugin control.
CalendarControl shown on macOS Mojave Dark Light Mode, macOS Mojve Dark mode, Windows 10 Ubuntu Linux.
CalendarControl shown on Ubuntu 16 in Hi-DPI mode 1x, 2x and
3x.
The Control Plugin also comes with a
highly optimized Date dictionary that can be used with or without
the control.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 8.6:
- Fixed issue where the macOS Intel segments were incorrectly FAT binaries.
- Changed the frame color mechanism on macOS system, making it support high contrast mode when the user has high contrast mode enabled in the system.
A Python Script plugin for Xojo
(This Xojo plugin is to use against Python 3.4.x, Python 3.5.x, Python 3.6.x, Python 3.7.x, Python 3.8.x and Python 3.9.x, use our other Python plugin if wanting to connect to Python 2.7.x)
A plugin to make your applications scriptable by Python.
- Xojo built application can run the Python module functions and or classes.
- Python scripts can call Xojo functions that you register to be visible to Python scripts.
- New classes can be registered from Xojo that Python will see.
- Handles many kind of return types and parameters, including multiple return values and key-ed multiple return values.
- Xojo built application can read and write variables from Python modules and classes.
- Its easy to make functions to allow Python script to manipulate your Xojo objects.
- Python console output can be re-directed to your own class which can write it out in any way you want.
- The plugin can give feedback on existance of Python gracefully.
- The plugin can load Python from alternate paths, such as for example to load Anaconda Python.
Python is powerful... and fast;
plays well with others;
runs everywhere;
is friendly & easy to learn;
is Open.
See more about Python at https://www.python.org
The Python engine is Copyright © 2001-2021 Python Software , the Einhugur Python3Script plugin for Xojo is Copyright © 2014-2021 Einhugur Software. The Einhugur PythonScript plugin for Xojo is commercial software.
The Python Script plugin requires Python to be installed on the machine.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 3.5:
- Added Apple Silicon support.
- Added support for Python 3.9.
The SearchControl is a Xojo plugin control to
represent search user interface functionality.
Main features:
- Native Cocoa MacOS control on MacOS X systems.
- Native Linux control on Linux systems.
- Emulated controls on Windows systems since Windows and Linux do not have native such control. (Note GTK3 not supportd at this time so use Xojo version that builds for GTK2 for now with this control
- Emulation mode on Windows uses OS native theme renderers to get good look and feel that fits the operating systems theme.
- Optional drop down menu on the left button in the SearchControl which can use normal Xojo MenuItems for drop down menu on the left button, which makes it very easy to use and it easily supports icons in the menus. This also works for the native control on Cocoa.
- Optional cancel button on the right side.
- Can be configured to let search trigger instantly when typing.
- Can be configured to let search trigger time delayed when typing. (Usually gives best user experience)
- Can be configured to let search trigger by enter key or click on search icon.
- Can have optional search placeholder.
- Supports Retina on macOS systems and Hi-DPI on Windows systems.
![]() SearchControl not selected in OS X Yosemite |
![]() SearchControl selected in OS X Yosemite |
||
![]() SearchControl not selected in Windows 7 |
![]() SearchControl selected in Windows 7 |
|
|
![]() SearchControl not selected in Ubuntu 14 |
![]() SearchControl selected in Ubuntu 14 |
![]() SearchControl runs emulation mode when in Xojo design mode on all platforms |
|
![]() SearchControl not selected on Raspberry PI |
Search control in Hi-DPI mode on Windows 10 |
||
![]() |
And we can use normal Xojo menu items for the drop down Menu ! Even icons will work in the menus. |
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 3.0 (3.0.4 has more HIDPI fixes on Windows):
- Added Apple Silicon support (Not tested).
- Added Gtk3 support on Linux systems.
- Control is now Native on Linux systems but still supports most of our special features. (Non native simulation when in IDE designer)
- Search event now comes as default event.
- Made macOS IDE design mode much nicer.
- Removed all linking to Carbon.
- Removed Gtk2 support on Linux systems.
PDF Plugin is a Xojo plugin to generate
PDF documents.
The plugin supports:
Snapshot of example PDF where we are showing Line
drawing capabilities.

PDF document generated on iOS Simulator
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2 and 3
- iOS
New in 2.5 (2.5.2 added missing Apple Silicon segment):
- Added Apple Silicon support
- Added iOS support.
UtilsLib is a Xojo, which has cross platform GUID
Generation, ComputerName and UserName, day names, month names,
bit wise handling, currency formatting, OS X Dock Tile
functions, access to the location manager and many other utility
functions.
Many functions of this plugin are supported on MacOS X, Windows, Linux and Linux ARM.
The new OSXDockTile class:
New in 7.5
- Added Apple Silicon support.
- Added iOS support to some classes where iOS support makes sense.
The ErrorProvider plugin is a Xojo
plugin to put error providers on forms and windows.
A error provider is a blinking indicator that indicates that a given field has a error. They're used to indicate errors in user input after form or window validation.
The error provider can show errors for many controls at once with just one instance of the error provider.
The Error provider shown on MacOS X. It works also on
Windows and Linux systems
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 3.0:
- Added Apple Silicon compile (Not tested)
PictureEffectsRaw is a Xojo plugin to do
effects on Raw picture buffers, that originate from
MemoryBlocks. With Xojo going more for Pre-multiplied alpha
channels with their Picture objects then Xojo Picture object is
no longer suitable for serious image processing. But the
RawBitmap class and the PictureEffectsRaw bridge that.
Supported effects:
-
Color filters:
Brightness, Contrast, Color filtering, Levels, Tint, Temperature, Grayscale, Gamma, Hue - Saturation, Invert, Sepia, Exposure, Gain / Bias, Contrast Stretch, Desaturate, Equalize, Replace color -
Blur:
Blur, Gaussian Blur, Crystalize -
Enhance:
Sharpen, Smooth -
Rotate and scale:
High quality Bilinear Scaling, Flip Horizontal, Flip Vertical, Stretch Horizontal, Stretch Vertical, High quality rotation rotation -
Render:
Gradient, Clouds, Wood, Marble, Textile, Labyrinth , Rainbow Effect -
Stylize:
Emboss, Edge Detect -
Artistic:
Oil Paint, Rank Order -
Distort:
Shape distort, Polar Coordinates, Trim effect, Barrel distort, Interlace, Lens Effect, Pinch Effect, Twirl Effect -
Other:
Channel mixer, Blend, Page Curl -
Low level:
Map, Custom 3x3 matrix, ImageComparer
This plugin is handy where the plugin needs to run on Enterprise restricted environment such as various of cloud servers, or if you need to interact with other 3rd party plugins that can work on MemoryBlock. Given Xojo picture inaccuracy in Console mode then RawBitmap handling offers superior accuracy per platform and across platforms, and can handle images with 16bits per channel as well as ICC Color profiles.. PictureEffectsRaw can also be used together with the Einhugur BarcodePlugin to support auto rotation in barcode detection, Einhugur GraphicsFormats plugin and some other plugins.
Supported on :
-
macOS Intel (32 bit and 64 bit)
-
macOS Apple Silicon
-
Windows (32 bit and 64 bit)
-
Linux (32 bit and 64 bit)
-
Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
-
iOS
New in 5.0 and 5.1:
- Added Apple Silicon support (Not tested)
- Added iOS support./li>
- Replaced deprecated call on macOS systems to get CPU core count.
TypeLibF is Xojo plugin to define some types and
support other Einhugur Plugins.
The TypeLibF also
defines some handy 3D vector classes and other geometry
objects
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 3.0:
- Added Apple Silicon support (Not tested).
- Added iOS support.
The TreeView is a Xojo control plugin to create tree
views.
The TreeView will run with native theme rendering look and feel on all platforms.

- Look and feel
- Can be native theme rendering on each platform.
- Can optionaly have tree lines on each platform.
- Can optionally use plus expander on each platform.
- Can optionally use Quartz gradient selection on MacOS X targets.
- Can optionally even/odd color rows.
- Supports high resolution Retina display mode on Cocoa targets.
- Nodes
- Nodes can be inherited and additional data properties can be added to them.
- Nodes can have three state check boxes.
- Checkboxes in nodes can be disabled.
- Nodes can have image.
- Nodes can be custom drawn where you can add complex functionality such as custom buttons or markers.
- Single Selection or non continuous multi selection mode.
- Can have one or more columns.
- Supports column headers.
- Headers can have icons.
The TreeView control shown on MacOS X El Capitan, Windows XP, Ubuntu
Linux and Raspberry PI.
The icons in the control can be any icons, the snapshots only happen
to contain such Mac oriented icons.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 8.5
- Added Apple Silicon support (Not tested).
- Reduced Carbon footprint.
- Fixed Expanders for Big Sur.
- QuartzShading property now automatically switches it self off when on Big Sur since the Quartz shader does not currently work there. (Which should be all right since such shading is not in fashion on Big Sur).
- Linux GTK2 version is no longer included since GTK3 has taken over long time ago.
BarcodePlugin is a Xojo plugin that adds
ability to detect Barcodes and QRCodes in Xojo applications. The
plugin also has QRCode and Barcode generator that can generate
QRCode as bitmaps, direct draw them into PDF as vectors or save
as vector SVG files.
The plugin can detect the following formats:
Aztec, Codebar, Code 39, Code 93, Code 128, Data Matrix, EAN 8, EAN 13, ITF, PDF 417, QR Code, UPC A, UPC E
The plugin can generate QRCodes:
To RawBitmaps, direct insert into PDF as vector, and to SVG vector files.
The plugin can generate Barcodes:
EAN8 to RawBitmaps, direct insert into PDF as vector, and to SVG vector files. (as Bonus then this is supported also on iOS targert)
EAN13 to RawBitmaps, direct insert into PDF as vector, and to SVG vector files. (as Bonus then this is supported also on iOS targert)
Code39 to RawBitmaps, direct insert into PDF as vector, and to SVG vector files.
Code93 to RawBitmaps, direct insert into PDF as vector, and to SVG vector files.
Code128 to RawBitmaps, direct insert into PDF as vector, and to SVG vector files. (as Bonus then this is supported also on iOS targert)
UPC-A to RawBitmaps, direct insert into PDF as vector, and to SVG vector files. (as Bonus then this is supported also on iOS targert)
UPC-E to RawBitmaps, direct insert into PDF as vector, and to SVG vector files. (as Bonus then this is supported also on iOS targert)
![]()
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 4.0
- Added Apple iOS support.
- Added Apple Silicon support (Not tested).
The CoreClasses plugin consist of data structures
that are implemented to support current and future plugins
internally. (Those structures can of course also be used
directly in Xojo).
The CoreClasses plugin implements high speed string, object and bit arrays, stacks, queues, collections, dictionaries, trees, sets and StringTokenizers. See more details in the details section.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 7.5:
- Added Apple Silicon support (Not tested).
- Added iOS support.
WindowSplitter is a Xojo plugin control to
create split views in forms.
The WindowSplitter control, shown on macOS
Mojave,
The WindowSplitter control, shown on MacOS,
Win32,
macOS X, macOS X 10.4 Metalic Composite window and Mandrake
Linux.
WindowSplitter shown on Raspberry PI
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 10.0:
- Added Apple Silicon support
ExcelWriter Plugin for Xojo.
Exported Excel document shown in MS Excel for
Mac. Other Office applications can also open the file.
The libxlsxwriter library which this plugin uses is Copyright 2014-2018, John McNamara <jmcnamara@cpan.org>
All rights reserved, the Einhugur ExcelWriter plugin for Xojo is Copyright © 2017-2019 Einhugur Software. The Einhugur ExcelWriter plugin for Xojo is commercial software. See full license agreements in the documentation.
Supported on :
- macOS Intel (32 bit and 64 bit)
- macOS Apple Silicon
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
- iOS
New in 2.5.4:
- Added DefaultURLFormat property on the ExcelWriterWorkbook class.
- Merged in several change sets on the library under the hood to prepare new things.
- Updated the documentation for ExcelWriterWorksheet.CellURL to point out additional feature that is there but was not obvious.
ExcelReader is Xojo Component read Excel
documents in Xojo applications (xlsx files)
The ExcelReader can read basic data from the
document and some formatting as well.
The ExcelReader requires the Einhugur e-CrytptIt Engine and TypeLib plugins.
Supported on :
- Mac OS X (32 bit and 64 bit)
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2
New in 1.4:
- ColumnNumber on Cell was before documented as Zero based but was actually one based. It is now Zero based.
- Added RowNumber property on the cell class.
- Added DefinedName method on the cell class.
- Added DefinedNames function on the Workbook class.
- Added Owner property on the Worksheet class.
- Added DefinedName class.
- Added APIv2 support.
FolderItemUtilities is a small module that
helps making relative paths easy.
Supported on :
- macOS X (32 bit and 64 bit)
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2, 3 and 4
New in 1.0
- This is the first version.
FileSystemWatcher is a plugin for
Xojo to set up file system watches on specific folder or
folders.
Most of the complexity of handling folder watching on different platform has been abstracted and made easy in this plugin.
Supported on :
- Mac OS X (32 bit and 64 bit)
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2
New in 1.1.6:
- Fixed macOS Catalina code sign issues.
New in 1.1.4 (which was not officially published):
- Fixed macOS Catalina code sign issues.
The Einhugur Serialization
Framework for Xojo is to serialise complex class structures
with just 2 lines of code without adding any code to your
classes.
(You can add attributes to your class properties to fine
tune the serialisation but it is not required)
- The framework can output to either XML or JSON (for JSON it uses either one of the 2 Einhugur JSON plugins)
.
.
.
.
New in 1.4:
- Fixed Introspection problem with newest Xojo versions.
- Added Xojo APIv2 Classes.
- Added Xojo APIv2 Examples.
- Added JSONSerializerII class to support the Einhugur JSON Plugin II.
New in 1.3 (which was never officially released):
- Added SerializeArrayElementName attribute support to the JSONSerializer class.
- Added SerializeArrayElementName attribute support to the XMLSerializer class.
- Added new example project called “Custom array element class factory Example” for the XMLSerializer class.
WebDateControl is to create a date
selection control on Xojo web applications.
WebDateControl without support for empty dates
WebDateControl with support for empty dates
The control supports "NULL" dates or what some would call no selection.
The control supports Min and Max date.
Supported on :
- Mac OS X (32 bit and 64 bit)
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2 and 3
New in 1.2:
- Added TodayButtonDoesSelection property.
- Added Version constant to the control.
- Added ShowPopup method.
A Python Script plugin for Xojo
(This Xojo plugin is to use against Python 2.7.x, use our other Python plugin if wanting to connect to Python 3.4.x, 3.5.x, 3.6.x or 3.7.x)
A plugin to make your applications scriptable by Python.
- Xojo built application can run the Python module functions and or classes.
- Python scripts can call Xojo functions that you register to be visible to Python scripts.
- New classes can be registered from Xojo that Python will see.
- Handles many kind of return types and parameters, including multiple return values and key-ed multiple return values.
- Xojo built application can read and write variables from Python modules and classes.
- Its easy to make functions to allow Python script to manipulate your Xojo objects.
- Python console output can be re-directed to your own class which can write it out in any way you want.
Python is powerful... and fast;
plays well with others;
runs everywhere;
is friendly & easy to learn;
is Open.
See more about Python at https://www.python.org
The Python engine is Copyright © 2001-2020 Python Software , the Einhugur PythonScript plugin for Xojo is Copyright © 2014-2016 Einhugur Software. The Einhugur PythonScript plugin for Xojo is commercial software.
The Python Script plugin requires Python to be installed on the machine.
Supported on :
-
Mac OS X (32 bit and 64 bit)
-
Windows (32 bit and 64 bit)
-
Linux (32 bit and 64 bit)
-
Linux ARM v7 compatible systems such as Raspberry PI 2
.New in 3.0:
- Added PythonEntity class.
- Added PythonEntityBase class.
- Added PythonList class.
- Added new variation of the Contains method on the PythonDictionary class.
- Added new variation of the Remove method on the PythonDictionary class.
- Added new variation of the SetValue method on the PythonDictionary class.
- Added new variation of the GetValue function on the PythonDictionary class.
- Added GetKeys function to the PythonDictionary class.
- Added GetValues function to the PythonDictionary class.
- Added IsList function to the PythonParameters class.
- Added ListValue getter setter function to the PythonParameters class.
- Added support for the soon to come Plugins Pro application from Tim Parnell.
WebTimeControl is to create a time
selection control on Xojo web applications.
WebTimeControl shown with 12 hour clock settings
The control supports 12 hour and 24 hour modes
The control supports setting minute step size.
The control supports setting overflow mode on minutes.
The control supports Localization.
Supported on :
- Mac OS X (32 bit and 64 bit)
- Windows (32 bit and 64 bit)
- Linux (32 bit and 64 bit)
- Linux ARM v7 compatible systems such as Raspberry PI 2 and 3
New in 1.0:
- This is the first version.
JSON Parser plugin is a Xojo plugin
that adds parsing of JSON messages as well as ability to
create them.
Note that we have another and in
many ways superior JSON plugin also: JSON plugin II
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language. See more at http://www.json.org.
Supported on :
-
Mac OS X (32 bit and 64 bit)
-
Windows (32 bit and 64 bit)
-
Linux (32 bit and 64 bit)
-
Linux ARM v7 compatible systems such as Raspberry PI 2
New in 1.6:
- Fixed issue where MacOS Catalina thought the plugin segments were not code signed.
- Added Version constant to the class to aid conditional compile Macros.
A REALbasic plugin to retrieve File
Icons.
- Can read all sizes (including 128x128) of File Icons on MacOS systems.
- Can read grayscale icon masks on MacOS systems.
- Can read 16x16 and 32x32 Icons on Windows systems.
- Is PPC - Carbon, Mach-O, Cocoa and Win32 compatible.
- Can read system defined icons.
- Can read icns files.