Skip to content
CurlyMoo edited this page Feb 7, 2013 · 6 revisions

###Introduction

xbian-config is a fully modular wrapper written in Bash. It has extended the basic dialog functionality with some feature to easily create new modules.
###Structure
The basic structure of xbian-config consists of several folders and files.

config
This folder is meant to store files that can be used as a permanent storage of settings.

functions
This folder consists of several functions that are used across multiple modules or that are used in the core of xbian-config. These functions can be seen as the classes that you would come across in other languages.

lang
The root language folder consists of general language variables that are used in the core of xbian-config.

modules
This folder contains the different modules.

prereqs
This goal of this file is to check if a prerequisites are met for using xbian-config. If your modules requires an additional package, you can expand the list on line 25.

struct
This file contains the basic structure of xbian-config and all it's (sub)menu's. The (sub)menu's are created from the tree as found in this file. Each menu item contains a number and the name of the module.
###Two functions
xbian-config provides two different ways of configuring the system. The first one is through the dialog created gui. The other one are just plain commands through the command line interface. If no arguments are given to xbian-config, then the gui will be loaded. If arguments are given, the cli will be loaded.

GUI
The gui is meant to easily configure the system through SSH. It is also meant for users that don't run an additional gui like XBMC.

CLI
By enabling a command line control of xbian-config, the program has become the core in configuring the system. Additional other ports of xbian-config (such as through a website or as a plugin inside XBMC) can be easily created by controlling the existing modules through the CLI. By doing this, most bugs inside these ports (or xbian-config itself) can easily tackeled by fixing the core xbian-config. Also, the logic that is needed for most operations just has to be created once.

Clone this wiki locally