sourCEntral - mobile manpages




Padre::Config − Configuration subsystem for Padre


    use Padre::Config;
    if ( Padre::Config−>main_statusbar ) { [...] }


This module not only stores the complete Padre configuration, it also holds the functions for loading and saving the configuration.

The Padre configuration lives in two places:
a user-editable text file usually called config.yml
an SQLite database which shouldn’t be edited by the user

Generic usage
Every setting is accessed by a mutator named after it, i.e. it can be used both as a getter and a setter depending on the number of arguments passed to it.

Different types of settings
Padre needs to store different settings. Those preferences are stored in different places depending on their impact. But "Padre::Config" allows to access them with a unified API (a mutator). Only their declaration differs in the module.

Here are the various types of settings that "Padre::Config" can manage:

User settings

Those settings are general settings that relates to user preferences. They range from general user interface look & feel (whether to show the line numbers, etc.) to editor preferences (tab width, etc.) and other personal settings.

Those settings are stored in a YAML file, and accessed with "Padre::Config::Human".

Host settings

Those preferences are related to the host on which Padre is run. The principal example of those settings are window appearance.

Those settings are stored in a DB file, and accessed with "Padre::Config::Host".

Project settings

Those preferences are related to the project of the file you are currently editing. Examples of those settings are whether to use tabs or spaces, etc.

Those settings are accessed with "Padre::Config::Project".


Add a "setting()" − call to the correct section of this file.

The setting() call initially creates the option and defines some metadata like the type of the option, it’s living place and the default value which should be used until the user configures a own value.


Copyright 2008−2010 The Padre development team as listed in

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.