Xojo - some pieces 4u


Xojo Web App 2 Docker

Description:
This example contains Documentation about how to package a Xojo built Web Application in a Docker Image. It provides an example project along with a Post Build Script which automates the task of building the Docker Image.


Available on GitHub: Xojo Web App 2 Docker


Xojo2DMG: CodeSign, DMG creation and Notarization (Post Build Script)

Description:
Are you distributing macOS Software outside of the Mac App Store? For your users best experience and confidence, your applications have to be notarized by Apple. A requirement for that is to CodeSign with Hardened Runtime. This might lead to a different Runtime behavior compared to a simple (unsigned) DebugRun within the Xojo IDE. That's why I encourage everyone to CodeSign (with Hardened Runtime) each and every DebugRun on macOS, allowing you to develop and debug as close to a Release Build as possible.

How to do that? Have a look at Xojo2DMG. It's an example Xojo Post Build Script, which shows how to auto-magically CodeSign both Debug- and Release-Builds. It also packages Release Builds of your application in a signed (and customizable) DiskImage (.dmg) and sends it off to Apple for Notarization. All with just a click on 'Build' in the Xojo IDE.


Available on GitHub: Xojo2DMG: CodeSign, DMG creation and Notarization (Post Build Script)


macOS: NSSharingService (Email, Messages, AirDrop)

Description:
An example Xojo project to show how to use NSSharingService in Xojo-built Applications (macOS, 64Bit only).
The following services are implemented in the example project:



Available on GitHub: macOS: NSSharingService (Email, Messages, AirDrop)


macOS and Windows: App Appearance

Description:
An example Xojo project to show how to deal with Xojo's DarkMode Support to customize the application's appearance on macOS and Windows.
macOS: This example shows how your application can provide a user preference allowing the application to appear in 'Always Dark', 'Always Light' - or of course the 'System Default'.
Windows: DarkMode on Windows is... not that good - at least not for Win32 Apps/Controls, which is what Xojo is currently using. For that reason it is best practice to explizitly allow the user to 'Opt-in' for DarkMode support of your application.


Available on GitHub: macOS and Windows: App Appearance


macOS: App Directories

Description:
macOS Catalina consists of two Volumes. A read-only System volume, and a read-write Data volume.
So the classic '/Applications' directory is now the one where users can store their system-wide available applications. Apple's System Applications will be in another location.
Finder transparently shows them just as 'Applications'. However, Developers might need to get the correct native path.
This example shows how to find Applications by BundleID (the preferred way), by AppName (this will try to find it in all possible system defined application directories), and it allows to get an Array of Folders defined by Apple (see the Enumeration: NSSearchPathDirectory.
Xojo only provides a single folder using SpecialFolder.Applications. This example will get all ones (also the per-user Application Folder, if it exists) from the OS.
The example 'Applications' will ask you to select a Document. It then locates all suitable Applications, depending on the LSRolesMask(s) you specify. Or locate Applications that can deal with any given URL (e.g. list all WebBrowsers).


Available on GitHub: macOS: App Directories


macOS: OpenSSL - Bring your Own

Description:
This example project shows how you can build your own OpenSSL Library from Source as a Universal .dylib (arm64 and x86_64), include it in a Xojo project - and finally use it in your application.


Available on GitHub: macOS: OpenSSL - Bring your Own


Xojo Applications Example: Embed custom AppFont's (Windows, macOS, Linux)

Description:
An example Xojo project to show how one can embed custom AppFont's in Xojo-built Applications (Windows, macOS, Linux).


Available on GitHub: Xojo Applications Example: Embed custom AppFont's (Windows, macOS, Linux)


Xojo Code Example: Using Applescript for Automation (macOS)

Description:
macOS 10.14 no longer simply allows every app to use AppleScript to Automate other applications.
This example Xojo project shows how to use AppleScript Automation, determine if the app has permission to automate another running application, and how to open System Preferences at Privacy - Automation.


Available on GitHub: Xojo Code Example: Using Applescript for Automation (macOS)


Xojo Applications Example: Create a Shortcut / Alias / Desktop Launch Icon (Windows, macOS, Linux)

Description:
An example Xojo project to show how one can create a Shortcut (Windows), Alias (macOS), Desktop Launch Icon (Linux) in Xojo-built Applications (Windows, macOS, Linux).


Available on GitHub: Xojo Applications Example: Create a Shortcut / Alias / Desktop Launch Icon (Windows, macOS, Linux)


macOS: Toolbar style 0.1.1

Description:
This example project shows how you can use the various macOS 11 Toolbar styles in your Xojo built application.
Starting with Xojo 2021r1 you only need the Declares to set or change the Toolbar style. Earlier Xojo Versions require additional post processing of the built application because this functionality is only available with the macOS 11 SDK.


go to macOS: Toolbar style


Xojo Code Example: CRCCalculator (Cyclic Redundancy Check: CRC8, CRC16, CRC32)

Description:
This example Xojo project shows how CRC Calculations can be implemented in pure Xojo Code. Because CRC classes not available in the Xojo Framework, one has to either use a 3rd Party Plugin - or calculate the Algorithm(s) manually.


Available on GitHub: Xojo Code Example: CRCCalculator (Cyclic Redundancy Check: CRC8, CRC16, CRC32)


Windows: Monitors

Description:
HiDPI support is a must have nowadays. The Xojo Framework for TargetWindows has quite some positioning issues in a setup with multiple monitors that have different ScaleFactors.
This example Xojo project shows how to work around this by using the Windows API to position dialog windows, while falling back to the default Xojo Framework methods on other platforms.


Available on GitHub: Windows: Monitors


Task Dialogs (Windows Vista and newer)

Description:
An example Xojo project showing how to use the Task Dialog Indirect API on Windows, while falling back to Xojo's MessageDialog on other platforms.


Available on GitHub: Task Dialogs (Windows Vista and newer)


Xojo Post Build Script Example: Create .appx Package (e.g. for Windows Store) 1.0.0

Description:
An example Xojo project with a Post Build Script. It invokes a Batch Script which will manually create customized AppX Packages without using the Desktop App Converter:
1 - Test your Windows app for Windows 10 S.
2 -CodeSigned with a self-signed certificate
3 - Windows Store (not CodeSigned, just another .appx with another PublisherID)


go to Xojo Post Build Script Example: Create .appx Package (e.g. for Windows Store)


TreeView

Description:
A subclassed hierarchical ListBox using CTreeListedValues (a hierarchical list) to dynamically populate the Control.


Available on GitHub: TreeView


Linux: GTK3 Style Controls Example 0.5.0

Description:
An example Xojo project to show how one can style Controls on TargetLinux.


Available on BitBucket: Linux: GTK3 Style Controls Example




contact: Juerg Otter