Einhugur Plugin Releases (2026 Jan-Apr)

(Thread for Einhugur Plugin Releases in 2026 Jan-Apr)

Python3Script 5.5 for Xojo is out

PythonS3cript is to script your Xojo applications made with your favorite IDE, Xojo with Python, or to bridge Xojo and Python code. Python3Script in Xojo applications can be big door for your Xojo applications to interact with wide range of code that is out there, including interacting with various of electronic controllers which have ready made drivers for them in Python.

Python3Script is a plugin to make your applications script-able 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 existence of Python gracefully.

  • The plugin can load Python from alternate paths, such as for example to load Anaconda Python.

New in Python3Script 5.5:

  • Added support for Python 3.14.

  • Removed the need for the CoreClasses plugin.

  • Rewired Python exception handling for Python 3.12 and later, making the example project called “Raising Python Error from Xojo” work again.

  • Added IPython3Iterable interface.

  • Python3Parameters now implements IPython3Iterable.

  • Python3List now implements IPython3Iterable.

  • Python3Dictionary now implements IPython3Iterable.

  • Added Extend method to the Python3List class.

  • Added GetSlice function to the Python3List class.

  • Added Merge function to the Python3Dictionary class.

  • Added SetDefault function to the Python3Dictionary class.

  • Added Hash function to the Python3EntityBase class.

  • Added ToString function to the Python3EntityBase class.

  • Fixed issue with Python3Entity.FromInt64.

  • A lot of small internal quality improvements were made.

  • Plugin segments on macOS are now much smaller than before.

  • Added Python3Exception class.

  • Python3XojoClass can now carry Xojo object to store custom data inside the Python class.

  • Added Data setter and getter method to the Python3XojoClass class.

  • Added SetHashFunction to the Python3XojoClass to optionally support the Python hash operator on your Xojo Python class.

  • Added SetToStringFunction to the Python3XojoClass to optionally support the Python str operator on your Xojo Python class.

  • Added new Example project called “Xojo creating new Python class (Advanced)”

More info at www.einhugur.com

3 Likes

I am tossing this out here as first test and to see if it makes any sense at all.

PlatformLayoutFixer is library to help you set up your layout on one platform and have it actually look all right on the other platforms.

After macOS Tahoe came then this is harder task than before since Tahoe uses larger controls.

Note this is version 0.5 test version, and not finished product. Once it is finished then it will be available through the Einhugur Plugin pack like all our components.

It is by far best to design on the platform with the largest controls.

So design on Tahoe, and use Tahoe optimal control heights (please correct me if any of my listed sizes are incorrect)

DesktopButton: 30
DesktopTextField: 26
DesktopSearchControl (Einhugur): 26
DesktopSearchField: 26
DesktopComboBox: 26
DesktopSegmentedButton: 30
DesktopPopupMenu: 26
DesktopCheckbox: 20
DesktopRadioButton: 20

Then in the Opening event of a Window (or Opening event of Container control):

PlatformLayoutFixer.FixWindow( _
self, _
lblName, tbName, _ // lblName gets baseline adjusted to tbName
lblAddress, tbAddress, _ // lblAddress gets baseline adjusted to tbAddress
lblSearch, tbSearch _ // lblSearch gets baseline adjusted to tbSearch
)

When run on other platforms the controls will change size and slightly move. But the idea is if you designed on the platform that uses the most space then it will look nice or at least half decent everywhere.

Also labels get baseline matched to their relevant control on each platform.


Currently supported:
macOS legacy
macOS Tahoe (which has much larger controls)
Windows

Not supported yet:
Windows WinUI.
Linux

There may be some controls that are not supported yet like:
Date & Time widgets both Xojo and Einhugur ones.
BevelButton
Einhugur PictureButton


The library only supports Desktop API controls (API 2)

And Xojo 2025r3 or later is needed to use the Library.

https://www.einhugur.com/Downloads/Plugs/PlatformLayoutFixer.zip

1 Like