Built-in Applications

Explore the application suite and .gxm format

Application Suite

guideXOS includes a variety of built-in applications that showcase the capabilities of the operating system. All applications are GUI-based and run in their own windows.

โœจ Quick Launch:

Access all applications from the Start menu or use the apps command to see what's installed!


Built-in Applications

๐Ÿ“ Notepad

A simple text editor for creating and editing text files:

  • Features: Open, edit, save text files
  • Keyboard shortcuts: Ctrl+S (save), Ctrl+O (open)
  • File formats: .txt, any plain text
  • Launch: Click Start โ†’ Accessories โ†’ Notepad

๐ŸŽจ Paint

A bitmap graphics editor for creating and editing images:

  • Tools: Pencil, brush, eraser, fill bucket, line, rectangle, circle
  • Color picker: RGB color selection
  • Canvas: 800x600 default size
  • File formats: .bmp (bitmap images)
  • Launch: Click Start โ†’ Graphics โ†’ Paint

๐Ÿงฎ Calculator

A functional calculator application:

  • Operations: +, -, ร—, รท
  • Functions: Square root, percentage, memory
  • Input: Click buttons or use keyboard
  • Launch: Click Start โ†’ Accessories โ†’ Calculator

๐Ÿ“‹ Console

Command-line interface for system control:

  • Commands: 30+ system commands
  • History: Up/down arrows to recall commands
  • Auto-launch: Opens automatically at boot
  • Launch: Click Start โ†’ System โ†’ Console

๐Ÿ“ File Manager

Browse and manage files graphically:

  • Features: Navigate directories, view files
  • Operations: Copy, move, delete, rename
  • Views: List view with file details
  • Launch: Click Start โ†’ System โ†’ File Manager

๐ŸŒ Web Browser

Basic web browser with HTTP support:

  • Protocol: HTTP (HTTPS not supported)
  • Rendering: Basic HTML rendering
  • Navigation: URL bar, back/forward buttons
  • Launch: Click Start โ†’ Internet โ†’ Web Browser

๐Ÿ’ฌ IRC Client

Internet Relay Chat client:

  • Features: Connect to IRC servers, join channels
  • Commands: /join, /part, /msg, /nick
  • Protocol: Standard IRC (port 6667)
  • Launch: Click Start โ†’ Internet โ†’ IRC Client

๐Ÿ“Š Task Manager

Monitor system resources:

  • Process list: View running applications
  • Memory usage: See RAM consumption
  • Performance: CPU and memory graphs
  • Launch: Press Ctrl+Shift+Esc or Start โ†’ System โ†’ Task Manager

๐Ÿ–ผ๏ธ Image Viewer

View image files:

  • Formats: BMP images
  • Features: Zoom, pan, fullscreen
  • Navigation: Next/previous images
  • Launch: Click Start โ†’ Graphics โ†’ Image Viewer

โš™๏ธ Settings

System configuration:

  • Display: Resolution, refresh rate
  • Network: IP configuration
  • System: About, version info
  • Launch: Click Start โ†’ System โ†’ Settings

GXM Executable Format

guideXOS uses a custom executable format called .gxm (guideXOS eXecutable Module) that supports both native code execution and declarative GUI scripting.

Two Types of GXM Files

1. GUI Script GXMs

Declarative text-based format for creating simple GUI applications without programming:

GXM Header (20 bytes):
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 'G','X','M',0x00     โ”‚  Magic (4 bytes)
โ”‚ Version: 0x01000000  โ”‚  Version (4 bytes)
โ”‚ Entry RVA: 0         โ”‚  Entry point (4 bytes, 0 for GUI)
โ”‚ File Size            โ”‚  Total size (4 bytes)
โ”‚ 'G','U','I',0x00     โ”‚  GUI marker (4 bytes)
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Script Text (UTF-8)  โ”‚  WINDOW|Title|W|H
โ”‚                      โ”‚  LABEL|Text|X|Y
โ”‚                      โ”‚  BUTTON|ID|Text|X|Y|W|H
โ”‚                      โ”‚  ONCLICK|ID|ACTION|...
โ”‚ 0x00 (null term)     โ”‚  End marker
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
2. Native Binary GXMs

Compiled NativeAOT applications packaged in GXM format:

GXM Header (20 bytes):
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ 'G','X','M',0x00     โ”‚  Magic (4 bytes)
โ”‚ Version: 0x01000000  โ”‚  Version (4 bytes)  
โ”‚ Entry RVA            โ”‚  Entry point offset (4 bytes)
โ”‚ File Size            โ”‚  Total size (4 bytes)
โ”‚ Reserved: 0          โ”‚  (4 bytes)
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ Native x86-64 Code   โ”‚  Compiled NativeAOT binary
โ”‚ (PE/COFF sections)   โ”‚  Executable machine code
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Creating GUI Script Applications

GUI scripts are the easiest way to create simple applications:

// 1. Create script file (hello.txt)
WINDOW|Hello World|320|200
LABEL|Welcome to guideXOS!|16|16
BUTTON|1|Click Me|16|60|120|28
ONCLICK|1|MSG|Hello from guideXOS!
BUTTON|99|Close|16|140|120|28
ONCLICK|99|CLOSE|

# 2. Package with GXM Packager
GXMPackager.exe hello.txt hello.gxm --gui

# 3. Copy to guideXOS
cp hello.gxm Ramdisk/Programs/

# 4. Rebuild ISO and test
ForceRebuildISO.bat

Available GUI Script Commands

Command Syntax Description
WINDOW WINDOW|Title|Width|Height Creates main window (required, first line)
LABEL LABEL|Text|X|Y Static text display
BUTTON BUTTON|ID|Text|X|Y|W|H Clickable button
LIST LIST|ID|X|Y|W|H|Item1;Item2;Item3 Scrollable list view
DROPDOWN DROPDOWN|ID|X|Y|W|H|Opt1;Opt2 Combo box dropdown
ONCLICK ONCLICK|ID|ACTION|Args Button click handler
ONCHANGE ONCHANGE|ID|ACTION|Args List/dropdown selection handler

Available Actions

Action Syntax Example
MSG ONCLICK|1|MSG|Message text Show notification message
OPENAPP ONCLICK|2|OPENAPP|Notepad Launch another application
CLOSE ONCLICK|99|CLOSE| Close the current window

Creating Native Binary Applications

For more complex applications, you can compile C# code to native binaries:

// 1. Write C# application (uses guideXOS namespaces)
using guideXOS.GUI;
using guideXOS.Misc;

public class MyApp
{
    public static void Main()
    {
        var win = new Window(100, 100, 400, 300);
        win.Title = "My Application";
        win.Visible = true;
        WindowManager.MoveToEnd(win);
    }
}

// 2. Compile with NativeAOT
dotnet publish -c Release -r win-x64 --self-contained

// 3. Package as GXM  
GXMPackager.exe MyApp.exe MyApp.gxm --entry 0x1000

// 4. Deploy to guideXOS
cp MyApp.gxm Ramdisk/Programs/

Built-in Namespaces for Development

When developing native applications, you have access to guideXOS's core namespaces (the OS is compiled as a monolithic NativeAOT binary, not separate DLLs):

  • guideXOS.GUI - Window, Button, Label, List, TextBox and other controls
  • guideXOS.Graphics - Image, Graphics, PNG, drawing primitives
  • guideXOS.FS - File system operations (File, Directory classes)
  • guideXOS.Network - TCP, UDP, HTTP, DNS, DHCP networking
  • guideXOS.Kernel - Memory management, process control
  • guideXOS.Misc - Timer, StringPool, utilities
โš ๏ธ Note: Monolithic Architecture

guideXOS is compiled as a single NativeAOT binary. There are no separate DLL files. Applications are compiled separately and packaged as GXM files, then loaded and executed by the OS at runtime.


Launching Applications

Method 1: Start Menu

The easiest way - click the Start button and browse categories:

Click [Start] button
    ↓
Select category (e.g., "Accessories")
    ↓
Click application name (e.g., "Notepad")
    ↓
Application launches in new window

Method 2: Console Command

Use the console to launch apps by name or path:

gx> apps
Installed Applications:
  notepad.gxm
  paint.gxm
  calc.gxm
  browser.gxm

gx> exec notepad
Launching Notepad...

gx> exec /bin/paint.gxm
Launching Paint...

Method 3: Desktop Icons

Double-click icons on the desktop to launch favorite apps.

Method 4: File Manager

Navigate to /bin in File Manager and double-click .gxm files.

๐Ÿ’ก Pro Tip:

Use Alt+Tab to quickly switch between running applications!


Related Topics