The MagicOnLinux Configurator (MoL-Config) is a GTK+ utility designed to easily manage the configuration file (usually located at '~/.config/magiclinux.conf') for the MagicOnLinux emulation project.
Find a file
2025-12-11 22:16:50 +01:00
images more stuf 2025-12-09 00:41:21 +01:00
src add install script 2025-12-11 22:16:50 +01:00
LICENSE Initial commit 2025-12-02 01:54:51 +01:00
Makefile some reworks 2025-12-08 12:12:29 +01:00
mol-install.sh add install script 2025-12-11 22:16:50 +01:00
Readme.md more stuf 2025-12-09 00:41:21 +01:00
sample.conf some reworks 2025-12-08 12:12:29 +01:00

MOL-CONFIG-EDITOR

VERSION: 1.0.0 AUTHOR: ragnar

LICENSED UNDER GNU GENERAL PUBLIC LICENSE V3 (GPLv3)

1. OVERVIEW

The MOL-Config-Editor is a graphical configuration utility for the Magic Linux (MOL) emulation system, specifically designed for managing the 'magiclinux.conf' INI-style file.

The application is built using the GTK 3 toolkit and is developed in plain C. It provides a user-friendly interface to adjust complex emulation parameters, including paths, screen settings, network configuration, and mounted drives, without manually editing the configuration file.

1.1

This utility is 100% made by Googles AI Gemini. I'm not a coder, i can barely write Hello World in C but thats it. So, please, forgive me if i have done something terrible wrong.

The mainwindow of mol-config

2. FEATURES

The MOL-Config-Editor is designed to make configuration efficient and intuitive. Below is a summary of the key functionalities offered by the application:

  • Graphical INI file management (GKeyFile backend).
  • Automatic Backup: Creates 'magiclinux.conf.bak' before saving.
  • Localization Support: Interface available in English, German, and French.
  • Automatic window size adjustment to fit content (GTK3 optimization).
  • Intuitive tabbed interface for logical grouping of settings.
  • Contextual help via the status bar (on hover).

3. INSTALLATION AND COMPILATION

This utility requires the GTK3 development libraries for compilation.

3.1. Prerequisites

You must have the GTK3 development libraries and essential build tools installed on your system.

  • Linux (Debian/Ubuntu based systems):

    $ sudo apt update
    $ sudo apt install build-essential libgtk-3-dev
    
  • macOS (using Homebrew): bash$ brew install gtk+3 pkg-config

Note: Other Linux System are not tested

3.2. Compilation

Navigate to the project's root directory and use the provided Makefile:

$ make

This will create the executable file 'mol-config' in the current directory.

3.3. Execution

bash $ ./mol-config

4. COMMAND-LINE OPTIONS

The application supports the standard GTK command-line options and the following custom options:

-c, --config=FILE Loads an alternative configuration file instead of the default path (~/.config/magiclinux.conf). -d, --debug Debug option (currently deactivated/unused). -h, --help Shows this help message.

4.1 Usage

  • Saving to configuration by pressing CTRL+S is enabled

  • Closing the application window or pressing Ctrl+Q will prompt the user to discard unsaved changes before exiting.

5. CONFIGURATION FILE HANDLING

The editor automatically looks for the configuration file at the standard XDG location (or equivalent for macOS): Linux: ~/.config/magiclinux.conf macOS: ~/Library/Preferences/magiclinux.conf

Automatic Backup Creation When you click 'Save', the application first creates a backup copy of the existing configuration file, named 'magiclinux.conf.bak', in the same directory, ensuring that the original state can be recovered if needed.

Unsaved Changes Warning: If the status bar shows 'Edited', attempting to close the application or cancel changes will trigger a confirmation dialog to prevent accidental data loss.

6. TAB REFERENCE (FUNCTIONS IN DETAIL)

The configuration is logically grouped into the following tabs:

6.1. HostFS (Host Paths)

Configuration of paths related to the host filesystem:

  • Kernel File: Path to the emulated system's kernel file.
  • Root Filesystem: The host directory used as the root filesystem (MOL RootFS).
  • Temporary Host Path: Host directory for temporary emulation files.
  • Mount Homedir / Mount Rootdir: Separate sections to activate mounting the Host Home directory (as H:) and the Host Root directory (as M:). Includes read-only options for each mount.

6.2. HostDev (Host Devices)

Configuration of host resources used by the emulation:

  • Printer Command: The host command/program executed for printing from MOL.
  • Serial Device File: Path to the serial host device (e.g., /dev/ttyS0).

6.3. Display (Atari Screen)

Settings controlling the visual output:

  • Resolution (Width/Height): Native resolution of the emulated screen.
  • Zoom-X / Zoom-Y: Horizontal and vertical scaling factors (1.0 to 4.0).
  • Refresh Rate (Hz): Vertical refresh rate.
  • Color Depth: Selection of the emulated color mode (e.g., 24b, 16b, mono).
  • Hide Host Mouse Pointer: Boolean toggle for pointer visibility.
  • Screen Placement (sub-section): Includes settings for monitor number and window coordinates (X/Y) on the host desktop.

6.4. Emulation (Atari Emulation)

General MOL system settings:

  • Memory Size: Selection of the emulated Atari RAM size (saved internally in bytes).
  • Language: Selection of the system language (0=English, 1=German, 2=French).
  • Show Host Menu: Toggles the display of the host application menu.
  • Start Emulation Automatically: Defines if MOL starts immediately.
  • Show Tooltips: Toggles general UI tooltips.

6.5. Drives (Additional Atari Drives)

Manages custom mounted drives (beyond H: and M:). This tab includes a scrollable Tree View.

  • Flags: A numeric representation of drive properties (1=Read-Only, 2=8.3 Filenames, 4=Ignore Case).
  • Buttons: Allows adding (Folder or Image), modifying, and deleting drive entries.

6.6. ETH0 (Network)

Configuration of the emulated network interface (ETH0):

  • Network Type / Network Tunnel: Device/mode configuration.
  • Host-IP / Atari-IP / Netmask / Gateway: Standard network addresses.
  • MAC Address / INT Level: Hardware-level settings.

7. LOCALIZATION SUPPORT

The application detects the host system's locale and supports the following interface languages:

  • English (Default)
  • German (Deutsch)
  • French (Français)

8. LICENSE

This project is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See the official GPLv3 text for full details.

:wq