/* app.c generated by valac 0.26.0, the Vala compiler
 * generated from app.vala, do not modify */

/* 
 *      Copyright 2011 Julien Lavergne <gilir@ubuntu.com>
 *
 *      This program 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 2 of the License, or
 *      (at your option) any later version.
 *
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
*/
/* 
   TODO packagekit handler (GUI and stuff) ?
   TODO Use wnck for managing launching applications ?
*/

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <signal.h>
#include <sys/types.h>
#include <gio/gio.h>


#define LXSESSION_TYPE_APP_OBJECT (lxsession_app_object_get_type ())
#define LXSESSION_APP_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_APP_OBJECT, LxsessionAppObject))
#define LXSESSION_APP_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_APP_OBJECT, LxsessionAppObjectClass))
#define LXSESSION_IS_APP_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_APP_OBJECT))
#define LXSESSION_IS_APP_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_APP_OBJECT))
#define LXSESSION_APP_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_APP_OBJECT, LxsessionAppObjectClass))

typedef struct _LxsessionAppObject LxsessionAppObject;
typedef struct _LxsessionAppObjectClass LxsessionAppObjectClass;
typedef struct _LxsessionAppObjectPrivate LxsessionAppObjectPrivate;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

#define LXSESSION_TYPE_SIMPLE_APP_OBJECT (lxsession_simple_app_object_get_type ())
#define LXSESSION_SIMPLE_APP_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_SIMPLE_APP_OBJECT, LxsessionSimpleAppObject))
#define LXSESSION_SIMPLE_APP_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_SIMPLE_APP_OBJECT, LxsessionSimpleAppObjectClass))
#define LXSESSION_IS_SIMPLE_APP_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_SIMPLE_APP_OBJECT))
#define LXSESSION_IS_SIMPLE_APP_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_SIMPLE_APP_OBJECT))
#define LXSESSION_SIMPLE_APP_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_SIMPLE_APP_OBJECT, LxsessionSimpleAppObjectClass))

typedef struct _LxsessionSimpleAppObject LxsessionSimpleAppObject;
typedef struct _LxsessionSimpleAppObjectClass LxsessionSimpleAppObjectClass;
typedef struct _LxsessionSimpleAppObjectPrivate LxsessionSimpleAppObjectPrivate;

#define LXSESSION_TYPE_GENERIC_APP_OBJECT (lxsession_generic_app_object_get_type ())
#define LXSESSION_GENERIC_APP_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_GENERIC_APP_OBJECT, LxsessionGenericAppObject))
#define LXSESSION_GENERIC_APP_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_GENERIC_APP_OBJECT, LxsessionGenericAppObjectClass))
#define LXSESSION_IS_GENERIC_APP_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_GENERIC_APP_OBJECT))
#define LXSESSION_IS_GENERIC_APP_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_GENERIC_APP_OBJECT))
#define LXSESSION_GENERIC_APP_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_GENERIC_APP_OBJECT, LxsessionGenericAppObjectClass))

typedef struct _LxsessionGenericAppObject LxsessionGenericAppObject;
typedef struct _LxsessionGenericAppObjectClass LxsessionGenericAppObjectClass;
typedef struct _LxsessionGenericAppObjectPrivate LxsessionGenericAppObjectPrivate;

#define LXSESSION_TYPE_APP_TYPE (lxsession_app_type_get_type ())
typedef struct _LxsessionAppType LxsessionAppType;

#define LXSESSION_TYPE_GENERIC_SIMPLE_APP (lxsession_generic_simple_app_get_type ())
#define LXSESSION_GENERIC_SIMPLE_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_GENERIC_SIMPLE_APP, LxsessionGenericSimpleApp))
#define LXSESSION_GENERIC_SIMPLE_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_GENERIC_SIMPLE_APP, LxsessionGenericSimpleAppClass))
#define LXSESSION_IS_GENERIC_SIMPLE_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_GENERIC_SIMPLE_APP))
#define LXSESSION_IS_GENERIC_SIMPLE_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_GENERIC_SIMPLE_APP))
#define LXSESSION_GENERIC_SIMPLE_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_GENERIC_SIMPLE_APP, LxsessionGenericSimpleAppClass))

typedef struct _LxsessionGenericSimpleApp LxsessionGenericSimpleApp;
typedef struct _LxsessionGenericSimpleAppClass LxsessionGenericSimpleAppClass;
typedef struct _LxsessionGenericSimpleAppPrivate LxsessionGenericSimpleAppPrivate;

#define LXSESSION_TYPE_WINDOWS_MANAGER_APP (lxsession_windows_manager_app_get_type ())
#define LXSESSION_WINDOWS_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_WINDOWS_MANAGER_APP, LxsessionWindowsManagerApp))
#define LXSESSION_WINDOWS_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_WINDOWS_MANAGER_APP, LxsessionWindowsManagerAppClass))
#define LXSESSION_IS_WINDOWS_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_WINDOWS_MANAGER_APP))
#define LXSESSION_IS_WINDOWS_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_WINDOWS_MANAGER_APP))
#define LXSESSION_WINDOWS_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_WINDOWS_MANAGER_APP, LxsessionWindowsManagerAppClass))

typedef struct _LxsessionWindowsManagerApp LxsessionWindowsManagerApp;
typedef struct _LxsessionWindowsManagerAppClass LxsessionWindowsManagerAppClass;
typedef struct _LxsessionWindowsManagerAppPrivate LxsessionWindowsManagerAppPrivate;

#define LXSESSION_TYPE_LXSESSION_CONFIG (lxsession_lxsession_config_get_type ())
#define LXSESSION_LXSESSION_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_LXSESSION_CONFIG, LxsessionLxsessionConfig))
#define LXSESSION_LXSESSION_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_LXSESSION_CONFIG, LxsessionLxsessionConfigClass))
#define LXSESSION_IS_LXSESSION_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_LXSESSION_CONFIG))
#define LXSESSION_IS_LXSESSION_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_LXSESSION_CONFIG))
#define LXSESSION_LXSESSION_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_LXSESSION_CONFIG, LxsessionLxsessionConfigClass))

typedef struct _LxsessionLxsessionConfig LxsessionLxsessionConfig;
typedef struct _LxsessionLxsessionConfigClass LxsessionLxsessionConfigClass;

#define LXSESSION_TYPE_LXSESSION_CONFIG_KEY_FILE (lxsession_lxsession_config_key_file_get_type ())
#define LXSESSION_LXSESSION_CONFIG_KEY_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_LXSESSION_CONFIG_KEY_FILE, LxsessionLxsessionConfigKeyFile))
#define LXSESSION_LXSESSION_CONFIG_KEY_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_LXSESSION_CONFIG_KEY_FILE, LxsessionLxsessionConfigKeyFileClass))
#define LXSESSION_IS_LXSESSION_CONFIG_KEY_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_LXSESSION_CONFIG_KEY_FILE))
#define LXSESSION_IS_LXSESSION_CONFIG_KEY_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_LXSESSION_CONFIG_KEY_FILE))
#define LXSESSION_LXSESSION_CONFIG_KEY_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_LXSESSION_CONFIG_KEY_FILE, LxsessionLxsessionConfigKeyFileClass))

typedef struct _LxsessionLxsessionConfigKeyFile LxsessionLxsessionConfigKeyFile;
typedef struct _LxsessionLxsessionConfigKeyFileClass LxsessionLxsessionConfigKeyFileClass;
#define _g_array_unref0(var) ((var == NULL) ? NULL : (var = (g_array_unref (var), NULL)))

#define LXSESSION_TYPE_PANEL_APP (lxsession_panel_app_get_type ())
#define LXSESSION_PANEL_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_PANEL_APP, LxsessionPanelApp))
#define LXSESSION_PANEL_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_PANEL_APP, LxsessionPanelAppClass))
#define LXSESSION_IS_PANEL_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_PANEL_APP))
#define LXSESSION_IS_PANEL_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_PANEL_APP))
#define LXSESSION_PANEL_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_PANEL_APP, LxsessionPanelAppClass))

typedef struct _LxsessionPanelApp LxsessionPanelApp;
typedef struct _LxsessionPanelAppClass LxsessionPanelAppClass;
typedef struct _LxsessionPanelAppPrivate LxsessionPanelAppPrivate;

#define LXSESSION_TYPE_DOCK_APP (lxsession_dock_app_get_type ())
#define LXSESSION_DOCK_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_DOCK_APP, LxsessionDockApp))
#define LXSESSION_DOCK_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_DOCK_APP, LxsessionDockAppClass))
#define LXSESSION_IS_DOCK_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_DOCK_APP))
#define LXSESSION_IS_DOCK_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_DOCK_APP))
#define LXSESSION_DOCK_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_DOCK_APP, LxsessionDockAppClass))

typedef struct _LxsessionDockApp LxsessionDockApp;
typedef struct _LxsessionDockAppClass LxsessionDockAppClass;
typedef struct _LxsessionDockAppPrivate LxsessionDockAppPrivate;

#define LXSESSION_TYPE_SCREENSAVER_APP (lxsession_screensaver_app_get_type ())
#define LXSESSION_SCREENSAVER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_SCREENSAVER_APP, LxsessionScreensaverApp))
#define LXSESSION_SCREENSAVER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_SCREENSAVER_APP, LxsessionScreensaverAppClass))
#define LXSESSION_IS_SCREENSAVER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_SCREENSAVER_APP))
#define LXSESSION_IS_SCREENSAVER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_SCREENSAVER_APP))
#define LXSESSION_SCREENSAVER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_SCREENSAVER_APP, LxsessionScreensaverAppClass))

typedef struct _LxsessionScreensaverApp LxsessionScreensaverApp;
typedef struct _LxsessionScreensaverAppClass LxsessionScreensaverAppClass;
typedef struct _LxsessionScreensaverAppPrivate LxsessionScreensaverAppPrivate;

#define LXSESSION_TYPE_POWER_MANAGER_APP (lxsession_power_manager_app_get_type ())
#define LXSESSION_POWER_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_POWER_MANAGER_APP, LxsessionPowerManagerApp))
#define LXSESSION_POWER_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_POWER_MANAGER_APP, LxsessionPowerManagerAppClass))
#define LXSESSION_IS_POWER_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_POWER_MANAGER_APP))
#define LXSESSION_IS_POWER_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_POWER_MANAGER_APP))
#define LXSESSION_POWER_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_POWER_MANAGER_APP, LxsessionPowerManagerAppClass))

typedef struct _LxsessionPowerManagerApp LxsessionPowerManagerApp;
typedef struct _LxsessionPowerManagerAppClass LxsessionPowerManagerAppClass;
typedef struct _LxsessionPowerManagerAppPrivate LxsessionPowerManagerAppPrivate;

#define LXSESSION_TYPE_FILE_MANAGER_APP (lxsession_file_manager_app_get_type ())
#define LXSESSION_FILE_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_FILE_MANAGER_APP, LxsessionFileManagerApp))
#define LXSESSION_FILE_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_FILE_MANAGER_APP, LxsessionFileManagerAppClass))
#define LXSESSION_IS_FILE_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_FILE_MANAGER_APP))
#define LXSESSION_IS_FILE_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_FILE_MANAGER_APP))
#define LXSESSION_FILE_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_FILE_MANAGER_APP, LxsessionFileManagerAppClass))

typedef struct _LxsessionFileManagerApp LxsessionFileManagerApp;
typedef struct _LxsessionFileManagerAppClass LxsessionFileManagerAppClass;
typedef struct _LxsessionFileManagerAppPrivate LxsessionFileManagerAppPrivate;

#define LXSESSION_TYPE_DESKTOP_APP (lxsession_desktop_app_get_type ())
#define LXSESSION_DESKTOP_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_DESKTOP_APP, LxsessionDesktopApp))
#define LXSESSION_DESKTOP_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_DESKTOP_APP, LxsessionDesktopAppClass))
#define LXSESSION_IS_DESKTOP_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_DESKTOP_APP))
#define LXSESSION_IS_DESKTOP_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_DESKTOP_APP))
#define LXSESSION_DESKTOP_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_DESKTOP_APP, LxsessionDesktopAppClass))

typedef struct _LxsessionDesktopApp LxsessionDesktopApp;
typedef struct _LxsessionDesktopAppClass LxsessionDesktopAppClass;
typedef struct _LxsessionDesktopAppPrivate LxsessionDesktopAppPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define LXSESSION_TYPE_POLKIT_APP (lxsession_polkit_app_get_type ())
#define LXSESSION_POLKIT_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_POLKIT_APP, LxsessionPolkitApp))
#define LXSESSION_POLKIT_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_POLKIT_APP, LxsessionPolkitAppClass))
#define LXSESSION_IS_POLKIT_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_POLKIT_APP))
#define LXSESSION_IS_POLKIT_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_POLKIT_APP))
#define LXSESSION_POLKIT_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_POLKIT_APP, LxsessionPolkitAppClass))

typedef struct _LxsessionPolkitApp LxsessionPolkitApp;
typedef struct _LxsessionPolkitAppClass LxsessionPolkitAppClass;
typedef struct _LxsessionPolkitAppPrivate LxsessionPolkitAppPrivate;

#define LXSESSION_TYPE_NETWORK_GUI_APP (lxsession_network_gui_app_get_type ())
#define LXSESSION_NETWORK_GUI_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_NETWORK_GUI_APP, LxsessionNetworkGuiApp))
#define LXSESSION_NETWORK_GUI_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_NETWORK_GUI_APP, LxsessionNetworkGuiAppClass))
#define LXSESSION_IS_NETWORK_GUI_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_NETWORK_GUI_APP))
#define LXSESSION_IS_NETWORK_GUI_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_NETWORK_GUI_APP))
#define LXSESSION_NETWORK_GUI_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_NETWORK_GUI_APP, LxsessionNetworkGuiAppClass))

typedef struct _LxsessionNetworkGuiApp LxsessionNetworkGuiApp;
typedef struct _LxsessionNetworkGuiAppClass LxsessionNetworkGuiAppClass;
typedef struct _LxsessionNetworkGuiAppPrivate LxsessionNetworkGuiAppPrivate;

#define LXSESSION_TYPE_AUDIO_MANAGER_APP (lxsession_audio_manager_app_get_type ())
#define LXSESSION_AUDIO_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_AUDIO_MANAGER_APP, LxsessionAudioManagerApp))
#define LXSESSION_AUDIO_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_AUDIO_MANAGER_APP, LxsessionAudioManagerAppClass))
#define LXSESSION_IS_AUDIO_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_AUDIO_MANAGER_APP))
#define LXSESSION_IS_AUDIO_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_AUDIO_MANAGER_APP))
#define LXSESSION_AUDIO_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_AUDIO_MANAGER_APP, LxsessionAudioManagerAppClass))

typedef struct _LxsessionAudioManagerApp LxsessionAudioManagerApp;
typedef struct _LxsessionAudioManagerAppClass LxsessionAudioManagerAppClass;
typedef struct _LxsessionAudioManagerAppPrivate LxsessionAudioManagerAppPrivate;

#define LXSESSION_TYPE_QUIT_MANAGER_APP (lxsession_quit_manager_app_get_type ())
#define LXSESSION_QUIT_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_QUIT_MANAGER_APP, LxsessionQuitManagerApp))
#define LXSESSION_QUIT_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_QUIT_MANAGER_APP, LxsessionQuitManagerAppClass))
#define LXSESSION_IS_QUIT_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_QUIT_MANAGER_APP))
#define LXSESSION_IS_QUIT_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_QUIT_MANAGER_APP))
#define LXSESSION_QUIT_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_QUIT_MANAGER_APP, LxsessionQuitManagerAppClass))

typedef struct _LxsessionQuitManagerApp LxsessionQuitManagerApp;
typedef struct _LxsessionQuitManagerAppClass LxsessionQuitManagerAppClass;
typedef struct _LxsessionQuitManagerAppPrivate LxsessionQuitManagerAppPrivate;

#define LXSESSION_TYPE_WORKSPACE_MANAGER_APP (lxsession_workspace_manager_app_get_type ())
#define LXSESSION_WORKSPACE_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_WORKSPACE_MANAGER_APP, LxsessionWorkspaceManagerApp))
#define LXSESSION_WORKSPACE_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_WORKSPACE_MANAGER_APP, LxsessionWorkspaceManagerAppClass))
#define LXSESSION_IS_WORKSPACE_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_WORKSPACE_MANAGER_APP))
#define LXSESSION_IS_WORKSPACE_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_WORKSPACE_MANAGER_APP))
#define LXSESSION_WORKSPACE_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_WORKSPACE_MANAGER_APP, LxsessionWorkspaceManagerAppClass))

typedef struct _LxsessionWorkspaceManagerApp LxsessionWorkspaceManagerApp;
typedef struct _LxsessionWorkspaceManagerAppClass LxsessionWorkspaceManagerAppClass;
typedef struct _LxsessionWorkspaceManagerAppPrivate LxsessionWorkspaceManagerAppPrivate;

#define LXSESSION_TYPE_LAUNCHER_MANAGER_APP (lxsession_launcher_manager_app_get_type ())
#define LXSESSION_LAUNCHER_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_LAUNCHER_MANAGER_APP, LxsessionLauncherManagerApp))
#define LXSESSION_LAUNCHER_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_LAUNCHER_MANAGER_APP, LxsessionLauncherManagerAppClass))
#define LXSESSION_IS_LAUNCHER_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_LAUNCHER_MANAGER_APP))
#define LXSESSION_IS_LAUNCHER_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_LAUNCHER_MANAGER_APP))
#define LXSESSION_LAUNCHER_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_LAUNCHER_MANAGER_APP, LxsessionLauncherManagerAppClass))

typedef struct _LxsessionLauncherManagerApp LxsessionLauncherManagerApp;
typedef struct _LxsessionLauncherManagerAppClass LxsessionLauncherManagerAppClass;
typedef struct _LxsessionLauncherManagerAppPrivate LxsessionLauncherManagerAppPrivate;

#define LXSESSION_TYPE_TERMINAL_MANAGER_APP (lxsession_terminal_manager_app_get_type ())
#define LXSESSION_TERMINAL_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_TERMINAL_MANAGER_APP, LxsessionTerminalManagerApp))
#define LXSESSION_TERMINAL_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_TERMINAL_MANAGER_APP, LxsessionTerminalManagerAppClass))
#define LXSESSION_IS_TERMINAL_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_TERMINAL_MANAGER_APP))
#define LXSESSION_IS_TERMINAL_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_TERMINAL_MANAGER_APP))
#define LXSESSION_TERMINAL_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_TERMINAL_MANAGER_APP, LxsessionTerminalManagerAppClass))

typedef struct _LxsessionTerminalManagerApp LxsessionTerminalManagerApp;
typedef struct _LxsessionTerminalManagerAppClass LxsessionTerminalManagerAppClass;
typedef struct _LxsessionTerminalManagerAppPrivate LxsessionTerminalManagerAppPrivate;

#define LXSESSION_TYPE_PROXY_MANAGER_APP (lxsession_proxy_manager_app_get_type ())
#define LXSESSION_PROXY_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_PROXY_MANAGER_APP, LxsessionProxyManagerApp))
#define LXSESSION_PROXY_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_PROXY_MANAGER_APP, LxsessionProxyManagerAppClass))
#define LXSESSION_IS_PROXY_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_PROXY_MANAGER_APP))
#define LXSESSION_IS_PROXY_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_PROXY_MANAGER_APP))
#define LXSESSION_PROXY_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_PROXY_MANAGER_APP, LxsessionProxyManagerAppClass))

typedef struct _LxsessionProxyManagerApp LxsessionProxyManagerApp;
typedef struct _LxsessionProxyManagerAppClass LxsessionProxyManagerAppClass;
typedef struct _LxsessionProxyManagerAppPrivate LxsessionProxyManagerAppPrivate;

#define LXSESSION_TYPE_A11Y_APP (lxsession_a11y_app_get_type ())
#define LXSESSION_A11Y_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_A11Y_APP, LxsessionA11yApp))
#define LXSESSION_A11Y_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_A11Y_APP, LxsessionA11yAppClass))
#define LXSESSION_IS_A11Y_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_A11Y_APP))
#define LXSESSION_IS_A11Y_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_A11Y_APP))
#define LXSESSION_A11Y_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_A11Y_APP, LxsessionA11yAppClass))

typedef struct _LxsessionA11yApp LxsessionA11yApp;
typedef struct _LxsessionA11yAppClass LxsessionA11yAppClass;
typedef struct _LxsessionA11yAppPrivate LxsessionA11yAppPrivate;

#define LXSESSION_TYPE_XRANDR_APP (lxsession_xrandr_app_get_type ())
#define LXSESSION_XRANDR_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_XRANDR_APP, LxsessionXrandrApp))
#define LXSESSION_XRANDR_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_XRANDR_APP, LxsessionXrandrAppClass))
#define LXSESSION_IS_XRANDR_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_XRANDR_APP))
#define LXSESSION_IS_XRANDR_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_XRANDR_APP))
#define LXSESSION_XRANDR_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_XRANDR_APP, LxsessionXrandrAppClass))

typedef struct _LxsessionXrandrApp LxsessionXrandrApp;
typedef struct _LxsessionXrandrAppClass LxsessionXrandrAppClass;
typedef struct _LxsessionXrandrAppPrivate LxsessionXrandrAppPrivate;

#define LXSESSION_TYPE_KEYRING_APP (lxsession_keyring_app_get_type ())
#define LXSESSION_KEYRING_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_KEYRING_APP, LxsessionKeyringApp))
#define LXSESSION_KEYRING_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_KEYRING_APP, LxsessionKeyringAppClass))
#define LXSESSION_IS_KEYRING_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_KEYRING_APP))
#define LXSESSION_IS_KEYRING_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_KEYRING_APP))
#define LXSESSION_KEYRING_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_KEYRING_APP, LxsessionKeyringAppClass))

typedef struct _LxsessionKeyringApp LxsessionKeyringApp;
typedef struct _LxsessionKeyringAppClass LxsessionKeyringAppClass;
typedef struct _LxsessionKeyringAppPrivate LxsessionKeyringAppPrivate;

#define LXSESSION_TYPE_SCREENSHOT_MANAGER_APP (lxsession_screenshot_manager_app_get_type ())
#define LXSESSION_SCREENSHOT_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_SCREENSHOT_MANAGER_APP, LxsessionScreenshotManagerApp))
#define LXSESSION_SCREENSHOT_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_SCREENSHOT_MANAGER_APP, LxsessionScreenshotManagerAppClass))
#define LXSESSION_IS_SCREENSHOT_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_SCREENSHOT_MANAGER_APP))
#define LXSESSION_IS_SCREENSHOT_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_SCREENSHOT_MANAGER_APP))
#define LXSESSION_SCREENSHOT_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_SCREENSHOT_MANAGER_APP, LxsessionScreenshotManagerAppClass))

typedef struct _LxsessionScreenshotManagerApp LxsessionScreenshotManagerApp;
typedef struct _LxsessionScreenshotManagerAppClass LxsessionScreenshotManagerAppClass;
typedef struct _LxsessionScreenshotManagerAppPrivate LxsessionScreenshotManagerAppPrivate;

#define LXSESSION_TYPE_UPDATES_MANAGER_APP (lxsession_updates_manager_app_get_type ())
#define LXSESSION_UPDATES_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_UPDATES_MANAGER_APP, LxsessionUpdatesManagerApp))
#define LXSESSION_UPDATES_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_UPDATES_MANAGER_APP, LxsessionUpdatesManagerAppClass))
#define LXSESSION_IS_UPDATES_MANAGER_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_UPDATES_MANAGER_APP))
#define LXSESSION_IS_UPDATES_MANAGER_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_UPDATES_MANAGER_APP))
#define LXSESSION_UPDATES_MANAGER_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_UPDATES_MANAGER_APP, LxsessionUpdatesManagerAppClass))

typedef struct _LxsessionUpdatesManagerApp LxsessionUpdatesManagerApp;
typedef struct _LxsessionUpdatesManagerAppClass LxsessionUpdatesManagerAppClass;
typedef struct _LxsessionUpdatesManagerAppPrivate LxsessionUpdatesManagerAppPrivate;

struct _LxsessionAppObject {
	GObject parent_instance;
	LxsessionAppObjectPrivate * priv;
	GPid pid;
};

struct _LxsessionAppObjectClass {
	GObjectClass parent_class;
	void (*read_config_settings) (LxsessionAppObject* self);
	void (*read_settings) (LxsessionAppObject* self);
};

struct _LxsessionAppObjectPrivate {
	gchar* _name;
	gchar** _command;
	gint _command_length1;
	gint __command_size_;
	gboolean _guard;
	gchar* _application_type;
	gint _crash_count;
	gint _stop_reload;
};

struct _LxsessionSimpleAppObject {
	LxsessionAppObject parent_instance;
	LxsessionSimpleAppObjectPrivate * priv;
};

struct _LxsessionSimpleAppObjectClass {
	LxsessionAppObjectClass parent_class;
};

struct _LxsessionGenericAppObject {
	LxsessionAppObject parent_instance;
	LxsessionGenericAppObjectPrivate * priv;
};

struct _LxsessionGenericAppObjectClass {
	LxsessionAppObjectClass parent_class;
};

struct _LxsessionAppType {
	gchar* name;
	gchar** command;
	gint command_length1;
	gboolean guard;
	gchar* application_type;
};

struct _LxsessionGenericSimpleApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionGenericSimpleAppPrivate * priv;
};

struct _LxsessionGenericSimpleAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionGenericSimpleAppPrivate {
	gchar* _settings_command;
};

struct _LxsessionWindowsManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionWindowsManagerAppPrivate * priv;
};

struct _LxsessionWindowsManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionWindowsManagerAppPrivate {
	gchar* wm_command;
	gchar* mode;
	gchar* session;
	gchar* extras;
};

struct _LxsessionPanelApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionPanelAppPrivate * priv;
	gchar* panel_command;
	gchar* panel_session;
};

struct _LxsessionPanelAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionDockApp {
	LxsessionPanelApp parent_instance;
	LxsessionDockAppPrivate * priv;
};

struct _LxsessionDockAppClass {
	LxsessionPanelAppClass parent_class;
};

struct _LxsessionScreensaverApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionScreensaverAppPrivate * priv;
};

struct _LxsessionScreensaverAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionScreensaverAppPrivate {
	gchar* screensaver_command;
};

struct _LxsessionPowerManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionPowerManagerAppPrivate * priv;
};

struct _LxsessionPowerManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionPowerManagerAppPrivate {
	gchar* powermanager_command;
	gchar* laptop_mode;
};

struct _LxsessionFileManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionFileManagerAppPrivate * priv;
};

struct _LxsessionFileManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionFileManagerAppPrivate {
	gchar* filemanager_command;
	gchar* filemanager_session;
	gchar* filemanager_extras;
};

struct _LxsessionDesktopApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionDesktopAppPrivate * priv;
};

struct _LxsessionDesktopAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionDesktopAppPrivate {
	gchar* desktop_command;
	gchar* desktop_wallpaper;
};

struct _LxsessionPolkitApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionPolkitAppPrivate * priv;
};

struct _LxsessionPolkitAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionPolkitAppPrivate {
	gchar* polkit_command;
};

struct _LxsessionNetworkGuiApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionNetworkGuiAppPrivate * priv;
};

struct _LxsessionNetworkGuiAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionNetworkGuiAppPrivate {
	gchar* network_command;
	gchar* laptop_mode;
};

struct _LxsessionAudioManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionAudioManagerAppPrivate * priv;
};

struct _LxsessionAudioManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionAudioManagerAppPrivate {
	gchar* audiomanager_command;
};

struct _LxsessionQuitManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionQuitManagerAppPrivate * priv;
};

struct _LxsessionQuitManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionQuitManagerAppPrivate {
	gchar* quitmanager_command;
	gchar* quitmanager_image;
	gchar* quitmanager_layout;
};

struct _LxsessionWorkspaceManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionWorkspaceManagerAppPrivate * priv;
};

struct _LxsessionWorkspaceManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionWorkspaceManagerAppPrivate {
	gchar* workspacemanager_command;
};

struct _LxsessionLauncherManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionLauncherManagerAppPrivate * priv;
};

struct _LxsessionLauncherManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionLauncherManagerAppPrivate {
	gchar* launchermanager_command;
};

struct _LxsessionTerminalManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionTerminalManagerAppPrivate * priv;
};

struct _LxsessionTerminalManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionTerminalManagerAppPrivate {
	gchar* terminalmanager_command;
};

struct _LxsessionProxyManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionProxyManagerAppPrivate * priv;
};

struct _LxsessionProxyManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionProxyManagerAppPrivate {
	gchar* proxymanager_command;
	gchar* proxymanager_http;
};

struct _LxsessionA11yApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionA11yAppPrivate * priv;
};

struct _LxsessionA11yAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionA11yAppPrivate {
	gchar* a11y_command;
};

struct _LxsessionXrandrApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionXrandrAppPrivate * priv;
};

struct _LxsessionXrandrAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionXrandrAppPrivate {
	gchar* xrandr_command;
};

struct _LxsessionKeyringApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionKeyringAppPrivate * priv;
};

struct _LxsessionKeyringAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionKeyringAppPrivate {
	gchar* keyring_command;
	gchar* keyring_type;
};

struct _LxsessionScreenshotManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionScreenshotManagerAppPrivate * priv;
};

struct _LxsessionScreenshotManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionScreenshotManagerAppPrivate {
	gchar* screenshotmanager_command;
};

struct _LxsessionUpdatesManagerApp {
	LxsessionSimpleAppObject parent_instance;
	LxsessionUpdatesManagerAppPrivate * priv;
};

struct _LxsessionUpdatesManagerAppClass {
	LxsessionSimpleAppObjectClass parent_class;
};

struct _LxsessionUpdatesManagerAppPrivate {
	gchar* updatesmanager_command;
};


static gpointer lxsession_app_object_parent_class = NULL;
static gpointer lxsession_simple_app_object_parent_class = NULL;
static gpointer lxsession_generic_app_object_parent_class = NULL;
static gpointer lxsession_generic_simple_app_parent_class = NULL;
static gpointer lxsession_windows_manager_app_parent_class = NULL;
extern LxsessionLxsessionConfigKeyFile* lxsession_global_settings;
static gpointer lxsession_panel_app_parent_class = NULL;
static gpointer lxsession_dock_app_parent_class = NULL;
static gpointer lxsession_screensaver_app_parent_class = NULL;
static gpointer lxsession_power_manager_app_parent_class = NULL;
static gpointer lxsession_file_manager_app_parent_class = NULL;
static gpointer lxsession_desktop_app_parent_class = NULL;
extern LxsessionFileManagerApp* lxsession_global_file_manager;
static gpointer lxsession_polkit_app_parent_class = NULL;
static gpointer lxsession_network_gui_app_parent_class = NULL;
static gpointer lxsession_audio_manager_app_parent_class = NULL;
static gpointer lxsession_quit_manager_app_parent_class = NULL;
static gpointer lxsession_workspace_manager_app_parent_class = NULL;
static gpointer lxsession_launcher_manager_app_parent_class = NULL;
static gpointer lxsession_terminal_manager_app_parent_class = NULL;
static gpointer lxsession_proxy_manager_app_parent_class = NULL;
static gpointer lxsession_a11y_app_parent_class = NULL;
static gpointer lxsession_xrandr_app_parent_class = NULL;
static gpointer lxsession_keyring_app_parent_class = NULL;
static gpointer lxsession_screenshot_manager_app_parent_class = NULL;
static gpointer lxsession_updates_manager_app_parent_class = NULL;

GType lxsession_app_object_get_type (void) G_GNUC_CONST;
#define LXSESSION_APP_OBJECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_APP_OBJECT, LxsessionAppObjectPrivate))
enum  {
	LXSESSION_APP_OBJECT_DUMMY_PROPERTY,
	LXSESSION_APP_OBJECT_NAME,
	LXSESSION_APP_OBJECT_COMMAND,
	LXSESSION_APP_OBJECT_GUARD,
	LXSESSION_APP_OBJECT_APPLICATION_TYPE,
	LXSESSION_APP_OBJECT_CRASH_COUNT,
	LXSESSION_APP_OBJECT_STOP_RELOAD
};
LxsessionAppObject* lxsession_app_object_new (void);
LxsessionAppObject* lxsession_app_object_construct (GType object_type);
void lxsession_app_object_init (LxsessionAppObject* self);
void lxsession_app_object_launch (LxsessionAppObject* self);
void lxsession_app_object_generic_launch (LxsessionAppObject* self, const gchar* arg1);
const gchar* lxsession_app_object_get_name (LxsessionAppObject* self);
gchar** lxsession_app_object_get_command (LxsessionAppObject* self, int* result_length1);
static void lxsession_app_object_callback_pid (LxsessionAppObject* self, GPid pid, gint status);
static void _lxsession_app_object_callback_pid_gchild_watch_func (GPid pid, gint status, gpointer self);
void lxsession_app_object_read_config_settings (LxsessionAppObject* self);
static void lxsession_app_object_real_read_config_settings (LxsessionAppObject* self);
void lxsession_app_object_read_settings (LxsessionAppObject* self);
static void lxsession_app_object_real_read_settings (LxsessionAppObject* self);
void lxsession_app_object_stop (LxsessionAppObject* self);
void lxsession_app_object_reload (LxsessionAppObject* self);
gboolean lxsession_app_object_get_guard (LxsessionAppObject* self);
gint lxsession_app_object_get_crash_count (LxsessionAppObject* self);
void lxsession_app_object_set_crash_count (LxsessionAppObject* self, gint value);
gint lxsession_app_object_get_stop_reload (LxsessionAppObject* self);
void lxsession_app_object_set_name (LxsessionAppObject* self, const gchar* value);
void lxsession_app_object_set_command (LxsessionAppObject* self, gchar** value, int value_length1);
static gchar** _vala_array_dup1 (gchar** self, int length);
void lxsession_app_object_set_guard (LxsessionAppObject* self, gboolean value);
const gchar* lxsession_app_object_get_application_type (LxsessionAppObject* self);
void lxsession_app_object_set_application_type (LxsessionAppObject* self, const gchar* value);
void lxsession_app_object_set_stop_reload (LxsessionAppObject* self, gint value);
static void lxsession_app_object_finalize (GObject* obj);
static void _vala_lxsession_app_object_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_lxsession_app_object_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType lxsession_simple_app_object_get_type (void) G_GNUC_CONST;
enum  {
	LXSESSION_SIMPLE_APP_OBJECT_DUMMY_PROPERTY
};
LxsessionSimpleAppObject* lxsession_simple_app_object_new (void);
LxsessionSimpleAppObject* lxsession_simple_app_object_construct (GType object_type);
GType lxsession_generic_app_object_get_type (void) G_GNUC_CONST;
enum  {
	LXSESSION_GENERIC_APP_OBJECT_DUMMY_PROPERTY
};
GType lxsession_app_type_get_type (void) G_GNUC_CONST;
LxsessionAppType* lxsession_app_type_dup (const LxsessionAppType* self);
void lxsession_app_type_free (LxsessionAppType* self);
void lxsession_app_type_copy (const LxsessionAppType* self, LxsessionAppType* dest);
void lxsession_app_type_destroy (LxsessionAppType* self);
LxsessionGenericAppObject* lxsession_generic_app_object_new (LxsessionAppType* app_type);
LxsessionGenericAppObject* lxsession_generic_app_object_construct (GType object_type, LxsessionAppType* app_type);
GType lxsession_generic_simple_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_GENERIC_SIMPLE_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_GENERIC_SIMPLE_APP, LxsessionGenericSimpleAppPrivate))
enum  {
	LXSESSION_GENERIC_SIMPLE_APP_DUMMY_PROPERTY,
	LXSESSION_GENERIC_SIMPLE_APP_SETTINGS_COMMAND
};
LxsessionGenericSimpleApp* lxsession_generic_simple_app_new (const gchar* argument);
LxsessionGenericSimpleApp* lxsession_generic_simple_app_construct (GType object_type, const gchar* argument);
void lxsession_generic_simple_app_set_settings_command (LxsessionGenericSimpleApp* self, const gchar* value);
static void lxsession_generic_simple_app_real_read_settings (LxsessionAppObject* base);
const gchar* lxsession_generic_simple_app_get_settings_command (LxsessionGenericSimpleApp* self);
static void lxsession_generic_simple_app_finalize (GObject* obj);
static void _vala_lxsession_generic_simple_app_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_lxsession_generic_simple_app_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType lxsession_windows_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_WINDOWS_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_WINDOWS_MANAGER_APP, LxsessionWindowsManagerAppPrivate))
enum  {
	LXSESSION_WINDOWS_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionWindowsManagerApp* lxsession_windows_manager_app_new (void);
LxsessionWindowsManagerApp* lxsession_windows_manager_app_construct (GType object_type);
static void lxsession_windows_manager_app_real_read_settings (LxsessionAppObject* base);
GType lxsession_lxsession_config_get_type (void) G_GNUC_CONST;
GType lxsession_lxsession_config_key_file_get_type (void) G_GNUC_CONST;
gchar* lxsession_lxsession_config_get_item_string (LxsessionLxsessionConfig* self, const gchar* categorie, const gchar* key1, const gchar* key2);
static gchar* lxsession_windows_manager_app_find_window_manager (LxsessionWindowsManagerApp* self);
static void lxsession_windows_manager_app_callback_pid (LxsessionWindowsManagerApp* self, GPid pid, gint status);
void lxsession_lxsession_config_set_generic_default (LxsessionLxsessionConfig* self, const gchar* categorie, const gchar* key1, const gchar* key2, const gchar* type, const gchar* default_value);
void lxsession_windows_manager_app_launch (LxsessionWindowsManagerApp* self);
static void _lxsession_windows_manager_app_callback_pid_gchild_watch_func (GPid pid, gint status, gpointer self);
static void lxsession_windows_manager_app_finalize (GObject* obj);
GType lxsession_panel_app_get_type (void) G_GNUC_CONST;
enum  {
	LXSESSION_PANEL_APP_DUMMY_PROPERTY
};
LxsessionPanelApp* lxsession_panel_app_new (void);
LxsessionPanelApp* lxsession_panel_app_construct (GType object_type);
static void lxsession_panel_app_real_read_config_settings (LxsessionAppObject* base);
static void lxsession_panel_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_panel_app_finalize (GObject* obj);
GType lxsession_dock_app_get_type (void) G_GNUC_CONST;
enum  {
	LXSESSION_DOCK_APP_DUMMY_PROPERTY
};
LxsessionDockApp* lxsession_dock_app_new (void);
LxsessionDockApp* lxsession_dock_app_construct (GType object_type);
static void lxsession_dock_app_real_read_config_settings (LxsessionAppObject* base);
GType lxsession_screensaver_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_SCREENSAVER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_SCREENSAVER_APP, LxsessionScreensaverAppPrivate))
enum  {
	LXSESSION_SCREENSAVER_APP_DUMMY_PROPERTY
};
LxsessionScreensaverApp* lxsession_screensaver_app_new (void);
LxsessionScreensaverApp* lxsession_screensaver_app_construct (GType object_type);
static void lxsession_screensaver_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_screensaver_app_finalize (GObject* obj);
GType lxsession_power_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_POWER_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_POWER_MANAGER_APP, LxsessionPowerManagerAppPrivate))
enum  {
	LXSESSION_POWER_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionPowerManagerApp* lxsession_power_manager_app_new (void);
LxsessionPowerManagerApp* lxsession_power_manager_app_construct (GType object_type);
static void lxsession_power_manager_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_power_manager_app_finalize (GObject* obj);
GType lxsession_file_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_FILE_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_FILE_MANAGER_APP, LxsessionFileManagerAppPrivate))
enum  {
	LXSESSION_FILE_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionFileManagerApp* lxsession_file_manager_app_new (void);
LxsessionFileManagerApp* lxsession_file_manager_app_construct (GType object_type);
static void lxsession_file_manager_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_file_manager_app_finalize (GObject* obj);
GType lxsession_desktop_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_DESKTOP_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_DESKTOP_APP, LxsessionDesktopAppPrivate))
enum  {
	LXSESSION_DESKTOP_APP_DUMMY_PROPERTY
};
LxsessionDesktopApp* lxsession_desktop_app_new (void);
LxsessionDesktopApp* lxsession_desktop_app_construct (GType object_type);
static void lxsession_desktop_app_real_read_settings (LxsessionAppObject* base);
void lxsession_desktop_app_launch_settings (LxsessionDesktopApp* self);
static gchar** _vala_array_dup2 (gchar** self, int length);
static void lxsession_desktop_app_finalize (GObject* obj);
GType lxsession_polkit_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_POLKIT_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_POLKIT_APP, LxsessionPolkitAppPrivate))
enum  {
	LXSESSION_POLKIT_APP_DUMMY_PROPERTY
};
LxsessionPolkitApp* lxsession_polkit_app_new (void);
LxsessionPolkitApp* lxsession_polkit_app_construct (GType object_type);
static void lxsession_polkit_app_real_read_settings (LxsessionAppObject* base);
void lxsession_polkit_app_deactivate (LxsessionPolkitApp* self);
static void lxsession_polkit_app_finalize (GObject* obj);
GType lxsession_network_gui_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_NETWORK_GUI_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_NETWORK_GUI_APP, LxsessionNetworkGuiAppPrivate))
enum  {
	LXSESSION_NETWORK_GUI_APP_DUMMY_PROPERTY
};
LxsessionNetworkGuiApp* lxsession_network_gui_app_new (void);
LxsessionNetworkGuiApp* lxsession_network_gui_app_construct (GType object_type);
static void lxsession_network_gui_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_network_gui_app_finalize (GObject* obj);
GType lxsession_audio_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_AUDIO_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_AUDIO_MANAGER_APP, LxsessionAudioManagerAppPrivate))
enum  {
	LXSESSION_AUDIO_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionAudioManagerApp* lxsession_audio_manager_app_new (void);
LxsessionAudioManagerApp* lxsession_audio_manager_app_construct (GType object_type);
static void lxsession_audio_manager_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_audio_manager_app_finalize (GObject* obj);
GType lxsession_quit_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_QUIT_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_QUIT_MANAGER_APP, LxsessionQuitManagerAppPrivate))
enum  {
	LXSESSION_QUIT_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionQuitManagerApp* lxsession_quit_manager_app_new (void);
LxsessionQuitManagerApp* lxsession_quit_manager_app_construct (GType object_type);
static void lxsession_quit_manager_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_quit_manager_app_finalize (GObject* obj);
GType lxsession_workspace_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_WORKSPACE_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_WORKSPACE_MANAGER_APP, LxsessionWorkspaceManagerAppPrivate))
enum  {
	LXSESSION_WORKSPACE_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionWorkspaceManagerApp* lxsession_workspace_manager_app_new (void);
LxsessionWorkspaceManagerApp* lxsession_workspace_manager_app_construct (GType object_type);
static void lxsession_workspace_manager_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_workspace_manager_app_finalize (GObject* obj);
GType lxsession_launcher_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_LAUNCHER_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_LAUNCHER_MANAGER_APP, LxsessionLauncherManagerAppPrivate))
enum  {
	LXSESSION_LAUNCHER_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionLauncherManagerApp* lxsession_launcher_manager_app_new (void);
LxsessionLauncherManagerApp* lxsession_launcher_manager_app_construct (GType object_type);
static void lxsession_launcher_manager_app_real_read_settings (LxsessionAppObject* base);
void lxsession_launcher_manager_app_autostart_launch (LxsessionLauncherManagerApp* self);
void lxsession_lxsession_spawn_command_line_async (const gchar* command_line);
static void lxsession_launcher_manager_app_finalize (GObject* obj);
GType lxsession_terminal_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_TERMINAL_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_TERMINAL_MANAGER_APP, LxsessionTerminalManagerAppPrivate))
enum  {
	LXSESSION_TERMINAL_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionTerminalManagerApp* lxsession_terminal_manager_app_new (void);
LxsessionTerminalManagerApp* lxsession_terminal_manager_app_construct (GType object_type);
static void lxsession_terminal_manager_app_real_read_config_settings (LxsessionAppObject* base);
static void lxsession_terminal_manager_app_real_read_settings (LxsessionAppObject* base);
void lxsession_terminal_manager_app_launch (LxsessionTerminalManagerApp* self, const gchar* argument);
static void lxsession_terminal_manager_app_finalize (GObject* obj);
GType lxsession_proxy_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_PROXY_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_PROXY_MANAGER_APP, LxsessionProxyManagerAppPrivate))
enum  {
	LXSESSION_PROXY_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionProxyManagerApp* lxsession_proxy_manager_app_new (void);
LxsessionProxyManagerApp* lxsession_proxy_manager_app_construct (GType object_type);
static void lxsession_proxy_manager_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_proxy_manager_app_finalize (GObject* obj);
GType lxsession_a11y_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_A11Y_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_A11Y_APP, LxsessionA11yAppPrivate))
enum  {
	LXSESSION_A11Y_APP_DUMMY_PROPERTY
};
LxsessionA11yApp* lxsession_a11y_app_new (void);
LxsessionA11yApp* lxsession_a11y_app_construct (GType object_type);
static void lxsession_a11y_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_a11y_app_finalize (GObject* obj);
GType lxsession_xrandr_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_XRANDR_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_XRANDR_APP, LxsessionXrandrAppPrivate))
enum  {
	LXSESSION_XRANDR_APP_DUMMY_PROPERTY
};
LxsessionXrandrApp* lxsession_xrandr_app_new (void);
LxsessionXrandrApp* lxsession_xrandr_app_construct (GType object_type);
static void lxsession_xrandr_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_xrandr_app_finalize (GObject* obj);
GType lxsession_keyring_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_KEYRING_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_KEYRING_APP, LxsessionKeyringAppPrivate))
enum  {
	LXSESSION_KEYRING_APP_DUMMY_PROPERTY
};
LxsessionKeyringApp* lxsession_keyring_app_new (void);
LxsessionKeyringApp* lxsession_keyring_app_construct (GType object_type);
static void lxsession_keyring_app_real_read_settings (LxsessionAppObject* base);
static void lxsession_keyring_app_finalize (GObject* obj);
GType lxsession_screenshot_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_SCREENSHOT_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_SCREENSHOT_MANAGER_APP, LxsessionScreenshotManagerAppPrivate))
enum  {
	LXSESSION_SCREENSHOT_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionScreenshotManagerApp* lxsession_screenshot_manager_app_new (void);
LxsessionScreenshotManagerApp* lxsession_screenshot_manager_app_construct (GType object_type);
static void lxsession_screenshot_manager_app_real_read_settings (LxsessionAppObject* base);
void lxsession_screenshot_manager_app_window_launch (LxsessionScreenshotManagerApp* self);
static gchar** _vala_array_dup3 (gchar** self, int length);
static void lxsession_screenshot_manager_app_finalize (GObject* obj);
GType lxsession_updates_manager_app_get_type (void) G_GNUC_CONST;
#define LXSESSION_UPDATES_MANAGER_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), LXSESSION_TYPE_UPDATES_MANAGER_APP, LxsessionUpdatesManagerAppPrivate))
enum  {
	LXSESSION_UPDATES_MANAGER_APP_DUMMY_PROPERTY
};
LxsessionUpdatesManagerApp* lxsession_updates_manager_app_new (void);
LxsessionUpdatesManagerApp* lxsession_updates_manager_app_construct (GType object_type);
static void lxsession_updates_manager_app_real_read_settings (LxsessionAppObject* base);
void lxsession_updates_manager_app_setup_apt_config (LxsessionUpdatesManagerApp* self);
void lxsession_updates_manager_app_on_apt_update_file_change (LxsessionUpdatesManagerApp* self);
static void _lxsession_updates_manager_app_on_apt_update_file_change_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self);
static void lxsession_updates_manager_app_finalize (GObject* obj);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
static gint _vala_array_length (gpointer array);


LxsessionAppObject* lxsession_app_object_construct (GType object_type) {
	LxsessionAppObject * self = NULL;
	self = (LxsessionAppObject*) g_object_new (object_type, NULL);
	lxsession_app_object_init (self);
	return self;
}


LxsessionAppObject* lxsession_app_object_new (void) {
	return lxsession_app_object_construct (LXSESSION_TYPE_APP_OBJECT);
}


void lxsession_app_object_launch (LxsessionAppObject* self) {
	g_return_if_fail (self != NULL);
	lxsession_app_object_generic_launch (self, NULL);
}


static void _lxsession_app_object_callback_pid_gchild_watch_func (GPid pid, gint status, gpointer self) {
	lxsession_app_object_callback_pid ((LxsessionAppObject*) self, pid, status);
}


void lxsession_app_object_generic_launch (LxsessionAppObject* self, const gchar* arg1) {
	const gchar* _tmp0_ = NULL;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_name;
	if (_tmp0_ != NULL) {
		const gchar* _tmp1_ = NULL;
		_tmp1_ = self->priv->_name;
		if (g_strcmp0 (_tmp1_, "") != 0) {
			{
				gchar** spawn_env = NULL;
				gchar** _tmp2_ = NULL;
				gchar** _tmp3_ = NULL;
				gint spawn_env_length1 = 0;
				gint _spawn_env_size_ = 0;
				const gchar* _tmp4_ = NULL;
				gchar** _tmp5_ = NULL;
				gint _tmp5__length1 = 0;
				gchar** _tmp6_ = NULL;
				gint _tmp6__length1 = 0;
				gchar** _tmp7_ = NULL;
				gint _tmp7__length1 = 0;
				GPid _tmp8_ = 0;
				GPid _tmp9_ = 0;
				const gchar* _tmp10_ = NULL;
				FILE* _tmp21_ = NULL;
				_tmp3_ = _tmp2_ = g_get_environ ();
				spawn_env = _tmp3_;
				spawn_env_length1 = _vala_array_length (_tmp2_);
				_spawn_env_size_ = spawn_env_length1;
				_tmp4_ = arg1;
				_tmp5_ = lxsession_app_object_get_command (self, &_tmp5__length1);
				_tmp6_ = _tmp5_;
				_tmp6__length1 = _tmp5__length1;
				_tmp7_ = spawn_env;
				_tmp7__length1 = spawn_env_length1;
				g_spawn_async (_tmp4_, _tmp6_, _tmp7_, G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &_tmp8_, &_inner_error_);
				self->pid = _tmp8_;
				if (G_UNLIKELY (_inner_error_ != NULL)) {
					spawn_env = (_vala_array_free (spawn_env, spawn_env_length1, (GDestroyNotify) g_free), NULL);
					if (_inner_error_->domain == G_SPAWN_ERROR) {
						goto __catch2_g_spawn_error;
					}
					spawn_env = (_vala_array_free (spawn_env, spawn_env_length1, (GDestroyNotify) g_free), NULL);
					g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
					g_clear_error (&_inner_error_);
					return;
				}
				_tmp9_ = self->pid;
				g_child_watch_add_full (G_PRIORITY_DEFAULT_IDLE, _tmp9_, _lxsession_app_object_callback_pid_gchild_watch_func, g_object_ref (self), g_object_unref);
				_tmp10_ = self->priv->_name;
				g_message ("app.vala:76: Launching %s ", _tmp10_);
				{
					gint a = 0;
					a = 0;
					{
						gboolean _tmp11_ = FALSE;
						_tmp11_ = TRUE;
						while (TRUE) {
							gint _tmp13_ = 0;
							gchar** _tmp14_ = NULL;
							gint _tmp14__length1 = 0;
							gchar** _tmp15_ = NULL;
							gint _tmp15__length1 = 0;
							FILE* _tmp16_ = NULL;
							gchar** _tmp17_ = NULL;
							gint _tmp17__length1 = 0;
							gchar** _tmp18_ = NULL;
							gint _tmp18__length1 = 0;
							gint _tmp19_ = 0;
							const gchar* _tmp20_ = NULL;
							if (!_tmp11_) {
								gint _tmp12_ = 0;
								_tmp12_ = a;
								a = _tmp12_ + 1;
							}
							_tmp11_ = FALSE;
							_tmp13_ = a;
							_tmp14_ = lxsession_app_object_get_command (self, &_tmp14__length1);
							_tmp15_ = _tmp14_;
							_tmp15__length1 = _tmp14__length1;
							if (!(_tmp13_ <= _tmp15__length1)) {
								break;
							}
							_tmp16_ = stdout;
							_tmp17_ = lxsession_app_object_get_command (self, &_tmp17__length1);
							_tmp18_ = _tmp17_;
							_tmp18__length1 = _tmp17__length1;
							_tmp19_ = a;
							_tmp20_ = _tmp18_[_tmp19_];
							fprintf (_tmp16_, "%s ", _tmp20_);
						}
					}
				}
				_tmp21_ = stdout;
				fprintf (_tmp21_, "\n");
				spawn_env = (_vala_array_free (spawn_env, spawn_env_length1, (GDestroyNotify) g_free), NULL);
			}
			goto __finally2;
			__catch2_g_spawn_error:
			{
				GError* err = NULL;
				GError* _tmp22_ = NULL;
				const gchar* _tmp23_ = NULL;
				const gchar* _tmp24_ = NULL;
				err = _inner_error_;
				_inner_error_ = NULL;
				_tmp22_ = err;
				_tmp23_ = _tmp22_->message;
				g_warning ("app.vala:86: %s", _tmp23_);
				_tmp24_ = self->priv->_name;
				g_warning ("app.vala:87: Error when launching %s", _tmp24_);
				_g_error_free0 (err);
			}
			__finally2:
			if (G_UNLIKELY (_inner_error_ != NULL)) {
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
				g_clear_error (&_inner_error_);
				return;
			}
		}
	}
}


static void lxsession_app_object_real_read_config_settings (LxsessionAppObject* self) {
}


void lxsession_app_object_read_config_settings (LxsessionAppObject* self) {
	g_return_if_fail (self != NULL);
	LXSESSION_APP_OBJECT_GET_CLASS (self)->read_config_settings (self);
}


static void lxsession_app_object_real_read_settings (LxsessionAppObject* self) {
}


void lxsession_app_object_read_settings (LxsessionAppObject* self) {
	g_return_if_fail (self != NULL);
	LXSESSION_APP_OBJECT_GET_CLASS (self)->read_settings (self);
}


void lxsession_app_object_stop (LxsessionAppObject* self) {
	GPid _tmp0_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->pid;
	if (((gint) _tmp0_) != 0) {
		GPid _tmp1_ = 0;
		GPid _tmp2_ = 0;
		_tmp1_ = self->pid;
		g_message ("app.vala:107: Stopping process with pid %d", (gint) _tmp1_);
		_tmp2_ = self->pid;
		kill ((pid_t) ((gint) _tmp2_), 15);
	}
}


void lxsession_app_object_reload (LxsessionAppObject* self) {
	g_return_if_fail (self != NULL);
	g_message ("app.vala:114: Reloading process");
	lxsession_app_object_stop (self);
	lxsession_app_object_launch (self);
}


void lxsession_app_object_init (LxsessionAppObject* self) {
	g_return_if_fail (self != NULL);
	lxsession_app_object_read_config_settings (self);
	lxsession_app_object_read_settings (self);
}


static void lxsession_app_object_callback_pid (LxsessionAppObject* self, GPid pid, gint status) {
	const gchar* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	GPid _tmp2_ = 0;
	gboolean _tmp3_ = FALSE;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_name;
	_tmp1_ = status;
	g_message ("app.vala:130: %s exit with this type of exit: %i", _tmp0_, _tmp1_);
	_tmp2_ = pid;
	g_spawn_close_pid (_tmp2_);
	_tmp3_ = self->priv->_guard;
	if (_tmp3_ == TRUE) {
		gint _tmp4_ = 0;
		_tmp4_ = status;
		switch (_tmp4_) {
			case 0:
			{
				g_message ("app.vala:139: Exit normal, don't reload");
				break;
			}
			case 15:
			{
				g_message ("app.vala:142: Exit by the user, don't reload");
				break;
			}
			case 256:
			{
				g_message ("app.vala:145: Exit normal, don't reload");
				break;
			}
			default:
			{
				gint _tmp5_ = 0;
				gint _tmp6_ = 0;
				gint _tmp7_ = 0;
				g_message ("app.vala:148: Exit not normal, try to reload");
				_tmp5_ = self->priv->_crash_count;
				lxsession_app_object_set_crash_count (self, _tmp5_ + 1);
				_tmp6_ = self->priv->_crash_count;
				_tmp7_ = self->priv->_stop_reload;
				if (_tmp6_ <= _tmp7_) {
					lxsession_app_object_launch (self);
				} else {
					g_message ("app.vala:156: Application crashed too much, stop reloading");
				}
				break;
			}
		}
	}
}


const gchar* lxsession_app_object_get_name (LxsessionAppObject* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_name;
	result = _tmp0_;
	return result;
}


void lxsession_app_object_set_name (LxsessionAppObject* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_name);
	self->priv->_name = _tmp1_;
	g_object_notify ((GObject *) self, "name");
}


gchar** lxsession_app_object_get_command (LxsessionAppObject* self, int* result_length1) {
	gchar** result;
	gchar** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gchar** _tmp1_ = NULL;
	gint _tmp1__length1 = 0;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_command;
	_tmp0__length1 = self->priv->_command_length1;
	_tmp1_ = _tmp0_;
	_tmp1__length1 = _tmp0__length1;
	if (result_length1) {
		*result_length1 = _tmp1__length1;
	}
	result = _tmp1_;
	return result;
}


static gchar** _vala_array_dup1 (gchar** self, int length) {
	gchar** result;
	int i;
	result = g_new0 (gchar*, length + 1);
	for (i = 0; i < length; i++) {
		gchar* _tmp0_ = NULL;
		_tmp0_ = g_strdup (self[i]);
		result[i] = _tmp0_;
	}
	return result;
}


void lxsession_app_object_set_command (LxsessionAppObject* self, gchar** value, int value_length1) {
	gchar** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gchar** _tmp1_ = NULL;
	gint _tmp1__length1 = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp0__length1 = value_length1;
	_tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup1 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_);
	_tmp1__length1 = _tmp0__length1;
	self->priv->_command = (_vala_array_free (self->priv->_command, self->priv->_command_length1, (GDestroyNotify) g_free), NULL);
	self->priv->_command = _tmp1_;
	self->priv->_command_length1 = _tmp1__length1;
	self->priv->__command_size_ = self->priv->_command_length1;
	g_object_notify ((GObject *) self, "command");
}


gboolean lxsession_app_object_get_guard (LxsessionAppObject* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_guard;
	result = _tmp0_;
	return result;
}


void lxsession_app_object_set_guard (LxsessionAppObject* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	self->priv->_guard = _tmp0_;
	g_object_notify ((GObject *) self, "guard");
}


const gchar* lxsession_app_object_get_application_type (LxsessionAppObject* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_application_type;
	result = _tmp0_;
	return result;
}


void lxsession_app_object_set_application_type (LxsessionAppObject* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_application_type);
	self->priv->_application_type = _tmp1_;
	g_object_notify ((GObject *) self, "application-type");
}


gint lxsession_app_object_get_crash_count (LxsessionAppObject* self) {
	gint result;
	gint _tmp0_ = 0;
	g_return_val_if_fail (self != NULL, 0);
	_tmp0_ = self->priv->_crash_count;
	result = _tmp0_;
	return result;
}


void lxsession_app_object_set_crash_count (LxsessionAppObject* self, gint value) {
	gint _tmp0_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	self->priv->_crash_count = _tmp0_;
	g_object_notify ((GObject *) self, "crash-count");
}


gint lxsession_app_object_get_stop_reload (LxsessionAppObject* self) {
	gint result;
	gint _tmp0_ = 0;
	g_return_val_if_fail (self != NULL, 0);
	_tmp0_ = self->priv->_stop_reload;
	result = _tmp0_;
	return result;
}


void lxsession_app_object_set_stop_reload (LxsessionAppObject* self, gint value) {
	gint _tmp0_ = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	self->priv->_stop_reload = _tmp0_;
	g_object_notify ((GObject *) self, "stop-reload");
}


static void lxsession_app_object_class_init (LxsessionAppObjectClass * klass) {
	lxsession_app_object_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionAppObjectPrivate));
	((LxsessionAppObjectClass *) klass)->read_config_settings = lxsession_app_object_real_read_config_settings;
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_app_object_real_read_settings;
	G_OBJECT_CLASS (klass)->get_property = _vala_lxsession_app_object_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_lxsession_app_object_set_property;
	G_OBJECT_CLASS (klass)->finalize = lxsession_app_object_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), LXSESSION_APP_OBJECT_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LXSESSION_APP_OBJECT_COMMAND, g_param_spec_boxed ("command", "command", "command", G_TYPE_STRV, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LXSESSION_APP_OBJECT_GUARD, g_param_spec_boolean ("guard", "guard", "guard", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LXSESSION_APP_OBJECT_APPLICATION_TYPE, g_param_spec_string ("application-type", "application-type", "application-type", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LXSESSION_APP_OBJECT_CRASH_COUNT, g_param_spec_int ("crash-count", "crash-count", "crash-count", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), LXSESSION_APP_OBJECT_STOP_RELOAD, g_param_spec_int ("stop-reload", "stop-reload", "stop-reload", G_MININT, G_MAXINT, 5, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void lxsession_app_object_instance_init (LxsessionAppObject * self) {
	self->priv = LXSESSION_APP_OBJECT_GET_PRIVATE (self);
	self->priv->_guard = FALSE;
	self->priv->_crash_count = 0;
	self->priv->_stop_reload = 5;
}


static void lxsession_app_object_finalize (GObject* obj) {
	LxsessionAppObject * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_APP_OBJECT, LxsessionAppObject);
	_g_free0 (self->priv->_name);
	self->priv->_command = (_vala_array_free (self->priv->_command, self->priv->_command_length1, (GDestroyNotify) g_free), NULL);
	_g_free0 (self->priv->_application_type);
	G_OBJECT_CLASS (lxsession_app_object_parent_class)->finalize (obj);
}


GType lxsession_app_object_get_type (void) {
	static volatile gsize lxsession_app_object_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_app_object_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionAppObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_app_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionAppObject), 0, (GInstanceInitFunc) lxsession_app_object_instance_init, NULL };
		GType lxsession_app_object_type_id;
		lxsession_app_object_type_id = g_type_register_static (G_TYPE_OBJECT, "LxsessionAppObject", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_app_object_type_id__volatile, lxsession_app_object_type_id);
	}
	return lxsession_app_object_type_id__volatile;
}


static void _vala_lxsession_app_object_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	LxsessionAppObject * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, LXSESSION_TYPE_APP_OBJECT, LxsessionAppObject);
	switch (property_id) {
		case LXSESSION_APP_OBJECT_NAME:
		g_value_set_string (value, lxsession_app_object_get_name (self));
		break;
		case LXSESSION_APP_OBJECT_COMMAND:
		{
			int length;
			g_value_set_boxed (value, lxsession_app_object_get_command (self, &length));
		}
		break;
		case LXSESSION_APP_OBJECT_GUARD:
		g_value_set_boolean (value, lxsession_app_object_get_guard (self));
		break;
		case LXSESSION_APP_OBJECT_APPLICATION_TYPE:
		g_value_set_string (value, lxsession_app_object_get_application_type (self));
		break;
		case LXSESSION_APP_OBJECT_CRASH_COUNT:
		g_value_set_int (value, lxsession_app_object_get_crash_count (self));
		break;
		case LXSESSION_APP_OBJECT_STOP_RELOAD:
		g_value_set_int (value, lxsession_app_object_get_stop_reload (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_lxsession_app_object_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	LxsessionAppObject * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, LXSESSION_TYPE_APP_OBJECT, LxsessionAppObject);
	switch (property_id) {
		case LXSESSION_APP_OBJECT_NAME:
		lxsession_app_object_set_name (self, g_value_get_string (value));
		break;
		case LXSESSION_APP_OBJECT_COMMAND:
		{
			gpointer boxed;
			boxed = g_value_get_boxed (value);
			lxsession_app_object_set_command (self, boxed, g_strv_length (boxed));
		}
		break;
		case LXSESSION_APP_OBJECT_GUARD:
		lxsession_app_object_set_guard (self, g_value_get_boolean (value));
		break;
		case LXSESSION_APP_OBJECT_APPLICATION_TYPE:
		lxsession_app_object_set_application_type (self, g_value_get_string (value));
		break;
		case LXSESSION_APP_OBJECT_CRASH_COUNT:
		lxsession_app_object_set_crash_count (self, g_value_get_int (value));
		break;
		case LXSESSION_APP_OBJECT_STOP_RELOAD:
		lxsession_app_object_set_stop_reload (self, g_value_get_int (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


LxsessionSimpleAppObject* lxsession_simple_app_object_construct (GType object_type) {
	LxsessionSimpleAppObject * self = NULL;
	gchar* _tmp0_ = NULL;
	gchar** _tmp1_ = NULL;
	gchar** _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	self = (LxsessionSimpleAppObject*) lxsession_app_object_construct (object_type);
	lxsession_app_object_set_name ((LxsessionAppObject*) self, "");
	_tmp0_ = g_strdup ("");
	_tmp1_ = g_new0 (gchar*, 1 + 1);
	_tmp1_[0] = _tmp0_;
	_tmp2_ = _tmp1_;
	_tmp2__length1 = 1;
	lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp2_, 1);
	_tmp2_ = (_vala_array_free (_tmp2_, _tmp2__length1, (GDestroyNotify) g_free), NULL);
	lxsession_app_object_set_guard ((LxsessionAppObject*) self, FALSE);
	lxsession_app_object_set_application_type ((LxsessionAppObject*) self, "");
	return self;
}


LxsessionSimpleAppObject* lxsession_simple_app_object_new (void) {
	return lxsession_simple_app_object_construct (LXSESSION_TYPE_SIMPLE_APP_OBJECT);
}


static void lxsession_simple_app_object_class_init (LxsessionSimpleAppObjectClass * klass) {
	lxsession_simple_app_object_parent_class = g_type_class_peek_parent (klass);
}


static void lxsession_simple_app_object_instance_init (LxsessionSimpleAppObject * self) {
}


GType lxsession_simple_app_object_get_type (void) {
	static volatile gsize lxsession_simple_app_object_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_simple_app_object_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionSimpleAppObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_simple_app_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionSimpleAppObject), 0, (GInstanceInitFunc) lxsession_simple_app_object_instance_init, NULL };
		GType lxsession_simple_app_object_type_id;
		lxsession_simple_app_object_type_id = g_type_register_static (LXSESSION_TYPE_APP_OBJECT, "LxsessionSimpleAppObject", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_simple_app_object_type_id__volatile, lxsession_simple_app_object_type_id);
	}
	return lxsession_simple_app_object_type_id__volatile;
}


LxsessionGenericAppObject* lxsession_generic_app_object_construct (GType object_type, LxsessionAppType* app_type) {
	LxsessionGenericAppObject * self = NULL;
	LxsessionAppType _tmp0_ = {0};
	const gchar* _tmp1_ = NULL;
	LxsessionAppType _tmp2_ = {0};
	gchar** _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
	LxsessionAppType _tmp4_ = {0};
	gboolean _tmp5_ = FALSE;
	LxsessionAppType _tmp6_ = {0};
	const gchar* _tmp7_ = NULL;
	g_return_val_if_fail (app_type != NULL, NULL);
	self = (LxsessionGenericAppObject*) lxsession_app_object_construct (object_type);
	_tmp0_ = *app_type;
	_tmp1_ = _tmp0_.name;
	lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp1_);
	_tmp2_ = *app_type;
	_tmp3_ = _tmp2_.command;
	_tmp3__length1 = _tmp2_.command_length1;
	lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp3_, _tmp3__length1);
	_tmp4_ = *app_type;
	_tmp5_ = _tmp4_.guard;
	lxsession_app_object_set_guard ((LxsessionAppObject*) self, _tmp5_);
	_tmp6_ = *app_type;
	_tmp7_ = _tmp6_.application_type;
	lxsession_app_object_set_application_type ((LxsessionAppObject*) self, _tmp7_);
	return self;
}


LxsessionGenericAppObject* lxsession_generic_app_object_new (LxsessionAppType* app_type) {
	return lxsession_generic_app_object_construct (LXSESSION_TYPE_GENERIC_APP_OBJECT, app_type);
}


static void lxsession_generic_app_object_class_init (LxsessionGenericAppObjectClass * klass) {
	lxsession_generic_app_object_parent_class = g_type_class_peek_parent (klass);
}


static void lxsession_generic_app_object_instance_init (LxsessionGenericAppObject * self) {
}


GType lxsession_generic_app_object_get_type (void) {
	static volatile gsize lxsession_generic_app_object_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_generic_app_object_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionGenericAppObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_generic_app_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionGenericAppObject), 0, (GInstanceInitFunc) lxsession_generic_app_object_instance_init, NULL };
		GType lxsession_generic_app_object_type_id;
		lxsession_generic_app_object_type_id = g_type_register_static (LXSESSION_TYPE_APP_OBJECT, "LxsessionGenericAppObject", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_generic_app_object_type_id__volatile, lxsession_generic_app_object_type_id);
	}
	return lxsession_generic_app_object_type_id__volatile;
}


LxsessionGenericSimpleApp* lxsession_generic_simple_app_construct (GType object_type, const gchar* argument) {
	LxsessionGenericSimpleApp * self = NULL;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (argument != NULL, NULL);
	self = (LxsessionGenericSimpleApp*) lxsession_simple_app_object_construct (object_type);
	_tmp0_ = argument;
	lxsession_generic_simple_app_set_settings_command (self, _tmp0_);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionGenericSimpleApp* lxsession_generic_simple_app_new (const gchar* argument) {
	return lxsession_generic_simple_app_construct (LXSESSION_TYPE_GENERIC_SIMPLE_APP, argument);
}


static void lxsession_generic_simple_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionGenericSimpleApp * self;
	gchar** create_command = NULL;
	const gchar* _tmp0_ = NULL;
	gchar** _tmp1_ = NULL;
	gchar** _tmp2_ = NULL;
	gint create_command_length1 = 0;
	gint _create_command_size_ = 0;
	const gchar* _tmp3_ = NULL;
	self = (LxsessionGenericSimpleApp*) base;
	_tmp0_ = self->priv->_settings_command;
	_tmp2_ = _tmp1_ = g_strsplit_set (_tmp0_, " ", 0);
	create_command = _tmp2_;
	create_command_length1 = _vala_array_length (_tmp1_);
	_create_command_size_ = create_command_length1;
	_tmp3_ = create_command[0];
	lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp3_);
	lxsession_app_object_set_command ((LxsessionAppObject*) self, create_command, create_command_length1);
	create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
}


const gchar* lxsession_generic_simple_app_get_settings_command (LxsessionGenericSimpleApp* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_settings_command;
	result = _tmp0_;
	return result;
}


void lxsession_generic_simple_app_set_settings_command (LxsessionGenericSimpleApp* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_settings_command);
	self->priv->_settings_command = _tmp1_;
	g_object_notify ((GObject *) self, "settings-command");
}


static void lxsession_generic_simple_app_class_init (LxsessionGenericSimpleAppClass * klass) {
	lxsession_generic_simple_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionGenericSimpleAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_generic_simple_app_real_read_settings;
	G_OBJECT_CLASS (klass)->get_property = _vala_lxsession_generic_simple_app_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_lxsession_generic_simple_app_set_property;
	G_OBJECT_CLASS (klass)->finalize = lxsession_generic_simple_app_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), LXSESSION_GENERIC_SIMPLE_APP_SETTINGS_COMMAND, g_param_spec_string ("settings-command", "settings-command", "settings-command", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void lxsession_generic_simple_app_instance_init (LxsessionGenericSimpleApp * self) {
	gchar* _tmp0_ = NULL;
	self->priv = LXSESSION_GENERIC_SIMPLE_APP_GET_PRIVATE (self);
	_tmp0_ = g_strdup ("");
	self->priv->_settings_command = _tmp0_;
}


static void lxsession_generic_simple_app_finalize (GObject* obj) {
	LxsessionGenericSimpleApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_GENERIC_SIMPLE_APP, LxsessionGenericSimpleApp);
	_g_free0 (self->priv->_settings_command);
	G_OBJECT_CLASS (lxsession_generic_simple_app_parent_class)->finalize (obj);
}


GType lxsession_generic_simple_app_get_type (void) {
	static volatile gsize lxsession_generic_simple_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_generic_simple_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionGenericSimpleAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_generic_simple_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionGenericSimpleApp), 0, (GInstanceInitFunc) lxsession_generic_simple_app_instance_init, NULL };
		GType lxsession_generic_simple_app_type_id;
		lxsession_generic_simple_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionGenericSimpleApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_generic_simple_app_type_id__volatile, lxsession_generic_simple_app_type_id);
	}
	return lxsession_generic_simple_app_type_id__volatile;
}


static void _vala_lxsession_generic_simple_app_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	LxsessionGenericSimpleApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, LXSESSION_TYPE_GENERIC_SIMPLE_APP, LxsessionGenericSimpleApp);
	switch (property_id) {
		case LXSESSION_GENERIC_SIMPLE_APP_SETTINGS_COMMAND:
		g_value_set_string (value, lxsession_generic_simple_app_get_settings_command (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_lxsession_generic_simple_app_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	LxsessionGenericSimpleApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, LXSESSION_TYPE_GENERIC_SIMPLE_APP, LxsessionGenericSimpleApp);
	switch (property_id) {
		case LXSESSION_GENERIC_SIMPLE_APP_SETTINGS_COMMAND:
		lxsession_generic_simple_app_set_settings_command (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


LxsessionWindowsManagerApp* lxsession_windows_manager_app_construct (GType object_type) {
	LxsessionWindowsManagerApp * self = NULL;
	self = (LxsessionWindowsManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionWindowsManagerApp* lxsession_windows_manager_app_new (void) {
	return lxsession_windows_manager_app_construct (LXSESSION_TYPE_WINDOWS_MANAGER_APP);
}


static void lxsession_windows_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionWindowsManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gboolean _tmp3_ = FALSE;
	gchar* session_command = NULL;
	const gchar* _tmp16_ = NULL;
	self = (LxsessionWindowsManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "window_manager", NULL);
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_ != NULL;
	_g_free0 (_tmp2_);
	if (_tmp3_) {
		gchar* _tmp4_ = NULL;
		LxsessionLxsessionConfigKeyFile* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		gchar* _tmp8_ = NULL;
		_tmp4_ = g_strdup ("simple");
		_g_free0 (self->priv->mode);
		self->priv->mode = _tmp4_;
		_tmp5_ = lxsession_global_settings;
		_tmp6_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp5_, "Session", "window_manager", NULL);
		_g_free0 (self->priv->wm_command);
		self->priv->wm_command = _tmp6_;
		_tmp7_ = g_strdup ("");
		_g_free0 (self->priv->session);
		self->priv->session = _tmp7_;
		_tmp8_ = g_strdup ("");
		_g_free0 (self->priv->extras);
		self->priv->extras = _tmp8_;
	} else {
		gchar* _tmp9_ = NULL;
		LxsessionLxsessionConfigKeyFile* _tmp10_ = NULL;
		gchar* _tmp11_ = NULL;
		LxsessionLxsessionConfigKeyFile* _tmp12_ = NULL;
		gchar* _tmp13_ = NULL;
		LxsessionLxsessionConfigKeyFile* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
		_tmp9_ = g_strdup ("advanced");
		_g_free0 (self->priv->mode);
		self->priv->mode = _tmp9_;
		_tmp10_ = lxsession_global_settings;
		_tmp11_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp10_, "Session", "windows_manager", "command");
		_g_free0 (self->priv->wm_command);
		self->priv->wm_command = _tmp11_;
		_tmp12_ = lxsession_global_settings;
		_tmp13_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp12_, "Session", "windows_manager", "session");
		_g_free0 (self->priv->session);
		self->priv->session = _tmp13_;
		_tmp14_ = lxsession_global_settings;
		_tmp15_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp14_, "Session", "windows_manager", "extras");
		_g_free0 (self->priv->extras);
		self->priv->extras = _tmp15_;
	}
	_tmp16_ = self->priv->wm_command;
	if (g_strcmp0 (_tmp16_, "wm_safe") == 0) {
		gchar* _tmp17_ = NULL;
		gchar** _tmp18_ = NULL;
		gchar** _tmp19_ = NULL;
		gint _tmp19__length1 = 0;
		lxsession_app_object_set_name ((LxsessionAppObject*) self, "wm_safe");
		_tmp17_ = lxsession_windows_manager_app_find_window_manager (self);
		_tmp18_ = g_new0 (gchar*, 1 + 1);
		_tmp18_[0] = _tmp17_;
		_tmp19_ = _tmp18_;
		_tmp19__length1 = 1;
		lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp19_, 1);
		_tmp19_ = (_vala_array_free (_tmp19_, _tmp19__length1, (GDestroyNotify) g_free), NULL);
	} else {
		const gchar* _tmp20_ = NULL;
		_tmp20_ = self->priv->mode;
		if (g_strcmp0 (_tmp20_, "simple") == 0) {
			const gchar* _tmp21_ = NULL;
			const gchar* _tmp22_ = NULL;
			gchar* _tmp23_ = NULL;
			gchar** _tmp24_ = NULL;
			gchar** _tmp25_ = NULL;
			gint _tmp25__length1 = 0;
			_tmp21_ = self->priv->wm_command;
			lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp21_);
			_tmp22_ = self->priv->wm_command;
			_tmp23_ = g_strdup (_tmp22_);
			_tmp24_ = g_new0 (gchar*, 1 + 1);
			_tmp24_[0] = _tmp23_;
			_tmp25_ = _tmp24_;
			_tmp25__length1 = 1;
			lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp25_, 1);
			_tmp25_ = (_vala_array_free (_tmp25_, _tmp25__length1, (GDestroyNotify) g_free), NULL);
		} else {
			const gchar* _tmp26_ = NULL;
			gchar* create_command = NULL;
			gchar* xdg_config_env = NULL;
			const gchar* _tmp27_ = NULL;
			gchar* _tmp28_ = NULL;
			const gchar* _tmp29_ = NULL;
			const gchar* _tmp30_ = NULL;
			GQuark _tmp32_ = 0U;
			static GQuark _tmp31_label0 = 0;
			static GQuark _tmp31_label1 = 0;
			const gchar* _tmp53_ = NULL;
			const gchar* _tmp54_ = NULL;
			GQuark _tmp56_ = 0U;
			static GQuark _tmp55_label0 = 0;
			static GQuark _tmp55_label1 = 0;
			static GQuark _tmp55_label2 = 0;
			const gchar* _tmp82_ = NULL;
			gchar** _tmp83_ = NULL;
			gchar** _tmp84_ = NULL;
			gchar** _tmp85_ = NULL;
			gint _tmp85__length1 = 0;
			_tmp26_ = self->priv->wm_command;
			lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp26_);
			_tmp27_ = g_getenv ("XDG_CONFIG_HOME");
			_tmp28_ = g_strdup (_tmp27_);
			xdg_config_env = _tmp28_;
			_tmp29_ = self->priv->wm_command;
			_tmp30_ = _tmp29_;
			_tmp32_ = (NULL == _tmp30_) ? 0 : g_quark_from_string (_tmp30_);
			if (_tmp32_ == ((0 != _tmp31_label0) ? _tmp31_label0 : (_tmp31_label0 = g_quark_from_static_string ("openbox")))) {
				switch (0) {
					default:
					{
						const gchar* _tmp33_ = NULL;
						const gchar* _tmp34_ = NULL;
						GQuark _tmp36_ = 0U;
						static GQuark _tmp35_label0 = 0;
						static GQuark _tmp35_label1 = 0;
						_tmp33_ = self->priv->session;
						_tmp34_ = _tmp33_;
						_tmp36_ = (NULL == _tmp34_) ? 0 : g_quark_from_string (_tmp34_);
						if (_tmp36_ == ((0 != _tmp35_label0) ? _tmp35_label0 : (_tmp35_label0 = g_quark_from_static_string ("LXDE")))) {
							switch (0) {
								default:
								{
									const gchar* _tmp37_ = NULL;
									gchar* _tmp38_ = NULL;
									gchar* _tmp39_ = NULL;
									gchar* _tmp40_ = NULL;
									_tmp37_ = xdg_config_env;
									_tmp38_ = g_strconcat ("--config-file ", _tmp37_, NULL);
									_tmp39_ = _tmp38_;
									_tmp40_ = g_strconcat (_tmp39_, "/openbox/lxde-rc.xml", NULL);
									_g_free0 (session_command);
									session_command = _tmp40_;
									_g_free0 (_tmp39_);
									break;
								}
							}
						} else if (_tmp36_ == ((0 != _tmp35_label1) ? _tmp35_label1 : (_tmp35_label1 = g_quark_from_static_string ("Lubuntu")))) {
							switch (0) {
								default:
								{
									const gchar* _tmp41_ = NULL;
									gchar* _tmp42_ = NULL;
									gchar* _tmp43_ = NULL;
									gchar* _tmp44_ = NULL;
									_tmp41_ = xdg_config_env;
									_tmp42_ = g_strconcat ("--config-file ", _tmp41_, NULL);
									_tmp43_ = _tmp42_;
									_tmp44_ = g_strconcat (_tmp43_, "/openbox/lubuntu-rc.xml", NULL);
									_g_free0 (session_command);
									session_command = _tmp44_;
									_g_free0 (_tmp43_);
									break;
								}
							}
						} else {
							switch (0) {
								default:
								{
									gchar* _tmp45_ = NULL;
									_tmp45_ = g_strdup ("");
									_g_free0 (session_command);
									session_command = _tmp45_;
									break;
								}
							}
						}
						break;
					}
				}
			} else if (_tmp32_ == ((0 != _tmp31_label1) ? _tmp31_label1 : (_tmp31_label1 = g_quark_from_static_string ("openbox-custom")))) {
				switch (0) {
					default:
					{
						const gchar* _tmp46_ = NULL;
						const gchar* _tmp47_ = NULL;
						GQuark _tmp49_ = 0U;
						_tmp46_ = self->priv->session;
						_tmp47_ = _tmp46_;
						_tmp49_ = (NULL == _tmp47_) ? 0 : g_quark_from_string (_tmp47_);
						switch (0) {
							default:
							{
								const gchar* _tmp50_ = NULL;
								gchar* _tmp51_ = NULL;
								_tmp50_ = self->priv->session;
								_tmp51_ = g_strconcat ("--config-file ", _tmp50_, NULL);
								_g_free0 (session_command);
								session_command = _tmp51_;
								break;
							}
						}
						break;
					}
				}
			} else {
				switch (0) {
					default:
					{
						gchar* _tmp52_ = NULL;
						_tmp52_ = g_strdup ("");
						_g_free0 (session_command);
						session_command = _tmp52_;
						break;
					}
				}
			}
			_tmp53_ = self->priv->extras;
			_tmp54_ = _tmp53_;
			_tmp56_ = (NULL == _tmp54_) ? 0 : g_quark_from_string (_tmp54_);
			if (_tmp56_ == ((0 != _tmp55_label0) ? _tmp55_label0 : (_tmp55_label0 = g_quark_from_static_string (NULL)))) {
				switch (0) {
					default:
					{
						const gchar* _tmp57_ = NULL;
						gchar* _tmp58_ = NULL;
						gchar* _tmp59_ = NULL;
						const gchar* _tmp60_ = NULL;
						gchar* _tmp61_ = NULL;
						_tmp57_ = self->priv->wm_command;
						_tmp58_ = g_strconcat (_tmp57_, " ", NULL);
						_tmp59_ = _tmp58_;
						_tmp60_ = session_command;
						_tmp61_ = g_strconcat (_tmp59_, _tmp60_, NULL);
						_g_free0 (create_command);
						create_command = _tmp61_;
						_g_free0 (_tmp59_);
						break;
					}
				}
			} else if (_tmp56_ == ((0 != _tmp55_label1) ? _tmp55_label1 : (_tmp55_label1 = g_quark_from_static_string ("")))) {
				switch (0) {
					default:
					{
						const gchar* _tmp62_ = NULL;
						gchar* _tmp63_ = NULL;
						gchar* _tmp64_ = NULL;
						const gchar* _tmp65_ = NULL;
						gchar* _tmp66_ = NULL;
						_tmp62_ = self->priv->wm_command;
						_tmp63_ = g_strconcat (_tmp62_, " ", NULL);
						_tmp64_ = _tmp63_;
						_tmp65_ = session_command;
						_tmp66_ = g_strconcat (_tmp64_, _tmp65_, NULL);
						_g_free0 (create_command);
						create_command = _tmp66_;
						_g_free0 (_tmp64_);
						break;
					}
				}
			} else if (_tmp56_ == ((0 != _tmp55_label2) ? _tmp55_label2 : (_tmp55_label2 = g_quark_from_static_string (" ")))) {
				switch (0) {
					default:
					{
						const gchar* _tmp67_ = NULL;
						gchar* _tmp68_ = NULL;
						gchar* _tmp69_ = NULL;
						const gchar* _tmp70_ = NULL;
						gchar* _tmp71_ = NULL;
						_tmp67_ = self->priv->wm_command;
						_tmp68_ = g_strconcat (_tmp67_, " ", NULL);
						_tmp69_ = _tmp68_;
						_tmp70_ = session_command;
						_tmp71_ = g_strconcat (_tmp69_, _tmp70_, NULL);
						_g_free0 (create_command);
						create_command = _tmp71_;
						_g_free0 (_tmp69_);
						break;
					}
				}
			} else {
				switch (0) {
					default:
					{
						const gchar* _tmp72_ = NULL;
						gchar* _tmp73_ = NULL;
						gchar* _tmp74_ = NULL;
						const gchar* _tmp75_ = NULL;
						gchar* _tmp76_ = NULL;
						gchar* _tmp77_ = NULL;
						gchar* _tmp78_ = NULL;
						gchar* _tmp79_ = NULL;
						const gchar* _tmp80_ = NULL;
						gchar* _tmp81_ = NULL;
						_tmp72_ = self->priv->wm_command;
						_tmp73_ = g_strconcat (_tmp72_, " ", NULL);
						_tmp74_ = _tmp73_;
						_tmp75_ = session_command;
						_tmp76_ = g_strconcat (_tmp74_, _tmp75_, NULL);
						_tmp77_ = _tmp76_;
						_tmp78_ = g_strconcat (_tmp77_, " ", NULL);
						_tmp79_ = _tmp78_;
						_tmp80_ = self->priv->extras;
						_tmp81_ = g_strconcat (_tmp79_, _tmp80_, NULL);
						_g_free0 (create_command);
						create_command = _tmp81_;
						_g_free0 (_tmp79_);
						_g_free0 (_tmp77_);
						_g_free0 (_tmp74_);
						break;
					}
				}
			}
			_tmp82_ = create_command;
			_tmp84_ = _tmp83_ = g_strsplit_set (_tmp82_, " ", 0);
			_tmp85_ = _tmp84_;
			_tmp85__length1 = _vala_array_length (_tmp83_);
			lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp85_, _vala_array_length (_tmp83_));
			_tmp85_ = (_vala_array_free (_tmp85_, _tmp85__length1, (GDestroyNotify) g_free), NULL);
			_g_free0 (xdg_config_env);
			_g_free0 (create_command);
		}
	}
	lxsession_app_object_set_guard ((LxsessionAppObject*) self, TRUE);
	_g_free0 (session_command);
}


static gchar* lxsession_windows_manager_app_find_window_manager (LxsessionWindowsManagerApp* self) {
	gchar* result = NULL;
	GArray* wm_list = NULL;
	GArray* _tmp0_ = NULL;
	GArray* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	GArray* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	GArray* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	GArray* _tmp7_ = NULL;
	gchar* _tmp8_ = NULL;
	GArray* _tmp9_ = NULL;
	gchar* _tmp10_ = NULL;
	GArray* _tmp11_ = NULL;
	gchar* _tmp12_ = NULL;
	GArray* _tmp13_ = NULL;
	gchar* _tmp14_ = NULL;
	GArray* _tmp15_ = NULL;
	gchar* _tmp16_ = NULL;
	GArray* _tmp17_ = NULL;
	gchar* _tmp18_ = NULL;
	GArray* _tmp19_ = NULL;
	gchar* _tmp20_ = NULL;
	gchar* return_value = NULL;
	gchar* _tmp21_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_array_new (TRUE, TRUE, sizeof (gchar*));
	wm_list = _tmp0_;
	_tmp1_ = wm_list;
	_tmp2_ = g_strdup ("openbox-lxde");
	g_array_append_val (_tmp1_, _tmp2_);
	_tmp3_ = wm_list;
	_tmp4_ = g_strdup ("openbox-lubuntu");
	g_array_append_val (_tmp3_, _tmp4_);
	_tmp5_ = wm_list;
	_tmp6_ = g_strdup ("openbox");
	g_array_append_val (_tmp5_, _tmp6_);
	_tmp7_ = wm_list;
	_tmp8_ = g_strdup ("compiz");
	g_array_append_val (_tmp7_, _tmp8_);
	_tmp9_ = wm_list;
	_tmp10_ = g_strdup ("kwin");
	g_array_append_val (_tmp9_, _tmp10_);
	_tmp11_ = wm_list;
	_tmp12_ = g_strdup ("mutter");
	g_array_append_val (_tmp11_, _tmp12_);
	_tmp13_ = wm_list;
	_tmp14_ = g_strdup ("fluxbox");
	g_array_append_val (_tmp13_, _tmp14_);
	_tmp15_ = wm_list;
	_tmp16_ = g_strdup ("metacity");
	g_array_append_val (_tmp15_, _tmp16_);
	_tmp17_ = wm_list;
	_tmp18_ = g_strdup ("xfwin");
	g_array_append_val (_tmp17_, _tmp18_);
	_tmp19_ = wm_list;
	_tmp20_ = g_strdup ("matchbox");
	g_array_append_val (_tmp19_, _tmp20_);
	_tmp21_ = g_strdup ("");
	return_value = _tmp21_;
	{
		gint i = 0;
		i = 0;
		{
			gboolean _tmp22_ = FALSE;
			_tmp22_ = TRUE;
			while (TRUE) {
				gint _tmp24_ = 0;
				GArray* _tmp25_ = NULL;
				guint _tmp26_ = 0U;
				const gchar* wm = NULL;
				GArray* _tmp27_ = NULL;
				gint _tmp28_ = 0;
				const gchar* _tmp29_ = NULL;
				gchar* test_wm = NULL;
				const gchar* _tmp30_ = NULL;
				gchar* _tmp31_ = NULL;
				const gchar* _tmp32_ = NULL;
				if (!_tmp22_) {
					gint _tmp23_ = 0;
					_tmp23_ = i;
					i = _tmp23_ + 1;
				}
				_tmp22_ = FALSE;
				_tmp24_ = i;
				_tmp25_ = wm_list;
				_tmp26_ = _tmp25_->len;
				if (!(((guint) _tmp24_) < _tmp26_)) {
					break;
				}
				_tmp27_ = wm_list;
				_tmp28_ = i;
				_tmp29_ = g_array_index (_tmp27_, gchar*, (guint) _tmp28_);
				wm = _tmp29_;
				_tmp30_ = wm;
				_tmp31_ = g_find_program_in_path (_tmp30_);
				test_wm = _tmp31_;
				_tmp32_ = test_wm;
				if (_tmp32_ != NULL) {
					const gchar* _tmp33_ = NULL;
					const gchar* _tmp34_ = NULL;
					gchar* _tmp35_ = NULL;
					_tmp33_ = wm;
					g_message ("app.vala:328: Finding %s", _tmp33_);
					_tmp34_ = wm;
					_tmp35_ = g_strdup (_tmp34_);
					_g_free0 (return_value);
					return_value = _tmp35_;
					_g_free0 (test_wm);
					break;
				}
				_g_free0 (test_wm);
			}
		}
	}
	result = return_value;
	_g_array_unref0 (wm_list);
	return result;
}


static void lxsession_windows_manager_app_callback_pid (LxsessionWindowsManagerApp* self, GPid pid, gint status) {
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	GPid _tmp8_ = 0;
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_ = FALSE;
	g_return_if_fail (self != NULL);
	_tmp0_ = lxsession_app_object_get_name ((LxsessionAppObject*) self);
	_tmp1_ = _tmp0_;
	_tmp2_ = status;
	g_message ("app.vala:343: %s exit with this type of exit: %i\n", _tmp1_, _tmp2_);
	_tmp3_ = status;
	if (_tmp3_ == (-1)) {
		gchar* _tmp4_ = NULL;
		gchar** _tmp5_ = NULL;
		gchar** _tmp6_ = NULL;
		gint _tmp6__length1 = 0;
		LxsessionLxsessionConfigKeyFile* _tmp7_ = NULL;
		lxsession_app_object_set_name ((LxsessionAppObject*) self, "wm_safe");
		_tmp4_ = lxsession_windows_manager_app_find_window_manager (self);
		_tmp5_ = g_new0 (gchar*, 1 + 1);
		_tmp5_[0] = _tmp4_;
		_tmp6_ = _tmp5_;
		_tmp6__length1 = 1;
		lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp6_, 1);
		_tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
		_tmp7_ = lxsession_global_settings;
		lxsession_lxsession_config_set_generic_default ((LxsessionLxsessionConfig*) _tmp7_, "Session", "windows_manager", "command", "string", "wm_safe");
	}
	_tmp8_ = pid;
	g_spawn_close_pid (_tmp8_);
	_tmp9_ = lxsession_app_object_get_guard ((LxsessionAppObject*) self);
	_tmp10_ = _tmp9_;
	if (_tmp10_ == TRUE) {
		gint _tmp11_ = 0;
		_tmp11_ = status;
		switch (_tmp11_) {
			case 0:
			{
				g_message ("app.vala:359: Exit normal, don't reload");
				break;
			}
			case 15:
			{
				g_message ("app.vala:362: Exit by the user, don't reload");
				break;
			}
			case 256:
			{
				g_message ("app.vala:365: Exit normal, don't reload");
				break;
			}
			default:
			{
				gint _tmp12_ = 0;
				gint _tmp13_ = 0;
				gint _tmp14_ = 0;
				gint _tmp15_ = 0;
				gint _tmp16_ = 0;
				gint _tmp17_ = 0;
				g_message ("app.vala:368: Exit not normal, try to reload");
				_tmp12_ = lxsession_app_object_get_crash_count ((LxsessionAppObject*) self);
				_tmp13_ = _tmp12_;
				lxsession_app_object_set_crash_count ((LxsessionAppObject*) self, _tmp13_ + 1);
				_tmp14_ = lxsession_app_object_get_crash_count ((LxsessionAppObject*) self);
				_tmp15_ = _tmp14_;
				_tmp16_ = lxsession_app_object_get_stop_reload ((LxsessionAppObject*) self);
				_tmp17_ = _tmp16_;
				if (_tmp15_ <= _tmp17_) {
					lxsession_windows_manager_app_launch (self);
				} else {
					g_message ("app.vala:376: Application crashed too much, stop reloading");
				}
				break;
			}
		}
	}
}


static void _lxsession_windows_manager_app_callback_pid_gchild_watch_func (GPid pid, gint status, gpointer self) {
	lxsession_windows_manager_app_callback_pid ((LxsessionWindowsManagerApp*) self, pid, status);
}


void lxsession_windows_manager_app_launch (LxsessionWindowsManagerApp* self) {
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	lxsession_app_object_read_config_settings ((LxsessionAppObject*) self);
	lxsession_app_object_read_settings ((LxsessionAppObject*) self);
	_tmp0_ = lxsession_app_object_get_name ((LxsessionAppObject*) self);
	_tmp1_ = _tmp0_;
	if (_tmp1_ != NULL) {
		{
			gchar** spawn_env = NULL;
			gchar** _tmp2_ = NULL;
			gchar** _tmp3_ = NULL;
			gint spawn_env_length1 = 0;
			gint _spawn_env_size_ = 0;
			gchar** _tmp4_ = NULL;
			gint _tmp4__length1 = 0;
			gchar** _tmp5_ = NULL;
			gint _tmp5__length1 = 0;
			gchar** _tmp6_ = NULL;
			gint _tmp6__length1 = 0;
			GPid _tmp7_ = 0;
			GPid _tmp8_ = 0;
			FILE* _tmp19_ = NULL;
			_tmp3_ = _tmp2_ = g_get_environ ();
			spawn_env = _tmp3_;
			spawn_env_length1 = _vala_array_length (_tmp2_);
			_spawn_env_size_ = spawn_env_length1;
			_tmp4_ = lxsession_app_object_get_command ((LxsessionAppObject*) self, &_tmp4__length1);
			_tmp5_ = _tmp4_;
			_tmp5__length1 = _tmp4__length1;
			_tmp6_ = spawn_env;
			_tmp6__length1 = spawn_env_length1;
			g_spawn_async (NULL, _tmp5_, _tmp6_, G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, NULL, NULL, &_tmp7_, &_inner_error_);
			((LxsessionAppObject*) self)->pid = _tmp7_;
			if (G_UNLIKELY (_inner_error_ != NULL)) {
				spawn_env = (_vala_array_free (spawn_env, spawn_env_length1, (GDestroyNotify) g_free), NULL);
				if (_inner_error_->domain == G_SPAWN_ERROR) {
					goto __catch3_g_spawn_error;
				}
				spawn_env = (_vala_array_free (spawn_env, spawn_env_length1, (GDestroyNotify) g_free), NULL);
				g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
				g_clear_error (&_inner_error_);
				return;
			}
			_tmp8_ = ((LxsessionAppObject*) self)->pid;
			g_child_watch_add_full (G_PRIORITY_DEFAULT_IDLE, _tmp8_, _lxsession_windows_manager_app_callback_pid_gchild_watch_func, g_object_ref (self), g_object_unref);
			{
				gint a = 0;
				a = 0;
				{
					gboolean _tmp9_ = FALSE;
					_tmp9_ = TRUE;
					while (TRUE) {
						gint _tmp11_ = 0;
						gchar** _tmp12_ = NULL;
						gint _tmp12__length1 = 0;
						gchar** _tmp13_ = NULL;
						gint _tmp13__length1 = 0;
						FILE* _tmp14_ = NULL;
						gchar** _tmp15_ = NULL;
						gint _tmp15__length1 = 0;
						gchar** _tmp16_ = NULL;
						gint _tmp16__length1 = 0;
						gint _tmp17_ = 0;
						const gchar* _tmp18_ = NULL;
						if (!_tmp9_) {
							gint _tmp10_ = 0;
							_tmp10_ = a;
							a = _tmp10_ + 1;
						}
						_tmp9_ = FALSE;
						_tmp11_ = a;
						_tmp12_ = lxsession_app_object_get_command ((LxsessionAppObject*) self, &_tmp12__length1);
						_tmp13_ = _tmp12_;
						_tmp13__length1 = _tmp12__length1;
						if (!(_tmp11_ <= _tmp13__length1)) {
							break;
						}
						_tmp14_ = stdout;
						_tmp15_ = lxsession_app_object_get_command ((LxsessionAppObject*) self, &_tmp15__length1);
						_tmp16_ = _tmp15_;
						_tmp16__length1 = _tmp15__length1;
						_tmp17_ = a;
						_tmp18_ = _tmp16_[_tmp17_];
						fprintf (_tmp14_, "%s ", _tmp18_);
					}
				}
			}
			_tmp19_ = stdout;
			fprintf (_tmp19_, "\n");
			spawn_env = (_vala_array_free (spawn_env, spawn_env_length1, (GDestroyNotify) g_free), NULL);
		}
		goto __finally3;
		__catch3_g_spawn_error:
		{
			GError* err = NULL;
			GError* _tmp20_ = NULL;
			const gchar* _tmp21_ = NULL;
			err = _inner_error_;
			_inner_error_ = NULL;
			_tmp20_ = err;
			_tmp21_ = _tmp20_->message;
			g_warning ("app.vala:411: %s", _tmp21_);
			_g_error_free0 (err);
		}
		__finally3:
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
			g_clear_error (&_inner_error_);
			return;
		}
	}
}


static void lxsession_windows_manager_app_class_init (LxsessionWindowsManagerAppClass * klass) {
	lxsession_windows_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionWindowsManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_windows_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_windows_manager_app_finalize;
}


static void lxsession_windows_manager_app_instance_init (LxsessionWindowsManagerApp * self) {
	self->priv = LXSESSION_WINDOWS_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_windows_manager_app_finalize (GObject* obj) {
	LxsessionWindowsManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_WINDOWS_MANAGER_APP, LxsessionWindowsManagerApp);
	_g_free0 (self->priv->wm_command);
	_g_free0 (self->priv->mode);
	_g_free0 (self->priv->session);
	_g_free0 (self->priv->extras);
	G_OBJECT_CLASS (lxsession_windows_manager_app_parent_class)->finalize (obj);
}


GType lxsession_windows_manager_app_get_type (void) {
	static volatile gsize lxsession_windows_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_windows_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionWindowsManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_windows_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionWindowsManagerApp), 0, (GInstanceInitFunc) lxsession_windows_manager_app_instance_init, NULL };
		GType lxsession_windows_manager_app_type_id;
		lxsession_windows_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionWindowsManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_windows_manager_app_type_id__volatile, lxsession_windows_manager_app_type_id);
	}
	return lxsession_windows_manager_app_type_id__volatile;
}


LxsessionPanelApp* lxsession_panel_app_construct (GType object_type) {
	LxsessionPanelApp * self = NULL;
	self = (LxsessionPanelApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionPanelApp* lxsession_panel_app_new (void) {
	return lxsession_panel_app_construct (LXSESSION_TYPE_PANEL_APP);
}


static void lxsession_panel_app_real_read_config_settings (LxsessionAppObject* base) {
	LxsessionPanelApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	self = (LxsessionPanelApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "panel", "command");
	_g_free0 (self->panel_command);
	self->panel_command = _tmp1_;
	_tmp2_ = lxsession_global_settings;
	_tmp3_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp2_, "Session", "panel", "session");
	_g_free0 (self->panel_session);
	self->panel_session = _tmp3_;
}


static void lxsession_panel_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionPanelApp * self;
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	GQuark _tmp3_ = 0U;
	static GQuark _tmp2_label0 = 0;
	static GQuark _tmp2_label1 = 0;
	self = (LxsessionPanelApp*) base;
	_tmp0_ = self->panel_command;
	_tmp1_ = _tmp0_;
	_tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
	if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("lxpanel")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp4_ = NULL;
				const gchar* _tmp5_ = NULL;
				_tmp4_ = self->panel_command;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp4_);
				_tmp5_ = self->panel_session;
				if (_tmp5_ != NULL) {
					gchar* create_command = NULL;
					const gchar* _tmp6_ = NULL;
					gchar* _tmp7_ = NULL;
					const gchar* _tmp8_ = NULL;
					gchar** _tmp9_ = NULL;
					gchar** _tmp10_ = NULL;
					gchar** _tmp11_ = NULL;
					gint _tmp11__length1 = 0;
					_tmp6_ = self->panel_session;
					_tmp7_ = g_strconcat ("lxpanel --profile ", _tmp6_, NULL);
					create_command = _tmp7_;
					_tmp8_ = create_command;
					_tmp10_ = _tmp9_ = g_strsplit_set (_tmp8_, " ", 0);
					_tmp11_ = _tmp10_;
					_tmp11__length1 = _vala_array_length (_tmp9_);
					lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp11_, _vala_array_length (_tmp9_));
					_tmp11_ = (_vala_array_free (_tmp11_, _tmp11__length1, (GDestroyNotify) g_free), NULL);
					_g_free0 (create_command);
				} else {
					const gchar* _tmp12_ = NULL;
					gchar* _tmp13_ = NULL;
					gchar** _tmp14_ = NULL;
					gchar** _tmp15_ = NULL;
					gint _tmp15__length1 = 0;
					_tmp12_ = self->panel_command;
					_tmp13_ = g_strdup (_tmp12_);
					_tmp14_ = g_new0 (gchar*, 1 + 1);
					_tmp14_[0] = _tmp13_;
					_tmp15_ = _tmp14_;
					_tmp15__length1 = 1;
					lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp15_, 1);
					_tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
				}
				break;
			}
		}
	} else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("awn")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp16_ = NULL;
				gchar* create_command = NULL;
				gchar* _tmp17_ = NULL;
				const gchar* _tmp18_ = NULL;
				gchar** _tmp19_ = NULL;
				gchar** _tmp20_ = NULL;
				gchar** _tmp21_ = NULL;
				gint _tmp21__length1 = 0;
				_tmp16_ = self->panel_command;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp16_);
				_tmp17_ = g_strdup ("avant-window-navigator");
				create_command = _tmp17_;
				_tmp18_ = create_command;
				_tmp20_ = _tmp19_ = g_strsplit_set (_tmp18_, " ", 0);
				_tmp21_ = _tmp20_;
				_tmp21__length1 = _vala_array_length (_tmp19_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp21_, _vala_array_length (_tmp19_));
				_tmp21_ = (_vala_array_free (_tmp21_, _tmp21__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp22_ = NULL;
				gchar** _tmp23_ = NULL;
				gchar** _tmp24_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp25_ = NULL;
				gint _tmp25__length1 = 0;
				const gchar* _tmp26_ = NULL;
				gchar** _tmp27_ = NULL;
				gint _tmp27__length1 = 0;
				_tmp22_ = self->panel_command;
				_tmp24_ = _tmp23_ = g_strsplit_set (_tmp22_, " ", 0);
				create_command = _tmp24_;
				create_command_length1 = _vala_array_length (_tmp23_);
				_create_command_size_ = create_command_length1;
				_tmp25_ = create_command;
				_tmp25__length1 = create_command_length1;
				_tmp26_ = _tmp25_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp26_);
				_tmp27_ = create_command;
				_tmp27__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp27_, _tmp27__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
	lxsession_app_object_set_guard ((LxsessionAppObject*) self, TRUE);
}


static void lxsession_panel_app_class_init (LxsessionPanelAppClass * klass) {
	lxsession_panel_app_parent_class = g_type_class_peek_parent (klass);
	((LxsessionAppObjectClass *) klass)->read_config_settings = lxsession_panel_app_real_read_config_settings;
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_panel_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_panel_app_finalize;
}


static void lxsession_panel_app_instance_init (LxsessionPanelApp * self) {
}


static void lxsession_panel_app_finalize (GObject* obj) {
	LxsessionPanelApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_PANEL_APP, LxsessionPanelApp);
	_g_free0 (self->panel_command);
	_g_free0 (self->panel_session);
	G_OBJECT_CLASS (lxsession_panel_app_parent_class)->finalize (obj);
}


GType lxsession_panel_app_get_type (void) {
	static volatile gsize lxsession_panel_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_panel_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionPanelAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_panel_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionPanelApp), 0, (GInstanceInitFunc) lxsession_panel_app_instance_init, NULL };
		GType lxsession_panel_app_type_id;
		lxsession_panel_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionPanelApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_panel_app_type_id__volatile, lxsession_panel_app_type_id);
	}
	return lxsession_panel_app_type_id__volatile;
}


LxsessionDockApp* lxsession_dock_app_construct (GType object_type) {
	LxsessionDockApp * self = NULL;
	self = (LxsessionDockApp*) lxsession_panel_app_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionDockApp* lxsession_dock_app_new (void) {
	return lxsession_dock_app_construct (LXSESSION_TYPE_DOCK_APP);
}


static void lxsession_dock_app_real_read_config_settings (LxsessionAppObject* base) {
	LxsessionDockApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	self = (LxsessionDockApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "dock", "command");
	_g_free0 (((LxsessionPanelApp*) self)->panel_command);
	((LxsessionPanelApp*) self)->panel_command = _tmp1_;
	_tmp2_ = lxsession_global_settings;
	_tmp3_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp2_, "Session", "dock", "session");
	_g_free0 (((LxsessionPanelApp*) self)->panel_session);
	((LxsessionPanelApp*) self)->panel_session = _tmp3_;
}


static void lxsession_dock_app_class_init (LxsessionDockAppClass * klass) {
	lxsession_dock_app_parent_class = g_type_class_peek_parent (klass);
	((LxsessionAppObjectClass *) klass)->read_config_settings = lxsession_dock_app_real_read_config_settings;
}


static void lxsession_dock_app_instance_init (LxsessionDockApp * self) {
}


GType lxsession_dock_app_get_type (void) {
	static volatile gsize lxsession_dock_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_dock_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionDockAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_dock_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionDockApp), 0, (GInstanceInitFunc) lxsession_dock_app_instance_init, NULL };
		GType lxsession_dock_app_type_id;
		lxsession_dock_app_type_id = g_type_register_static (LXSESSION_TYPE_PANEL_APP, "LxsessionDockApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_dock_app_type_id__volatile, lxsession_dock_app_type_id);
	}
	return lxsession_dock_app_type_id__volatile;
}


LxsessionScreensaverApp* lxsession_screensaver_app_construct (GType object_type) {
	LxsessionScreensaverApp * self = NULL;
	self = (LxsessionScreensaverApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionScreensaverApp* lxsession_screensaver_app_new (void) {
	return lxsession_screensaver_app_construct (LXSESSION_TYPE_SCREENSAVER_APP);
}


static void lxsession_screensaver_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionScreensaverApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
	static GQuark _tmp4_label0 = 0;
	self = (LxsessionScreensaverApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "screensaver", "command");
	_g_free0 (self->priv->screensaver_command);
	self->priv->screensaver_command = _tmp1_;
	_tmp2_ = self->priv->screensaver_command;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("xscreensaver")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp6_ = NULL;
				gchar* create_command = NULL;
				gchar* _tmp7_ = NULL;
				const gchar* _tmp8_ = NULL;
				gchar** _tmp9_ = NULL;
				gchar** _tmp10_ = NULL;
				gchar** _tmp11_ = NULL;
				gint _tmp11__length1 = 0;
				_tmp6_ = self->priv->screensaver_command;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp6_);
				_tmp7_ = g_strdup ("xscreensaver -no-splash");
				create_command = _tmp7_;
				_tmp8_ = create_command;
				_tmp10_ = _tmp9_ = g_strsplit_set (_tmp8_, " ", 0);
				_tmp11_ = _tmp10_;
				_tmp11__length1 = _vala_array_length (_tmp9_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp11_, _vala_array_length (_tmp9_));
				_tmp11_ = (_vala_array_free (_tmp11_, _tmp11__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp12_ = NULL;
				gchar** _tmp13_ = NULL;
				gchar** _tmp14_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp15_ = NULL;
				gint _tmp15__length1 = 0;
				const gchar* _tmp16_ = NULL;
				gchar** _tmp17_ = NULL;
				gint _tmp17__length1 = 0;
				_tmp12_ = self->priv->screensaver_command;
				_tmp14_ = _tmp13_ = g_strsplit_set (_tmp12_, " ", 0);
				create_command = _tmp14_;
				create_command_length1 = _vala_array_length (_tmp13_);
				_create_command_size_ = create_command_length1;
				_tmp15_ = create_command;
				_tmp15__length1 = create_command_length1;
				_tmp16_ = _tmp15_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp16_);
				_tmp17_ = create_command;
				_tmp17__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp17_, _tmp17__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
	lxsession_app_object_set_guard ((LxsessionAppObject*) self, TRUE);
}


static void lxsession_screensaver_app_class_init (LxsessionScreensaverAppClass * klass) {
	lxsession_screensaver_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionScreensaverAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_screensaver_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_screensaver_app_finalize;
}


static void lxsession_screensaver_app_instance_init (LxsessionScreensaverApp * self) {
	self->priv = LXSESSION_SCREENSAVER_APP_GET_PRIVATE (self);
}


static void lxsession_screensaver_app_finalize (GObject* obj) {
	LxsessionScreensaverApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_SCREENSAVER_APP, LxsessionScreensaverApp);
	_g_free0 (self->priv->screensaver_command);
	G_OBJECT_CLASS (lxsession_screensaver_app_parent_class)->finalize (obj);
}


GType lxsession_screensaver_app_get_type (void) {
	static volatile gsize lxsession_screensaver_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_screensaver_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionScreensaverAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_screensaver_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionScreensaverApp), 0, (GInstanceInitFunc) lxsession_screensaver_app_instance_init, NULL };
		GType lxsession_screensaver_app_type_id;
		lxsession_screensaver_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionScreensaverApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_screensaver_app_type_id__volatile, lxsession_screensaver_app_type_id);
	}
	return lxsession_screensaver_app_type_id__volatile;
}


LxsessionPowerManagerApp* lxsession_power_manager_app_construct (GType object_type) {
	LxsessionPowerManagerApp * self = NULL;
	self = (LxsessionPowerManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionPowerManagerApp* lxsession_power_manager_app_new (void) {
	return lxsession_power_manager_app_construct (LXSESSION_TYPE_POWER_MANAGER_APP);
}


static void lxsession_power_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionPowerManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	GQuark _tmp7_ = 0U;
	static GQuark _tmp6_label0 = 0;
	static GQuark _tmp6_label1 = 0;
	self = (LxsessionPowerManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "power_manager", "command");
	_g_free0 (self->priv->powermanager_command);
	self->priv->powermanager_command = _tmp1_;
	_tmp2_ = lxsession_global_settings;
	_tmp3_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp2_, "State", "laptop_mode", NULL);
	_g_free0 (self->priv->laptop_mode);
	self->priv->laptop_mode = _tmp3_;
	_tmp4_ = self->priv->powermanager_command;
	_tmp5_ = _tmp4_;
	_tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_);
	if (_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("auto")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp8_ = NULL;
				_tmp8_ = self->priv->laptop_mode;
				if (g_strcmp0 (_tmp8_, "yes") == 0) {
					gchar* create_command = NULL;
					gchar* _tmp9_ = NULL;
					const gchar* _tmp10_ = NULL;
					gchar** _tmp11_ = NULL;
					gchar** _tmp12_ = NULL;
					gchar** _tmp13_ = NULL;
					gint _tmp13__length1 = 0;
					_tmp9_ = g_strdup ("xfce4-power-manager");
					create_command = _tmp9_;
					lxsession_app_object_set_name ((LxsessionAppObject*) self, "xfce4-power-manager");
					_tmp10_ = create_command;
					_tmp12_ = _tmp11_ = g_strsplit_set (_tmp10_, " ", 0);
					_tmp13_ = _tmp12_;
					_tmp13__length1 = _vala_array_length (_tmp11_);
					lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp13_, _vala_array_length (_tmp11_));
					_tmp13_ = (_vala_array_free (_tmp13_, _tmp13__length1, (GDestroyNotify) g_free), NULL);
					_g_free0 (create_command);
				}
				break;
			}
		}
	} else if (_tmp7_ == ((0 != _tmp6_label1) ? _tmp6_label1 : (_tmp6_label1 = g_quark_from_static_string ("no")))) {
		switch (0) {
			default:
			{
				lxsession_app_object_set_name ((LxsessionAppObject*) self, "power_manager_off");
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp14_ = NULL;
				gchar** _tmp15_ = NULL;
				gchar** _tmp16_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp17_ = NULL;
				gint _tmp17__length1 = 0;
				const gchar* _tmp18_ = NULL;
				gchar** _tmp19_ = NULL;
				gint _tmp19__length1 = 0;
				_tmp14_ = self->priv->powermanager_command;
				_tmp16_ = _tmp15_ = g_strsplit_set (_tmp14_, " ", 0);
				create_command = _tmp16_;
				create_command_length1 = _vala_array_length (_tmp15_);
				_create_command_size_ = create_command_length1;
				_tmp17_ = create_command;
				_tmp17__length1 = create_command_length1;
				_tmp18_ = _tmp17_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp18_);
				_tmp19_ = create_command;
				_tmp19__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp19_, _tmp19__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
	lxsession_app_object_set_guard ((LxsessionAppObject*) self, TRUE);
}


static void lxsession_power_manager_app_class_init (LxsessionPowerManagerAppClass * klass) {
	lxsession_power_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionPowerManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_power_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_power_manager_app_finalize;
}


static void lxsession_power_manager_app_instance_init (LxsessionPowerManagerApp * self) {
	self->priv = LXSESSION_POWER_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_power_manager_app_finalize (GObject* obj) {
	LxsessionPowerManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_POWER_MANAGER_APP, LxsessionPowerManagerApp);
	_g_free0 (self->priv->powermanager_command);
	_g_free0 (self->priv->laptop_mode);
	G_OBJECT_CLASS (lxsession_power_manager_app_parent_class)->finalize (obj);
}


GType lxsession_power_manager_app_get_type (void) {
	static volatile gsize lxsession_power_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_power_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionPowerManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_power_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionPowerManagerApp), 0, (GInstanceInitFunc) lxsession_power_manager_app_instance_init, NULL };
		GType lxsession_power_manager_app_type_id;
		lxsession_power_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionPowerManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_power_manager_app_type_id__volatile, lxsession_power_manager_app_type_id);
	}
	return lxsession_power_manager_app_type_id__volatile;
}


LxsessionFileManagerApp* lxsession_file_manager_app_construct (GType object_type) {
	LxsessionFileManagerApp * self = NULL;
	self = (LxsessionFileManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionFileManagerApp* lxsession_file_manager_app_new (void) {
	return lxsession_file_manager_app_construct (LXSESSION_TYPE_FILE_MANAGER_APP);
}


static void lxsession_file_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionFileManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	const gchar* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
	GQuark _tmp9_ = 0U;
	static GQuark _tmp8_label0 = 0;
	static GQuark _tmp8_label1 = 0;
	static GQuark _tmp8_label2 = 0;
	self = (LxsessionFileManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "file_manager", "command");
	_g_free0 (self->priv->filemanager_command);
	self->priv->filemanager_command = _tmp1_;
	_tmp2_ = lxsession_global_settings;
	_tmp3_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp2_, "Session", "file_manager", "session");
	_g_free0 (self->priv->filemanager_session);
	self->priv->filemanager_session = _tmp3_;
	_tmp4_ = lxsession_global_settings;
	_tmp5_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp4_, "Session", "file_manager", "extras");
	_g_free0 (self->priv->filemanager_extras);
	self->priv->filemanager_extras = _tmp5_;
	_tmp6_ = self->priv->filemanager_command;
	_tmp7_ = _tmp6_;
	_tmp9_ = (NULL == _tmp7_) ? 0 : g_quark_from_string (_tmp7_);
	if (_tmp9_ == ((0 != _tmp8_label0) ? _tmp8_label0 : (_tmp8_label0 = g_quark_from_static_string ("pcmanfm")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp10_ = NULL;
				const gchar* _tmp11_ = NULL;
				_tmp10_ = self->priv->filemanager_command;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp10_);
				_tmp11_ = self->priv->filemanager_session;
				if (_tmp11_ != NULL) {
					gchar* create_command = NULL;
					const gchar* _tmp12_ = NULL;
					gchar* _tmp13_ = NULL;
					gchar* _tmp14_ = NULL;
					const gchar* _tmp15_ = NULL;
					gchar* _tmp16_ = NULL;
					gchar* _tmp17_ = NULL;
					const gchar* _tmp18_ = NULL;
					gchar** _tmp19_ = NULL;
					gchar** _tmp20_ = NULL;
					gchar** _tmp21_ = NULL;
					gint _tmp21__length1 = 0;
					_tmp12_ = self->priv->filemanager_session;
					_tmp13_ = g_strconcat ("pcmanfm --profile ", _tmp12_, NULL);
					_tmp14_ = _tmp13_;
					_tmp15_ = self->priv->filemanager_extras;
					_tmp16_ = g_strconcat (_tmp14_, _tmp15_, NULL);
					_tmp17_ = _tmp16_;
					_g_free0 (_tmp14_);
					create_command = _tmp17_;
					_tmp18_ = create_command;
					_tmp20_ = _tmp19_ = g_strsplit_set (_tmp18_, " ", 0);
					_tmp21_ = _tmp20_;
					_tmp21__length1 = _vala_array_length (_tmp19_);
					lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp21_, _vala_array_length (_tmp19_));
					_tmp21_ = (_vala_array_free (_tmp21_, _tmp21__length1, (GDestroyNotify) g_free), NULL);
					_g_free0 (create_command);
				} else {
					const gchar* _tmp22_ = NULL;
					gchar* _tmp23_ = NULL;
					gchar** _tmp24_ = NULL;
					gchar** _tmp25_ = NULL;
					gint _tmp25__length1 = 0;
					_tmp22_ = self->priv->filemanager_command;
					_tmp23_ = g_strdup (_tmp22_);
					_tmp24_ = g_new0 (gchar*, 1 + 1);
					_tmp24_[0] = _tmp23_;
					_tmp25_ = _tmp24_;
					_tmp25__length1 = 1;
					lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp25_, 1);
					_tmp25_ = (_vala_array_free (_tmp25_, _tmp25__length1, (GDestroyNotify) g_free), NULL);
				}
				break;
			}
		}
	} else if (_tmp9_ == ((0 != _tmp8_label1) ? _tmp8_label1 : (_tmp8_label1 = g_quark_from_static_string ("pcmanfm-qt")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp26_ = NULL;
				const gchar* _tmp27_ = NULL;
				_tmp26_ = self->priv->filemanager_command;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp26_);
				_tmp27_ = self->priv->filemanager_session;
				if (_tmp27_ != NULL) {
					gchar* create_command = NULL;
					const gchar* _tmp28_ = NULL;
					gchar* _tmp29_ = NULL;
					gchar* _tmp30_ = NULL;
					const gchar* _tmp31_ = NULL;
					gchar* _tmp32_ = NULL;
					gchar* _tmp33_ = NULL;
					const gchar* _tmp34_ = NULL;
					gchar** _tmp35_ = NULL;
					gchar** _tmp36_ = NULL;
					gchar** _tmp37_ = NULL;
					gint _tmp37__length1 = 0;
					_tmp28_ = self->priv->filemanager_session;
					_tmp29_ = g_strconcat ("pcmanfm-qt --profile ", _tmp28_, NULL);
					_tmp30_ = _tmp29_;
					_tmp31_ = self->priv->filemanager_extras;
					_tmp32_ = g_strconcat (_tmp30_, _tmp31_, NULL);
					_tmp33_ = _tmp32_;
					_g_free0 (_tmp30_);
					create_command = _tmp33_;
					_tmp34_ = create_command;
					_tmp36_ = _tmp35_ = g_strsplit_set (_tmp34_, " ", 0);
					_tmp37_ = _tmp36_;
					_tmp37__length1 = _vala_array_length (_tmp35_);
					lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp37_, _vala_array_length (_tmp35_));
					_tmp37_ = (_vala_array_free (_tmp37_, _tmp37__length1, (GDestroyNotify) g_free), NULL);
					_g_free0 (create_command);
				} else {
					const gchar* _tmp38_ = NULL;
					gchar* _tmp39_ = NULL;
					gchar** _tmp40_ = NULL;
					gchar** _tmp41_ = NULL;
					gint _tmp41__length1 = 0;
					_tmp38_ = self->priv->filemanager_command;
					_tmp39_ = g_strdup (_tmp38_);
					_tmp40_ = g_new0 (gchar*, 1 + 1);
					_tmp40_[0] = _tmp39_;
					_tmp41_ = _tmp40_;
					_tmp41__length1 = 1;
					lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp41_, 1);
					_tmp41_ = (_vala_array_free (_tmp41_, _tmp41__length1, (GDestroyNotify) g_free), NULL);
				}
				break;
			}
		}
	} else if (_tmp9_ == ((0 != _tmp8_label2) ? _tmp8_label2 : (_tmp8_label2 = g_quark_from_static_string ("nautilus")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp42_ = NULL;
				gchar* create_command = NULL;
				const gchar* _tmp43_ = NULL;
				gchar* _tmp44_ = NULL;
				const gchar* _tmp45_ = NULL;
				gchar** _tmp46_ = NULL;
				gchar** _tmp47_ = NULL;
				gchar** _tmp48_ = NULL;
				gint _tmp48__length1 = 0;
				_tmp42_ = self->priv->filemanager_command;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp42_);
				_tmp43_ = self->priv->filemanager_extras;
				_tmp44_ = g_strconcat ("nautilus" " -n ", _tmp43_, NULL);
				create_command = _tmp44_;
				_tmp45_ = create_command;
				_tmp47_ = _tmp46_ = g_strsplit_set (_tmp45_, " ", 0);
				_tmp48_ = _tmp47_;
				_tmp48__length1 = _vala_array_length (_tmp46_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp48_, _vala_array_length (_tmp46_));
				_tmp48_ = (_vala_array_free (_tmp48_, _tmp48__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp49_ = NULL;
				gchar** _tmp50_ = NULL;
				gchar** _tmp51_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp52_ = NULL;
				gint _tmp52__length1 = 0;
				const gchar* _tmp53_ = NULL;
				gchar** _tmp54_ = NULL;
				gint _tmp54__length1 = 0;
				_tmp49_ = self->priv->filemanager_command;
				_tmp51_ = _tmp50_ = g_strsplit_set (_tmp49_, " ", 0);
				create_command = _tmp51_;
				create_command_length1 = _vala_array_length (_tmp50_);
				_create_command_size_ = create_command_length1;
				_tmp52_ = create_command;
				_tmp52__length1 = create_command_length1;
				_tmp53_ = _tmp52_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp53_);
				_tmp54_ = create_command;
				_tmp54__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp54_, _tmp54__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


static void lxsession_file_manager_app_class_init (LxsessionFileManagerAppClass * klass) {
	lxsession_file_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionFileManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_file_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_file_manager_app_finalize;
}


static void lxsession_file_manager_app_instance_init (LxsessionFileManagerApp * self) {
	self->priv = LXSESSION_FILE_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_file_manager_app_finalize (GObject* obj) {
	LxsessionFileManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_FILE_MANAGER_APP, LxsessionFileManagerApp);
	_g_free0 (self->priv->filemanager_command);
	_g_free0 (self->priv->filemanager_session);
	_g_free0 (self->priv->filemanager_extras);
	G_OBJECT_CLASS (lxsession_file_manager_app_parent_class)->finalize (obj);
}


GType lxsession_file_manager_app_get_type (void) {
	static volatile gsize lxsession_file_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_file_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionFileManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_file_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionFileManagerApp), 0, (GInstanceInitFunc) lxsession_file_manager_app_instance_init, NULL };
		GType lxsession_file_manager_app_type_id;
		lxsession_file_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionFileManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_file_manager_app_type_id__volatile, lxsession_file_manager_app_type_id);
	}
	return lxsession_file_manager_app_type_id__volatile;
}


LxsessionDesktopApp* lxsession_desktop_app_construct (GType object_type) {
	LxsessionDesktopApp * self = NULL;
	self = (LxsessionDesktopApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionDesktopApp* lxsession_desktop_app_new (void) {
	return lxsession_desktop_app_construct (LXSESSION_TYPE_DESKTOP_APP);
}


static gpointer _g_object_ref0 (gpointer self) {
	return self ? g_object_ref (self) : NULL;
}


static void lxsession_desktop_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionDesktopApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	GQuark _tmp7_ = 0U;
	static GQuark _tmp6_label0 = 0;
	static GQuark _tmp6_label1 = 0;
	self = (LxsessionDesktopApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "desktop_manager", "command");
	_g_free0 (self->priv->desktop_command);
	self->priv->desktop_command = _tmp1_;
	_tmp2_ = lxsession_global_settings;
	_tmp3_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp2_, "Session", "desktop_manager", "wallpaper");
	_g_free0 (self->priv->desktop_wallpaper);
	self->priv->desktop_wallpaper = _tmp3_;
	_tmp4_ = self->priv->desktop_command;
	_tmp5_ = _tmp4_;
	_tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_);
	if (_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("filemanager")))) {
		switch (0) {
			default:
			{
				gchar* filemanager_session = NULL;
				LxsessionLxsessionConfigKeyFile* _tmp8_ = NULL;
				gchar* _tmp9_ = NULL;
				gchar* filemanager_extras = NULL;
				LxsessionLxsessionConfigKeyFile* _tmp10_ = NULL;
				gchar* _tmp11_ = NULL;
				LxsessionFileManagerApp* _tmp12_ = NULL;
				LxsessionLxsessionConfigKeyFile* _tmp16_ = NULL;
				gchar* _tmp17_ = NULL;
				gchar* _tmp18_ = NULL;
				GQuark _tmp20_ = 0U;
				static GQuark _tmp19_label0 = 0;
				static GQuark _tmp19_label1 = 0;
				static GQuark _tmp19_label2 = 0;
				_tmp8_ = lxsession_global_settings;
				_tmp9_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp8_, "Session", "file_manager", "session");
				filemanager_session = _tmp9_;
				_tmp10_ = lxsession_global_settings;
				_tmp11_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp10_, "Session", "file_manager", "extras");
				filemanager_extras = _tmp11_;
				_tmp12_ = lxsession_global_file_manager;
				if (_tmp12_ != NULL) {
					LxsessionFileManagerApp* filemanager = NULL;
					LxsessionFileManagerApp* _tmp13_ = NULL;
					LxsessionFileManagerApp* _tmp14_ = NULL;
					LxsessionFileManagerApp* _tmp15_ = NULL;
					g_message ("app.vala:633: File manager needed for desktop manager but doesn't exis" \
"t, creating it");
					_tmp13_ = lxsession_file_manager_app_new ();
					filemanager = _tmp13_;
					_tmp14_ = filemanager;
					_tmp15_ = _g_object_ref0 (_tmp14_);
					_g_object_unref0 (lxsession_global_file_manager);
					lxsession_global_file_manager = _tmp15_;
					_g_object_unref0 (filemanager);
				}
				_tmp16_ = lxsession_global_settings;
				_tmp17_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp16_, "Session", "file_manager", "command");
				_tmp18_ = _tmp17_;
				_tmp20_ = (NULL == _tmp18_) ? 0 : g_quark_from_string (_tmp18_);
				g_free (_tmp18_);
				if (_tmp20_ == ((0 != _tmp19_label0) ? _tmp19_label0 : (_tmp19_label0 = g_quark_from_static_string ("pcmanfm")))) {
					switch (0) {
						default:
						{
							LxsessionLxsessionConfigKeyFile* _tmp21_ = NULL;
							gchar* _tmp22_ = NULL;
							gchar* _tmp23_ = NULL;
							gchar* create_command = NULL;
							const gchar* _tmp24_ = NULL;
							gchar* _tmp25_ = NULL;
							gchar* _tmp26_ = NULL;
							const gchar* _tmp27_ = NULL;
							gchar* _tmp28_ = NULL;
							gchar* _tmp29_ = NULL;
							const gchar* _tmp30_ = NULL;
							gchar** _tmp31_ = NULL;
							gchar** _tmp32_ = NULL;
							gchar** _tmp33_ = NULL;
							gint _tmp33__length1 = 0;
							_tmp21_ = lxsession_global_settings;
							_tmp22_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp21_, "Session", "file_manager", "command");
							_tmp23_ = _tmp22_;
							lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp23_);
							_g_free0 (_tmp23_);
							_tmp24_ = filemanager_session;
							_tmp25_ = g_strconcat ("pcmanfm --desktop --profile ", _tmp24_, NULL);
							_tmp26_ = _tmp25_;
							_tmp27_ = filemanager_extras;
							_tmp28_ = g_strconcat (_tmp26_, _tmp27_, NULL);
							_tmp29_ = _tmp28_;
							_g_free0 (_tmp26_);
							create_command = _tmp29_;
							_tmp30_ = create_command;
							_tmp32_ = _tmp31_ = g_strsplit_set (_tmp30_, " ", 0);
							_tmp33_ = _tmp32_;
							_tmp33__length1 = _vala_array_length (_tmp31_);
							lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp33_, _vala_array_length (_tmp31_));
							_tmp33_ = (_vala_array_free (_tmp33_, _tmp33__length1, (GDestroyNotify) g_free), NULL);
							_g_free0 (create_command);
							break;
						}
					}
				} else if (_tmp20_ == ((0 != _tmp19_label1) ? _tmp19_label1 : (_tmp19_label1 = g_quark_from_static_string ("pcmanfm-qt")))) {
					switch (0) {
						default:
						{
							LxsessionLxsessionConfigKeyFile* _tmp34_ = NULL;
							gchar* _tmp35_ = NULL;
							gchar* _tmp36_ = NULL;
							gchar* create_command = NULL;
							const gchar* _tmp37_ = NULL;
							gchar* _tmp38_ = NULL;
							gchar* _tmp39_ = NULL;
							const gchar* _tmp40_ = NULL;
							gchar* _tmp41_ = NULL;
							gchar* _tmp42_ = NULL;
							const gchar* _tmp43_ = NULL;
							gchar** _tmp44_ = NULL;
							gchar** _tmp45_ = NULL;
							gchar** _tmp46_ = NULL;
							gint _tmp46__length1 = 0;
							_tmp34_ = lxsession_global_settings;
							_tmp35_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp34_, "Session", "file_manager", "command");
							_tmp36_ = _tmp35_;
							lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp36_);
							_g_free0 (_tmp36_);
							_tmp37_ = filemanager_session;
							_tmp38_ = g_strconcat ("pcmanfm-qt --desktop --profile ", _tmp37_, NULL);
							_tmp39_ = _tmp38_;
							_tmp40_ = filemanager_extras;
							_tmp41_ = g_strconcat (_tmp39_, _tmp40_, NULL);
							_tmp42_ = _tmp41_;
							_g_free0 (_tmp39_);
							create_command = _tmp42_;
							_tmp43_ = create_command;
							_tmp45_ = _tmp44_ = g_strsplit_set (_tmp43_, " ", 0);
							_tmp46_ = _tmp45_;
							_tmp46__length1 = _vala_array_length (_tmp44_);
							lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp46_, _vala_array_length (_tmp44_));
							_tmp46_ = (_vala_array_free (_tmp46_, _tmp46__length1, (GDestroyNotify) g_free), NULL);
							_g_free0 (create_command);
							break;
						}
					}
				} else if (_tmp20_ == ((0 != _tmp19_label2) ? _tmp19_label2 : (_tmp19_label2 = g_quark_from_static_string ("nautilus")))) {
					switch (0) {
						default:
						{
							LxsessionLxsessionConfigKeyFile* _tmp47_ = NULL;
							gchar* _tmp48_ = NULL;
							gchar* _tmp49_ = NULL;
							gchar* create_command = NULL;
							const gchar* _tmp50_ = NULL;
							gchar* _tmp51_ = NULL;
							const gchar* _tmp52_ = NULL;
							gchar** _tmp53_ = NULL;
							gchar** _tmp54_ = NULL;
							gchar** _tmp55_ = NULL;
							gint _tmp55__length1 = 0;
							_tmp47_ = lxsession_global_settings;
							_tmp48_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp47_, "Session", "file_manager", "command");
							_tmp49_ = _tmp48_;
							lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp49_);
							_g_free0 (_tmp49_);
							_tmp50_ = filemanager_extras;
							_tmp51_ = g_strconcat ("nautilus" " -n ", _tmp50_, NULL);
							create_command = _tmp51_;
							_tmp52_ = create_command;
							_tmp54_ = _tmp53_ = g_strsplit_set (_tmp52_, " ", 0);
							_tmp55_ = _tmp54_;
							_tmp55__length1 = _vala_array_length (_tmp53_);
							lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp55_, _vala_array_length (_tmp53_));
							_tmp55_ = (_vala_array_free (_tmp55_, _tmp55__length1, (GDestroyNotify) g_free), NULL);
							_g_free0 (create_command);
							break;
						}
					}
				}
				_g_free0 (filemanager_extras);
				_g_free0 (filemanager_session);
				break;
			}
		}
	} else if (_tmp7_ == ((0 != _tmp6_label1) ? _tmp6_label1 : (_tmp6_label1 = g_quark_from_static_string ("feh")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp56_ = NULL;
				gchar* create_command = NULL;
				const gchar* _tmp57_ = NULL;
				gchar* _tmp58_ = NULL;
				const gchar* _tmp59_ = NULL;
				gchar** _tmp60_ = NULL;
				gchar** _tmp61_ = NULL;
				gchar** _tmp62_ = NULL;
				gint _tmp62__length1 = 0;
				_tmp56_ = self->priv->desktop_command;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp56_);
				_tmp57_ = self->priv->desktop_wallpaper;
				_tmp58_ = g_strconcat ("feh" " --bg-scale ", _tmp57_, NULL);
				create_command = _tmp58_;
				_tmp59_ = create_command;
				_tmp61_ = _tmp60_ = g_strsplit_set (_tmp59_, " ", 0);
				_tmp62_ = _tmp61_;
				_tmp62__length1 = _vala_array_length (_tmp60_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp62_, _vala_array_length (_tmp60_));
				_tmp62_ = (_vala_array_free (_tmp62_, _tmp62__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp63_ = NULL;
				gchar** _tmp64_ = NULL;
				gchar** _tmp65_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp66_ = NULL;
				gint _tmp66__length1 = 0;
				const gchar* _tmp67_ = NULL;
				gchar** _tmp68_ = NULL;
				gint _tmp68__length1 = 0;
				_tmp63_ = self->priv->desktop_command;
				_tmp65_ = _tmp64_ = g_strsplit_set (_tmp63_, " ", 0);
				create_command = _tmp65_;
				create_command_length1 = _vala_array_length (_tmp64_);
				_create_command_size_ = create_command_length1;
				_tmp66_ = create_command;
				_tmp66__length1 = create_command_length1;
				_tmp67_ = _tmp66_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp67_);
				_tmp68_ = create_command;
				_tmp68__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp68_, _tmp68__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
	lxsession_app_object_set_guard ((LxsessionAppObject*) self, TRUE);
}


static gchar** _vala_array_dup2 (gchar** self, int length) {
	gchar** result;
	int i;
	result = g_new0 (gchar*, length + 1);
	for (i = 0; i < length; i++) {
		gchar* _tmp0_ = NULL;
		_tmp0_ = g_strdup (self[i]);
		result[i] = _tmp0_;
	}
	return result;
}


void lxsession_desktop_app_launch_settings (LxsessionDesktopApp* self) {
	gchar** backup_command = NULL;
	gchar** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gchar** _tmp1_ = NULL;
	gint _tmp1__length1 = 0;
	gchar** _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	gint backup_command_length1 = 0;
	gint _backup_command_size_ = 0;
	const gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	GQuark _tmp7_ = 0U;
	static GQuark _tmp6_label0 = 0;
	gchar** _tmp13_ = NULL;
	gint _tmp13__length1 = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = lxsession_app_object_get_command ((LxsessionAppObject*) self, &_tmp0__length1);
	_tmp1_ = _tmp0_;
	_tmp1__length1 = _tmp0__length1;
	_tmp2_ = (_tmp1_ != NULL) ? _vala_array_dup2 (_tmp1_, _tmp1__length1) : ((gpointer) _tmp1_);
	_tmp2__length1 = _tmp1__length1;
	backup_command = _tmp2_;
	backup_command_length1 = _tmp2__length1;
	_backup_command_size_ = backup_command_length1;
	_tmp3_ = lxsession_app_object_get_name ((LxsessionAppObject*) self);
	_tmp4_ = _tmp3_;
	_tmp5_ = _tmp4_;
	_tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_);
	if (_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("pcmanfm")))) {
		switch (0) {
			default:
			{
				gchar* create_settings_command = NULL;
				gchar* _tmp8_ = NULL;
				const gchar* _tmp9_ = NULL;
				gchar** _tmp10_ = NULL;
				gchar** _tmp11_ = NULL;
				gchar** _tmp12_ = NULL;
				gint _tmp12__length1 = 0;
				_tmp8_ = g_strdup ("pcmanfm --desktop-pref");
				create_settings_command = _tmp8_;
				_tmp9_ = create_settings_command;
				_tmp11_ = _tmp10_ = g_strsplit_set (_tmp9_, " ", 0);
				_tmp12_ = _tmp11_;
				_tmp12__length1 = _vala_array_length (_tmp10_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp12_, _vala_array_length (_tmp10_));
				_tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_settings_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				break;
			}
		}
	}
	lxsession_app_object_launch ((LxsessionAppObject*) self);
	_tmp13_ = backup_command;
	_tmp13__length1 = backup_command_length1;
	lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp13_, _tmp13__length1);
	backup_command = (_vala_array_free (backup_command, backup_command_length1, (GDestroyNotify) g_free), NULL);
}


static void lxsession_desktop_app_class_init (LxsessionDesktopAppClass * klass) {
	lxsession_desktop_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionDesktopAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_desktop_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_desktop_app_finalize;
}


static void lxsession_desktop_app_instance_init (LxsessionDesktopApp * self) {
	self->priv = LXSESSION_DESKTOP_APP_GET_PRIVATE (self);
}


static void lxsession_desktop_app_finalize (GObject* obj) {
	LxsessionDesktopApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_DESKTOP_APP, LxsessionDesktopApp);
	_g_free0 (self->priv->desktop_command);
	_g_free0 (self->priv->desktop_wallpaper);
	G_OBJECT_CLASS (lxsession_desktop_app_parent_class)->finalize (obj);
}


GType lxsession_desktop_app_get_type (void) {
	static volatile gsize lxsession_desktop_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_desktop_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionDesktopAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_desktop_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionDesktopApp), 0, (GInstanceInitFunc) lxsession_desktop_app_instance_init, NULL };
		GType lxsession_desktop_app_type_id;
		lxsession_desktop_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionDesktopApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_desktop_app_type_id__volatile, lxsession_desktop_app_type_id);
	}
	return lxsession_desktop_app_type_id__volatile;
}


LxsessionPolkitApp* lxsession_polkit_app_construct (GType object_type) {
	LxsessionPolkitApp * self = NULL;
	self = (LxsessionPolkitApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionPolkitApp* lxsession_polkit_app_new (void) {
	return lxsession_polkit_app_construct (LXSESSION_TYPE_POLKIT_APP);
}


static void lxsession_polkit_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionPolkitApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
	static GQuark _tmp4_label0 = 0;
	static GQuark _tmp4_label1 = 0;
	static GQuark _tmp4_label2 = 0;
	self = (LxsessionPolkitApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "polkit", "command");
	_g_free0 (self->priv->polkit_command);
	self->priv->polkit_command = _tmp1_;
	_tmp2_ = self->priv->polkit_command;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("gnome")))) {
		switch (0) {
			default:
			{
				gchar* create_command = NULL;
				gchar* _tmp6_ = NULL;
				const gchar* _tmp7_ = NULL;
				gchar** _tmp8_ = NULL;
				gchar** _tmp9_ = NULL;
				gchar** _tmp10_ = NULL;
				gint _tmp10__length1 = 0;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, "polkit-gnome-authentication-agent-1");
				_tmp6_ = g_strdup ("/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1");
				create_command = _tmp6_;
				_tmp7_ = create_command;
				_tmp9_ = _tmp8_ = g_strsplit_set (_tmp7_, " ", 0);
				_tmp10_ = _tmp9_;
				_tmp10__length1 = _vala_array_length (_tmp8_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp10_, _vala_array_length (_tmp8_));
				_tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("razorqt")))) {
		switch (0) {
			default:
			{
				gchar* create_command = NULL;
				gchar* _tmp11_ = NULL;
				const gchar* _tmp12_ = NULL;
				gchar** _tmp13_ = NULL;
				gchar** _tmp14_ = NULL;
				gchar** _tmp15_ = NULL;
				gint _tmp15__length1 = 0;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, "razor-policykit-agent");
				_tmp11_ = g_strdup ("/usr/bin/razor-policykit-agent");
				create_command = _tmp11_;
				_tmp12_ = create_command;
				_tmp14_ = _tmp13_ = g_strsplit_set (_tmp12_, " ", 0);
				_tmp15_ = _tmp14_;
				_tmp15__length1 = _vala_array_length (_tmp13_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp15_, _vala_array_length (_tmp13_));
				_tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string ("lxpolkit")))) {
		switch (0) {
			default:
			{
				gchar* create_command = NULL;
				gchar* _tmp16_ = NULL;
				const gchar* _tmp17_ = NULL;
				gchar** _tmp18_ = NULL;
				gchar** _tmp19_ = NULL;
				gchar** _tmp20_ = NULL;
				gint _tmp20__length1 = 0;
				g_message ("app.vala:717: polkit separate");
				lxsession_app_object_set_name ((LxsessionAppObject*) self, "lxpolkit");
				_tmp16_ = g_strdup ("lxpolkit");
				create_command = _tmp16_;
				_tmp17_ = create_command;
				_tmp19_ = _tmp18_ = g_strsplit_set (_tmp17_, " ", 0);
				_tmp20_ = _tmp19_;
				_tmp20__length1 = _vala_array_length (_tmp18_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp20_, _vala_array_length (_tmp18_));
				_tmp20_ = (_vala_array_free (_tmp20_, _tmp20__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	}
	lxsession_app_object_set_guard ((LxsessionAppObject*) self, TRUE);
}


void lxsession_polkit_app_deactivate (LxsessionPolkitApp* self) {
	g_return_if_fail (self != NULL);
}


static void lxsession_polkit_app_class_init (LxsessionPolkitAppClass * klass) {
	lxsession_polkit_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionPolkitAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_polkit_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_polkit_app_finalize;
}


static void lxsession_polkit_app_instance_init (LxsessionPolkitApp * self) {
	self->priv = LXSESSION_POLKIT_APP_GET_PRIVATE (self);
}


static void lxsession_polkit_app_finalize (GObject* obj) {
	LxsessionPolkitApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_POLKIT_APP, LxsessionPolkitApp);
	_g_free0 (self->priv->polkit_command);
	G_OBJECT_CLASS (lxsession_polkit_app_parent_class)->finalize (obj);
}


GType lxsession_polkit_app_get_type (void) {
	static volatile gsize lxsession_polkit_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_polkit_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionPolkitAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_polkit_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionPolkitApp), 0, (GInstanceInitFunc) lxsession_polkit_app_instance_init, NULL };
		GType lxsession_polkit_app_type_id;
		lxsession_polkit_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionPolkitApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_polkit_app_type_id__volatile, lxsession_polkit_app_type_id);
	}
	return lxsession_polkit_app_type_id__volatile;
}


LxsessionNetworkGuiApp* lxsession_network_gui_app_construct (GType object_type) {
	LxsessionNetworkGuiApp * self = NULL;
	self = (LxsessionNetworkGuiApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionNetworkGuiApp* lxsession_network_gui_app_new (void) {
	return lxsession_network_gui_app_construct (LXSESSION_TYPE_NETWORK_GUI_APP);
}


static void lxsession_network_gui_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionNetworkGuiApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	GQuark _tmp7_ = 0U;
	static GQuark _tmp6_label0 = 0;
	static GQuark _tmp6_label1 = 0;
	self = (LxsessionNetworkGuiApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "network_gui", "command");
	_g_free0 (self->priv->network_command);
	self->priv->network_command = _tmp1_;
	_tmp2_ = lxsession_global_settings;
	_tmp3_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp2_, "State", "laptop_mode", NULL);
	_g_free0 (self->priv->laptop_mode);
	self->priv->laptop_mode = _tmp3_;
	_tmp4_ = self->priv->network_command;
	_tmp5_ = _tmp4_;
	_tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_);
	if (_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("no")))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else if (_tmp7_ == ((0 != _tmp6_label1) ? _tmp6_label1 : (_tmp6_label1 = g_quark_from_static_string ("auto")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp8_ = NULL;
				_tmp8_ = self->priv->laptop_mode;
				if (g_strcmp0 (_tmp8_, "yes") == 0) {
					gchar* test_nm_applet = NULL;
					gchar* _tmp9_ = NULL;
					const gchar* _tmp10_ = NULL;
					_tmp9_ = g_find_program_in_path ("nm-applet");
					test_nm_applet = _tmp9_;
					_tmp10_ = test_nm_applet;
					if (_tmp10_ != NULL) {
						gchar* create_command = NULL;
						gchar* _tmp11_ = NULL;
						const gchar* _tmp12_ = NULL;
						gchar** _tmp13_ = NULL;
						gchar** _tmp14_ = NULL;
						gchar** _tmp15_ = NULL;
						gint _tmp15__length1 = 0;
						lxsession_app_object_set_name ((LxsessionAppObject*) self, "nm-applet");
						_tmp11_ = g_strdup ("nm-applet");
						create_command = _tmp11_;
						_tmp12_ = create_command;
						_tmp14_ = _tmp13_ = g_strsplit_set (_tmp12_, " ", 0);
						_tmp15_ = _tmp14_;
						_tmp15__length1 = _vala_array_length (_tmp13_);
						lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp15_, _vala_array_length (_tmp13_));
						_tmp15_ = (_vala_array_free (_tmp15_, _tmp15__length1, (GDestroyNotify) g_free), NULL);
						_g_free0 (create_command);
						_g_free0 (test_nm_applet);
						break;
					} else {
						gchar* test_wicd = NULL;
						gchar* _tmp16_ = NULL;
						const gchar* _tmp17_ = NULL;
						_tmp16_ = g_find_program_in_path ("wicd");
						test_wicd = _tmp16_;
						_tmp17_ = test_wicd;
						if (_tmp17_ != NULL) {
							gchar* create_command = NULL;
							gchar* _tmp18_ = NULL;
							const gchar* _tmp19_ = NULL;
							gchar** _tmp20_ = NULL;
							gchar** _tmp21_ = NULL;
							gchar** _tmp22_ = NULL;
							gint _tmp22__length1 = 0;
							lxsession_app_object_set_name ((LxsessionAppObject*) self, "wicd");
							_tmp18_ = g_strdup ("wicd");
							create_command = _tmp18_;
							_tmp19_ = create_command;
							_tmp21_ = _tmp20_ = g_strsplit_set (_tmp19_, " ", 0);
							_tmp22_ = _tmp21_;
							_tmp22__length1 = _vala_array_length (_tmp20_);
							lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp22_, _vala_array_length (_tmp20_));
							_tmp22_ = (_vala_array_free (_tmp22_, _tmp22__length1, (GDestroyNotify) g_free), NULL);
							_g_free0 (create_command);
							_g_free0 (test_wicd);
							_g_free0 (test_nm_applet);
							break;
						}
						_g_free0 (test_wicd);
					}
					_g_free0 (test_nm_applet);
				}
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp23_ = NULL;
				gchar** _tmp24_ = NULL;
				gchar** _tmp25_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp26_ = NULL;
				gint _tmp26__length1 = 0;
				const gchar* _tmp27_ = NULL;
				gchar** _tmp28_ = NULL;
				gint _tmp28__length1 = 0;
				_tmp23_ = self->priv->network_command;
				_tmp25_ = _tmp24_ = g_strsplit_set (_tmp23_, " ", 0);
				create_command = _tmp25_;
				create_command_length1 = _vala_array_length (_tmp24_);
				_create_command_size_ = create_command_length1;
				_tmp26_ = create_command;
				_tmp26__length1 = create_command_length1;
				_tmp27_ = _tmp26_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp27_);
				_tmp28_ = create_command;
				_tmp28__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp28_, _tmp28__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
	lxsession_app_object_set_guard ((LxsessionAppObject*) self, TRUE);
}


static void lxsession_network_gui_app_class_init (LxsessionNetworkGuiAppClass * klass) {
	lxsession_network_gui_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionNetworkGuiAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_network_gui_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_network_gui_app_finalize;
}


static void lxsession_network_gui_app_instance_init (LxsessionNetworkGuiApp * self) {
	self->priv = LXSESSION_NETWORK_GUI_APP_GET_PRIVATE (self);
}


static void lxsession_network_gui_app_finalize (GObject* obj) {
	LxsessionNetworkGuiApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_NETWORK_GUI_APP, LxsessionNetworkGuiApp);
	_g_free0 (self->priv->network_command);
	_g_free0 (self->priv->laptop_mode);
	G_OBJECT_CLASS (lxsession_network_gui_app_parent_class)->finalize (obj);
}


GType lxsession_network_gui_app_get_type (void) {
	static volatile gsize lxsession_network_gui_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_network_gui_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionNetworkGuiAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_network_gui_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionNetworkGuiApp), 0, (GInstanceInitFunc) lxsession_network_gui_app_instance_init, NULL };
		GType lxsession_network_gui_app_type_id;
		lxsession_network_gui_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionNetworkGuiApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_network_gui_app_type_id__volatile, lxsession_network_gui_app_type_id);
	}
	return lxsession_network_gui_app_type_id__volatile;
}


LxsessionAudioManagerApp* lxsession_audio_manager_app_construct (GType object_type) {
	LxsessionAudioManagerApp * self = NULL;
	self = (LxsessionAudioManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionAudioManagerApp* lxsession_audio_manager_app_new (void) {
	return lxsession_audio_manager_app_construct (LXSESSION_TYPE_AUDIO_MANAGER_APP);
}


static void lxsession_audio_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionAudioManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
	static GQuark _tmp4_label0 = 0;
	self = (LxsessionAudioManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "audio_manager", "command");
	_g_free0 (self->priv->audiomanager_command);
	self->priv->audiomanager_command = _tmp1_;
	_tmp2_ = self->priv->audiomanager_command;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("alsamixer")))) {
		switch (0) {
			default:
			{
				gchar* create_command = NULL;
				gchar* _tmp6_ = NULL;
				const gchar* _tmp7_ = NULL;
				gchar** _tmp8_ = NULL;
				gchar** _tmp9_ = NULL;
				gchar** _tmp10_ = NULL;
				gint _tmp10__length1 = 0;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, "alsamixer");
				_tmp6_ = g_strdup ("xterm -e alsamixer");
				create_command = _tmp6_;
				_tmp7_ = create_command;
				_tmp9_ = _tmp8_ = g_strsplit_set (_tmp7_, " ", 0);
				_tmp10_ = _tmp9_;
				_tmp10__length1 = _vala_array_length (_tmp8_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp10_, _vala_array_length (_tmp8_));
				_tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp11_ = NULL;
				gchar** _tmp12_ = NULL;
				gchar** _tmp13_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp14_ = NULL;
				gint _tmp14__length1 = 0;
				const gchar* _tmp15_ = NULL;
				gchar** _tmp16_ = NULL;
				gint _tmp16__length1 = 0;
				_tmp11_ = self->priv->audiomanager_command;
				_tmp13_ = _tmp12_ = g_strsplit_set (_tmp11_, " ", 0);
				create_command = _tmp13_;
				create_command_length1 = _vala_array_length (_tmp12_);
				_create_command_size_ = create_command_length1;
				_tmp14_ = create_command;
				_tmp14__length1 = create_command_length1;
				_tmp15_ = _tmp14_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp15_);
				_tmp16_ = create_command;
				_tmp16__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp16_, _tmp16__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


static void lxsession_audio_manager_app_class_init (LxsessionAudioManagerAppClass * klass) {
	lxsession_audio_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionAudioManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_audio_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_audio_manager_app_finalize;
}


static void lxsession_audio_manager_app_instance_init (LxsessionAudioManagerApp * self) {
	self->priv = LXSESSION_AUDIO_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_audio_manager_app_finalize (GObject* obj) {
	LxsessionAudioManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_AUDIO_MANAGER_APP, LxsessionAudioManagerApp);
	_g_free0 (self->priv->audiomanager_command);
	G_OBJECT_CLASS (lxsession_audio_manager_app_parent_class)->finalize (obj);
}


GType lxsession_audio_manager_app_get_type (void) {
	static volatile gsize lxsession_audio_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_audio_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionAudioManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_audio_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionAudioManagerApp), 0, (GInstanceInitFunc) lxsession_audio_manager_app_instance_init, NULL };
		GType lxsession_audio_manager_app_type_id;
		lxsession_audio_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionAudioManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_audio_manager_app_type_id__volatile, lxsession_audio_manager_app_type_id);
	}
	return lxsession_audio_manager_app_type_id__volatile;
}


LxsessionQuitManagerApp* lxsession_quit_manager_app_construct (GType object_type) {
	LxsessionQuitManagerApp * self = NULL;
	self = (LxsessionQuitManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionQuitManagerApp* lxsession_quit_manager_app_new (void) {
	return lxsession_quit_manager_app_construct (LXSESSION_TYPE_QUIT_MANAGER_APP);
}


static void lxsession_quit_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionQuitManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	const gchar* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
	GQuark _tmp9_ = 0U;
	static GQuark _tmp8_label0 = 0;
	self = (LxsessionQuitManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "quit_manager", "command");
	_g_free0 (self->priv->quitmanager_command);
	self->priv->quitmanager_command = _tmp1_;
	_tmp2_ = lxsession_global_settings;
	_tmp3_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp2_, "Session", "quit_manager", "image");
	_g_free0 (self->priv->quitmanager_image);
	self->priv->quitmanager_image = _tmp3_;
	_tmp4_ = lxsession_global_settings;
	_tmp5_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp4_, "Session", "quit_manager", "layout");
	_g_free0 (self->priv->quitmanager_layout);
	self->priv->quitmanager_layout = _tmp5_;
	_tmp6_ = self->priv->quitmanager_command;
	_tmp7_ = _tmp6_;
	_tmp9_ = (NULL == _tmp7_) ? 0 : g_quark_from_string (_tmp7_);
	if (_tmp9_ == ((0 != _tmp8_label0) ? _tmp8_label0 : (_tmp8_label0 = g_quark_from_static_string ("lxsession-logout")))) {
		switch (0) {
			default:
			{
				gchar* create_command = NULL;
				const gchar* _tmp10_ = NULL;
				gchar* _tmp11_ = NULL;
				gchar* _tmp12_ = NULL;
				gchar* _tmp13_ = NULL;
				gchar* _tmp14_ = NULL;
				const gchar* _tmp15_ = NULL;
				gchar* _tmp16_ = NULL;
				gchar* _tmp17_ = NULL;
				const gchar* _tmp18_ = NULL;
				gchar** _tmp19_ = NULL;
				gchar** _tmp20_ = NULL;
				gchar** _tmp21_ = NULL;
				gint _tmp21__length1 = 0;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, "lxsession-logout");
				_tmp10_ = self->priv->quitmanager_image;
				_tmp11_ = g_strconcat ("lxsession-logout --banner ", _tmp10_, NULL);
				_tmp12_ = _tmp11_;
				_tmp13_ = g_strconcat (_tmp12_, " --side=", NULL);
				_tmp14_ = _tmp13_;
				_tmp15_ = self->priv->quitmanager_layout;
				_tmp16_ = g_strconcat (_tmp14_, _tmp15_, NULL);
				_tmp17_ = _tmp16_;
				_g_free0 (_tmp14_);
				_g_free0 (_tmp12_);
				create_command = _tmp17_;
				_tmp18_ = create_command;
				_tmp20_ = _tmp19_ = g_strsplit_set (_tmp18_, " ", 0);
				_tmp21_ = _tmp20_;
				_tmp21__length1 = _vala_array_length (_tmp19_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp21_, _vala_array_length (_tmp19_));
				_tmp21_ = (_vala_array_free (_tmp21_, _tmp21__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp22_ = NULL;
				gchar** _tmp23_ = NULL;
				gchar** _tmp24_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp25_ = NULL;
				gint _tmp25__length1 = 0;
				const gchar* _tmp26_ = NULL;
				gchar** _tmp27_ = NULL;
				gint _tmp27__length1 = 0;
				_tmp22_ = self->priv->quitmanager_command;
				_tmp24_ = _tmp23_ = g_strsplit_set (_tmp22_, " ", 0);
				create_command = _tmp24_;
				create_command_length1 = _vala_array_length (_tmp23_);
				_create_command_size_ = create_command_length1;
				_tmp25_ = create_command;
				_tmp25__length1 = create_command_length1;
				_tmp26_ = _tmp25_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp26_);
				_tmp27_ = create_command;
				_tmp27__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp27_, _tmp27__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


static void lxsession_quit_manager_app_class_init (LxsessionQuitManagerAppClass * klass) {
	lxsession_quit_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionQuitManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_quit_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_quit_manager_app_finalize;
}


static void lxsession_quit_manager_app_instance_init (LxsessionQuitManagerApp * self) {
	self->priv = LXSESSION_QUIT_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_quit_manager_app_finalize (GObject* obj) {
	LxsessionQuitManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_QUIT_MANAGER_APP, LxsessionQuitManagerApp);
	_g_free0 (self->priv->quitmanager_command);
	_g_free0 (self->priv->quitmanager_image);
	_g_free0 (self->priv->quitmanager_layout);
	G_OBJECT_CLASS (lxsession_quit_manager_app_parent_class)->finalize (obj);
}


GType lxsession_quit_manager_app_get_type (void) {
	static volatile gsize lxsession_quit_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_quit_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionQuitManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_quit_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionQuitManagerApp), 0, (GInstanceInitFunc) lxsession_quit_manager_app_instance_init, NULL };
		GType lxsession_quit_manager_app_type_id;
		lxsession_quit_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionQuitManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_quit_manager_app_type_id__volatile, lxsession_quit_manager_app_type_id);
	}
	return lxsession_quit_manager_app_type_id__volatile;
}


LxsessionWorkspaceManagerApp* lxsession_workspace_manager_app_construct (GType object_type) {
	LxsessionWorkspaceManagerApp * self = NULL;
	self = (LxsessionWorkspaceManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionWorkspaceManagerApp* lxsession_workspace_manager_app_new (void) {
	return lxsession_workspace_manager_app_construct (LXSESSION_TYPE_WORKSPACE_MANAGER_APP);
}


static void lxsession_workspace_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionWorkspaceManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
	static GQuark _tmp4_label0 = 0;
	self = (LxsessionWorkspaceManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "workspace_manager", "command");
	_g_free0 (self->priv->workspacemanager_command);
	self->priv->workspacemanager_command = _tmp1_;
	_tmp2_ = self->priv->workspacemanager_command;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("obconf")))) {
		switch (0) {
			default:
			{
				gchar* create_command = NULL;
				gchar* _tmp6_ = NULL;
				const gchar* _tmp7_ = NULL;
				gchar** _tmp8_ = NULL;
				gchar** _tmp9_ = NULL;
				gchar** _tmp10_ = NULL;
				gint _tmp10__length1 = 0;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, "obconf");
				_tmp6_ = g_strdup ("obconf --tab 6");
				create_command = _tmp6_;
				_tmp7_ = create_command;
				_tmp9_ = _tmp8_ = g_strsplit_set (_tmp7_, " ", 0);
				_tmp10_ = _tmp9_;
				_tmp10__length1 = _vala_array_length (_tmp8_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp10_, _vala_array_length (_tmp8_));
				_tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp11_ = NULL;
				gchar** _tmp12_ = NULL;
				gchar** _tmp13_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp14_ = NULL;
				gint _tmp14__length1 = 0;
				const gchar* _tmp15_ = NULL;
				gchar** _tmp16_ = NULL;
				gint _tmp16__length1 = 0;
				_tmp11_ = self->priv->workspacemanager_command;
				_tmp13_ = _tmp12_ = g_strsplit_set (_tmp11_, " ", 0);
				create_command = _tmp13_;
				create_command_length1 = _vala_array_length (_tmp12_);
				_create_command_size_ = create_command_length1;
				_tmp14_ = create_command;
				_tmp14__length1 = create_command_length1;
				_tmp15_ = _tmp14_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp15_);
				_tmp16_ = create_command;
				_tmp16__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp16_, _tmp16__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


static void lxsession_workspace_manager_app_class_init (LxsessionWorkspaceManagerAppClass * klass) {
	lxsession_workspace_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionWorkspaceManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_workspace_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_workspace_manager_app_finalize;
}


static void lxsession_workspace_manager_app_instance_init (LxsessionWorkspaceManagerApp * self) {
	self->priv = LXSESSION_WORKSPACE_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_workspace_manager_app_finalize (GObject* obj) {
	LxsessionWorkspaceManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_WORKSPACE_MANAGER_APP, LxsessionWorkspaceManagerApp);
	_g_free0 (self->priv->workspacemanager_command);
	G_OBJECT_CLASS (lxsession_workspace_manager_app_parent_class)->finalize (obj);
}


GType lxsession_workspace_manager_app_get_type (void) {
	static volatile gsize lxsession_workspace_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_workspace_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionWorkspaceManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_workspace_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionWorkspaceManagerApp), 0, (GInstanceInitFunc) lxsession_workspace_manager_app_instance_init, NULL };
		GType lxsession_workspace_manager_app_type_id;
		lxsession_workspace_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionWorkspaceManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_workspace_manager_app_type_id__volatile, lxsession_workspace_manager_app_type_id);
	}
	return lxsession_workspace_manager_app_type_id__volatile;
}


LxsessionLauncherManagerApp* lxsession_launcher_manager_app_construct (GType object_type) {
	LxsessionLauncherManagerApp * self = NULL;
	self = (LxsessionLauncherManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionLauncherManagerApp* lxsession_launcher_manager_app_new (void) {
	return lxsession_launcher_manager_app_construct (LXSESSION_TYPE_LAUNCHER_MANAGER_APP);
}


static void lxsession_launcher_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionLauncherManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
	static GQuark _tmp4_label0 = 0;
	self = (LxsessionLauncherManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "launcher_manager", "command");
	_g_free0 (self->priv->launchermanager_command);
	self->priv->launchermanager_command = _tmp1_;
	_tmp2_ = self->priv->launchermanager_command;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("lxpanelctl")))) {
		switch (0) {
			default:
			{
				gchar* create_command = NULL;
				gchar* _tmp6_ = NULL;
				const gchar* _tmp7_ = NULL;
				gchar** _tmp8_ = NULL;
				gchar** _tmp9_ = NULL;
				gchar** _tmp10_ = NULL;
				gint _tmp10__length1 = 0;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, "lxpanelctl");
				_tmp6_ = g_strdup ("lxpanelctl run");
				create_command = _tmp6_;
				_tmp7_ = create_command;
				_tmp9_ = _tmp8_ = g_strsplit_set (_tmp7_, " ", 0);
				_tmp10_ = _tmp9_;
				_tmp10__length1 = _vala_array_length (_tmp8_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp10_, _vala_array_length (_tmp8_));
				_tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp11_ = NULL;
				gchar** _tmp12_ = NULL;
				gchar** _tmp13_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp14_ = NULL;
				gint _tmp14__length1 = 0;
				const gchar* _tmp15_ = NULL;
				gchar** _tmp16_ = NULL;
				gint _tmp16__length1 = 0;
				_tmp11_ = self->priv->launchermanager_command;
				_tmp13_ = _tmp12_ = g_strsplit_set (_tmp11_, " ", 0);
				create_command = _tmp13_;
				create_command_length1 = _vala_array_length (_tmp12_);
				_create_command_size_ = create_command_length1;
				_tmp14_ = create_command;
				_tmp14__length1 = create_command_length1;
				_tmp15_ = _tmp14_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp15_);
				_tmp16_ = create_command;
				_tmp16__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp16_, _tmp16__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


void lxsession_launcher_manager_app_autostart_launch (LxsessionLauncherManagerApp* self) {
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	GQuark _tmp3_ = 0U;
	static GQuark _tmp2_label0 = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->launchermanager_command;
	_tmp1_ = _tmp0_;
	_tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
	if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("synapse")))) {
		switch (0) {
			default:
			{
				gchar* create_autostart_command = NULL;
				gchar* _tmp4_ = NULL;
				const gchar* _tmp5_ = NULL;
				_tmp4_ = g_strdup ("synapse --startup");
				create_autostart_command = _tmp4_;
				_tmp5_ = create_autostart_command;
				lxsession_lxsession_spawn_command_line_async (_tmp5_);
				_g_free0 (create_autostart_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				lxsession_app_object_launch ((LxsessionAppObject*) self);
				break;
			}
		}
	}
}


static void lxsession_launcher_manager_app_class_init (LxsessionLauncherManagerAppClass * klass) {
	lxsession_launcher_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionLauncherManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_launcher_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_launcher_manager_app_finalize;
}


static void lxsession_launcher_manager_app_instance_init (LxsessionLauncherManagerApp * self) {
	self->priv = LXSESSION_LAUNCHER_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_launcher_manager_app_finalize (GObject* obj) {
	LxsessionLauncherManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_LAUNCHER_MANAGER_APP, LxsessionLauncherManagerApp);
	_g_free0 (self->priv->launchermanager_command);
	G_OBJECT_CLASS (lxsession_launcher_manager_app_parent_class)->finalize (obj);
}


GType lxsession_launcher_manager_app_get_type (void) {
	static volatile gsize lxsession_launcher_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_launcher_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionLauncherManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_launcher_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionLauncherManagerApp), 0, (GInstanceInitFunc) lxsession_launcher_manager_app_instance_init, NULL };
		GType lxsession_launcher_manager_app_type_id;
		lxsession_launcher_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionLauncherManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_launcher_manager_app_type_id__volatile, lxsession_launcher_manager_app_type_id);
	}
	return lxsession_launcher_manager_app_type_id__volatile;
}


LxsessionTerminalManagerApp* lxsession_terminal_manager_app_construct (GType object_type) {
	LxsessionTerminalManagerApp * self = NULL;
	self = (LxsessionTerminalManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionTerminalManagerApp* lxsession_terminal_manager_app_new (void) {
	return lxsession_terminal_manager_app_construct (LXSESSION_TYPE_TERMINAL_MANAGER_APP);
}


static void lxsession_terminal_manager_app_real_read_config_settings (LxsessionAppObject* base) {
	LxsessionTerminalManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	self = (LxsessionTerminalManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "terminal_manager", "command");
	_g_free0 (self->priv->terminalmanager_command);
	self->priv->terminalmanager_command = _tmp1_;
}


static void lxsession_terminal_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionTerminalManagerApp * self;
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	GQuark _tmp3_ = 0U;
	static GQuark _tmp2_label0 = 0;
	self = (LxsessionTerminalManagerApp*) base;
	_tmp0_ = self->priv->terminalmanager_command;
	_tmp1_ = _tmp0_;
	_tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
	if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("lxterminal")))) {
		switch (0) {
			default:
			{
				gchar* create_command = NULL;
				gchar* _tmp4_ = NULL;
				const gchar* _tmp5_ = NULL;
				gchar** _tmp6_ = NULL;
				gchar** _tmp7_ = NULL;
				gchar** _tmp8_ = NULL;
				gint _tmp8__length1 = 0;
				lxsession_app_object_set_name ((LxsessionAppObject*) self, "lxterminal");
				_tmp4_ = g_strdup ("lxterminal -e");
				create_command = _tmp4_;
				_tmp5_ = create_command;
				_tmp7_ = _tmp6_ = g_strsplit_set (_tmp5_, " ", 0);
				_tmp8_ = _tmp7_;
				_tmp8__length1 = _vala_array_length (_tmp6_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp8_, _vala_array_length (_tmp6_));
				_tmp8_ = (_vala_array_free (_tmp8_, _tmp8__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp9_ = NULL;
				gchar** _tmp10_ = NULL;
				gchar** _tmp11_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp12_ = NULL;
				gint _tmp12__length1 = 0;
				const gchar* _tmp13_ = NULL;
				gchar** _tmp14_ = NULL;
				gint _tmp14__length1 = 0;
				_tmp9_ = self->priv->terminalmanager_command;
				_tmp11_ = _tmp10_ = g_strsplit_set (_tmp9_, " ", 0);
				create_command = _tmp11_;
				create_command_length1 = _vala_array_length (_tmp10_);
				_create_command_size_ = create_command_length1;
				_tmp12_ = create_command;
				_tmp12__length1 = create_command_length1;
				_tmp13_ = _tmp12_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp13_);
				_tmp14_ = create_command;
				_tmp14__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp14_, _tmp14__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


void lxsession_terminal_manager_app_launch (LxsessionTerminalManagerApp* self, const gchar* argument) {
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (argument != NULL);
	_tmp0_ = argument;
	if (g_strcmp0 (_tmp0_, "") == 0) {
		argument = NULL;
	}
	_tmp1_ = argument;
	lxsession_app_object_generic_launch ((LxsessionAppObject*) self, _tmp1_);
}


static void lxsession_terminal_manager_app_class_init (LxsessionTerminalManagerAppClass * klass) {
	lxsession_terminal_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionTerminalManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_config_settings = lxsession_terminal_manager_app_real_read_config_settings;
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_terminal_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_terminal_manager_app_finalize;
}


static void lxsession_terminal_manager_app_instance_init (LxsessionTerminalManagerApp * self) {
	self->priv = LXSESSION_TERMINAL_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_terminal_manager_app_finalize (GObject* obj) {
	LxsessionTerminalManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_TERMINAL_MANAGER_APP, LxsessionTerminalManagerApp);
	_g_free0 (self->priv->terminalmanager_command);
	G_OBJECT_CLASS (lxsession_terminal_manager_app_parent_class)->finalize (obj);
}


GType lxsession_terminal_manager_app_get_type (void) {
	static volatile gsize lxsession_terminal_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_terminal_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionTerminalManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_terminal_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionTerminalManagerApp), 0, (GInstanceInitFunc) lxsession_terminal_manager_app_instance_init, NULL };
		GType lxsession_terminal_manager_app_type_id;
		lxsession_terminal_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionTerminalManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_terminal_manager_app_type_id__volatile, lxsession_terminal_manager_app_type_id);
	}
	return lxsession_terminal_manager_app_type_id__volatile;
}


LxsessionProxyManagerApp* lxsession_proxy_manager_app_construct (GType object_type) {
	LxsessionProxyManagerApp * self = NULL;
	self = (LxsessionProxyManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionProxyManagerApp* lxsession_proxy_manager_app_new (void) {
	return lxsession_proxy_manager_app_construct (LXSESSION_TYPE_PROXY_MANAGER_APP);
}


static void lxsession_proxy_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionProxyManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	GQuark _tmp7_ = 0U;
	static GQuark _tmp6_label0 = 0;
	self = (LxsessionProxyManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "proxy_manager", "command");
	_g_free0 (self->priv->proxymanager_command);
	self->priv->proxymanager_command = _tmp1_;
	_tmp2_ = lxsession_global_settings;
	_tmp3_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp2_, "Session", "proxy_manager", "http");
	_g_free0 (self->priv->proxymanager_http);
	self->priv->proxymanager_http = _tmp3_;
	_tmp4_ = self->priv->proxymanager_command;
	_tmp5_ = _tmp4_;
	_tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_);
	if (_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("build-in")))) {
		switch (0) {
			default:
			{
				const gchar* _tmp8_ = NULL;
				const gchar* _tmp9_ = NULL;
				GQuark _tmp11_ = 0U;
				static GQuark _tmp10_label0 = 0;
				static GQuark _tmp10_label1 = 0;
				static GQuark _tmp10_label2 = 0;
				_tmp8_ = self->priv->proxymanager_http;
				_tmp9_ = _tmp8_;
				_tmp11_ = (NULL == _tmp9_) ? 0 : g_quark_from_string (_tmp9_);
				if (_tmp11_ == ((0 != _tmp10_label0) ? _tmp10_label0 : (_tmp10_label0 = g_quark_from_static_string (NULL)))) {
					switch (0) {
						default:
						{
							break;
						}
					}
				} else if (_tmp11_ == ((0 != _tmp10_label1) ? _tmp10_label1 : (_tmp10_label1 = g_quark_from_static_string ("")))) {
					switch (0) {
						default:
						{
							break;
						}
					}
				} else if (_tmp11_ == ((0 != _tmp10_label2) ? _tmp10_label2 : (_tmp10_label2 = g_quark_from_static_string (" ")))) {
					switch (0) {
						default:
						{
							break;
						}
					}
				} else {
					switch (0) {
						default:
						{
							const gchar* _tmp12_ = NULL;
							_tmp12_ = self->priv->proxymanager_http;
							g_setenv ("HTTP_PROXY", _tmp12_, TRUE);
							break;
						}
					}
				}
				break;
			}
		}
	}
}


static void lxsession_proxy_manager_app_class_init (LxsessionProxyManagerAppClass * klass) {
	lxsession_proxy_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionProxyManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_proxy_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_proxy_manager_app_finalize;
}


static void lxsession_proxy_manager_app_instance_init (LxsessionProxyManagerApp * self) {
	self->priv = LXSESSION_PROXY_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_proxy_manager_app_finalize (GObject* obj) {
	LxsessionProxyManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_PROXY_MANAGER_APP, LxsessionProxyManagerApp);
	_g_free0 (self->priv->proxymanager_command);
	_g_free0 (self->priv->proxymanager_http);
	G_OBJECT_CLASS (lxsession_proxy_manager_app_parent_class)->finalize (obj);
}


GType lxsession_proxy_manager_app_get_type (void) {
	static volatile gsize lxsession_proxy_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_proxy_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionProxyManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_proxy_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionProxyManagerApp), 0, (GInstanceInitFunc) lxsession_proxy_manager_app_instance_init, NULL };
		GType lxsession_proxy_manager_app_type_id;
		lxsession_proxy_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionProxyManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_proxy_manager_app_type_id__volatile, lxsession_proxy_manager_app_type_id);
	}
	return lxsession_proxy_manager_app_type_id__volatile;
}


LxsessionA11yApp* lxsession_a11y_app_construct (GType object_type) {
	LxsessionA11yApp * self = NULL;
	self = (LxsessionA11yApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionA11yApp* lxsession_a11y_app_new (void) {
	return lxsession_a11y_app_construct (LXSESSION_TYPE_A11Y_APP);
}


static void lxsession_a11y_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionA11yApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
	static GQuark _tmp4_label0 = 0;
	static GQuark _tmp4_label1 = 0;
	static GQuark _tmp4_label2 = 0;
	static GQuark _tmp4_label3 = 0;
	self = (LxsessionA11yApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "a11y", "command");
	_g_free0 (self->priv->a11y_command);
	self->priv->a11y_command = _tmp1_;
	_tmp2_ = self->priv->a11y_command;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string (NULL)))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("")))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string (" ")))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label3) ? _tmp4_label3 : (_tmp4_label3 = g_quark_from_static_string ("gnome")))) {
		switch (0) {
			default:
			{
				gchar* tmp_command = NULL;
				gchar* _tmp6_ = NULL;
				gchar** create_command = NULL;
				const gchar* _tmp7_ = NULL;
				gchar** _tmp8_ = NULL;
				gchar** _tmp9_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp10_ = NULL;
				gint _tmp10__length1 = 0;
				const gchar* _tmp11_ = NULL;
				gchar** _tmp12_ = NULL;
				gint _tmp12__length1 = 0;
				_tmp6_ = g_strdup ("/usr/lib/at-spi2-core/at-spi-bus-launcher --launch-immediately");
				tmp_command = _tmp6_;
				_tmp7_ = tmp_command;
				_tmp9_ = _tmp8_ = g_strsplit_set (_tmp7_, " ", 0);
				create_command = _tmp9_;
				create_command_length1 = _vala_array_length (_tmp8_);
				_create_command_size_ = create_command_length1;
				_tmp10_ = create_command;
				_tmp10__length1 = create_command_length1;
				_tmp11_ = _tmp10_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp11_);
				_tmp12_ = create_command;
				_tmp12__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp12_, _tmp12__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (tmp_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp13_ = NULL;
				gchar** _tmp14_ = NULL;
				gchar** _tmp15_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp16_ = NULL;
				gint _tmp16__length1 = 0;
				const gchar* _tmp17_ = NULL;
				gchar** _tmp18_ = NULL;
				gint _tmp18__length1 = 0;
				_tmp13_ = self->priv->a11y_command;
				_tmp15_ = _tmp14_ = g_strsplit_set (_tmp13_, " ", 0);
				create_command = _tmp15_;
				create_command_length1 = _vala_array_length (_tmp14_);
				_create_command_size_ = create_command_length1;
				_tmp16_ = create_command;
				_tmp16__length1 = create_command_length1;
				_tmp17_ = _tmp16_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp17_);
				_tmp18_ = create_command;
				_tmp18__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp18_, _tmp18__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


static void lxsession_a11y_app_class_init (LxsessionA11yAppClass * klass) {
	lxsession_a11y_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionA11yAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_a11y_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_a11y_app_finalize;
}


static void lxsession_a11y_app_instance_init (LxsessionA11yApp * self) {
	self->priv = LXSESSION_A11Y_APP_GET_PRIVATE (self);
}


static void lxsession_a11y_app_finalize (GObject* obj) {
	LxsessionA11yApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_A11Y_APP, LxsessionA11yApp);
	_g_free0 (self->priv->a11y_command);
	G_OBJECT_CLASS (lxsession_a11y_app_parent_class)->finalize (obj);
}


GType lxsession_a11y_app_get_type (void) {
	static volatile gsize lxsession_a11y_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_a11y_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionA11yAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_a11y_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionA11yApp), 0, (GInstanceInitFunc) lxsession_a11y_app_instance_init, NULL };
		GType lxsession_a11y_app_type_id;
		lxsession_a11y_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionA11yApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_a11y_app_type_id__volatile, lxsession_a11y_app_type_id);
	}
	return lxsession_a11y_app_type_id__volatile;
}


LxsessionXrandrApp* lxsession_xrandr_app_construct (GType object_type) {
	LxsessionXrandrApp * self = NULL;
	self = (LxsessionXrandrApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionXrandrApp* lxsession_xrandr_app_new (void) {
	return lxsession_xrandr_app_construct (LXSESSION_TYPE_XRANDR_APP);
}


static void lxsession_xrandr_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionXrandrApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
	static GQuark _tmp4_label0 = 0;
	static GQuark _tmp4_label1 = 0;
	static GQuark _tmp4_label2 = 0;
	self = (LxsessionXrandrApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "xrandr", "command");
	_g_free0 (self->priv->xrandr_command);
	self->priv->xrandr_command = _tmp1_;
	_tmp2_ = self->priv->xrandr_command;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string (NULL)))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("")))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string (" ")))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp6_ = NULL;
				gchar** _tmp7_ = NULL;
				gchar** _tmp8_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp9_ = NULL;
				gint _tmp9__length1 = 0;
				const gchar* _tmp10_ = NULL;
				gchar** _tmp11_ = NULL;
				gint _tmp11__length1 = 0;
				_tmp6_ = self->priv->xrandr_command;
				_tmp8_ = _tmp7_ = g_strsplit_set (_tmp6_, " ", 0);
				create_command = _tmp8_;
				create_command_length1 = _vala_array_length (_tmp7_);
				_create_command_size_ = create_command_length1;
				_tmp9_ = create_command;
				_tmp9__length1 = create_command_length1;
				_tmp10_ = _tmp9_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp10_);
				_tmp11_ = create_command;
				_tmp11__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp11_, _tmp11__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


static void lxsession_xrandr_app_class_init (LxsessionXrandrAppClass * klass) {
	lxsession_xrandr_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionXrandrAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_xrandr_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_xrandr_app_finalize;
}


static void lxsession_xrandr_app_instance_init (LxsessionXrandrApp * self) {
	self->priv = LXSESSION_XRANDR_APP_GET_PRIVATE (self);
}


static void lxsession_xrandr_app_finalize (GObject* obj) {
	LxsessionXrandrApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_XRANDR_APP, LxsessionXrandrApp);
	_g_free0 (self->priv->xrandr_command);
	G_OBJECT_CLASS (lxsession_xrandr_app_parent_class)->finalize (obj);
}


GType lxsession_xrandr_app_get_type (void) {
	static volatile gsize lxsession_xrandr_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_xrandr_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionXrandrAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_xrandr_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionXrandrApp), 0, (GInstanceInitFunc) lxsession_xrandr_app_instance_init, NULL };
		GType lxsession_xrandr_app_type_id;
		lxsession_xrandr_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionXrandrApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_xrandr_app_type_id__volatile, lxsession_xrandr_app_type_id);
	}
	return lxsession_xrandr_app_type_id__volatile;
}


LxsessionKeyringApp* lxsession_keyring_app_construct (GType object_type) {
	LxsessionKeyringApp * self = NULL;
	self = (LxsessionKeyringApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionKeyringApp* lxsession_keyring_app_new (void) {
	return lxsession_keyring_app_construct (LXSESSION_TYPE_KEYRING_APP);
}


static void lxsession_keyring_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionKeyringApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	LxsessionLxsessionConfigKeyFile* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	GQuark _tmp7_ = 0U;
	static GQuark _tmp6_label0 = 0;
	static GQuark _tmp6_label1 = 0;
	self = (LxsessionKeyringApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "keyring", "command");
	_g_free0 (self->priv->keyring_command);
	self->priv->keyring_command = _tmp1_;
	_tmp2_ = lxsession_global_settings;
	_tmp3_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp2_, "Session", "keyring", "type");
	_g_free0 (self->priv->keyring_type);
	self->priv->keyring_type = _tmp3_;
	_tmp4_ = self->priv->keyring_command;
	_tmp5_ = _tmp4_;
	_tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_);
	if (_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("gnome-all")))) {
		switch (0) {
			default:
			{
				gchar* tmp_command = NULL;
				gchar* _tmp8_ = NULL;
				gchar** create_command = NULL;
				const gchar* _tmp9_ = NULL;
				gchar** _tmp10_ = NULL;
				gchar** _tmp11_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp12_ = NULL;
				gint _tmp12__length1 = 0;
				const gchar* _tmp13_ = NULL;
				gchar** _tmp14_ = NULL;
				gint _tmp14__length1 = 0;
				_tmp8_ = g_strdup ("gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg");
				tmp_command = _tmp8_;
				_tmp9_ = tmp_command;
				_tmp11_ = _tmp10_ = g_strsplit_set (_tmp9_, " ", 0);
				create_command = _tmp11_;
				create_command_length1 = _vala_array_length (_tmp10_);
				_create_command_size_ = create_command_length1;
				_tmp12_ = create_command;
				_tmp12__length1 = create_command_length1;
				_tmp13_ = _tmp12_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp13_);
				_tmp14_ = create_command;
				_tmp14__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp14_, _tmp14__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (tmp_command);
				break;
			}
		}
	} else if (_tmp7_ == ((0 != _tmp6_label1) ? _tmp6_label1 : (_tmp6_label1 = g_quark_from_static_string ("ssh-agent")))) {
		switch (0) {
			default:
			{
				gchar* tmp_command = NULL;
				gchar* _tmp15_ = NULL;
				gchar** create_command = NULL;
				const gchar* _tmp16_ = NULL;
				gchar** _tmp17_ = NULL;
				gchar** _tmp18_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp19_ = NULL;
				gint _tmp19__length1 = 0;
				const gchar* _tmp20_ = NULL;
				gchar** _tmp21_ = NULL;
				gint _tmp21__length1 = 0;
				_tmp15_ = g_strdup ("/usr/bin/ssh-agent -s");
				tmp_command = _tmp15_;
				_tmp16_ = tmp_command;
				_tmp18_ = _tmp17_ = g_strsplit_set (_tmp16_, " ", 0);
				create_command = _tmp18_;
				create_command_length1 = _vala_array_length (_tmp17_);
				_create_command_size_ = create_command_length1;
				_tmp19_ = create_command;
				_tmp19__length1 = create_command_length1;
				_tmp20_ = _tmp19_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp20_);
				_tmp21_ = create_command;
				_tmp21__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp21_, _tmp21__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (tmp_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp22_ = NULL;
				gchar** _tmp23_ = NULL;
				gchar** _tmp24_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp25_ = NULL;
				gint _tmp25__length1 = 0;
				const gchar* _tmp26_ = NULL;
				gchar** _tmp27_ = NULL;
				gint _tmp27__length1 = 0;
				_tmp22_ = self->priv->keyring_command;
				_tmp24_ = _tmp23_ = g_strsplit_set (_tmp22_, " ", 0);
				create_command = _tmp24_;
				create_command_length1 = _vala_array_length (_tmp23_);
				_create_command_size_ = create_command_length1;
				_tmp25_ = create_command;
				_tmp25__length1 = create_command_length1;
				_tmp26_ = _tmp25_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp26_);
				_tmp27_ = create_command;
				_tmp27__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp27_, _tmp27__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


static void lxsession_keyring_app_class_init (LxsessionKeyringAppClass * klass) {
	lxsession_keyring_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionKeyringAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_keyring_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_keyring_app_finalize;
}


static void lxsession_keyring_app_instance_init (LxsessionKeyringApp * self) {
	self->priv = LXSESSION_KEYRING_APP_GET_PRIVATE (self);
}


static void lxsession_keyring_app_finalize (GObject* obj) {
	LxsessionKeyringApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_KEYRING_APP, LxsessionKeyringApp);
	_g_free0 (self->priv->keyring_command);
	_g_free0 (self->priv->keyring_type);
	G_OBJECT_CLASS (lxsession_keyring_app_parent_class)->finalize (obj);
}


GType lxsession_keyring_app_get_type (void) {
	static volatile gsize lxsession_keyring_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_keyring_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionKeyringAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_keyring_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionKeyringApp), 0, (GInstanceInitFunc) lxsession_keyring_app_instance_init, NULL };
		GType lxsession_keyring_app_type_id;
		lxsession_keyring_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionKeyringApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_keyring_app_type_id__volatile, lxsession_keyring_app_type_id);
	}
	return lxsession_keyring_app_type_id__volatile;
}


LxsessionScreenshotManagerApp* lxsession_screenshot_manager_app_construct (GType object_type) {
	LxsessionScreenshotManagerApp * self = NULL;
	self = (LxsessionScreenshotManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionScreenshotManagerApp* lxsession_screenshot_manager_app_new (void) {
	return lxsession_screenshot_manager_app_construct (LXSESSION_TYPE_SCREENSHOT_MANAGER_APP);
}


static void lxsession_screenshot_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionScreenshotManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
	self = (LxsessionScreenshotManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "screenshot_manager", "command");
	_g_free0 (self->priv->screenshotmanager_command);
	self->priv->screenshotmanager_command = _tmp1_;
	_tmp2_ = self->priv->screenshotmanager_command;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	switch (0) {
		default:
		{
			gchar** create_command = NULL;
			const gchar* _tmp6_ = NULL;
			gchar** _tmp7_ = NULL;
			gchar** _tmp8_ = NULL;
			gint create_command_length1 = 0;
			gint _create_command_size_ = 0;
			const gchar* _tmp9_ = NULL;
			_tmp6_ = self->priv->screenshotmanager_command;
			_tmp8_ = _tmp7_ = g_strsplit_set (_tmp6_, " ", 0);
			create_command = _tmp8_;
			create_command_length1 = _vala_array_length (_tmp7_);
			_create_command_size_ = create_command_length1;
			_tmp9_ = create_command[0];
			lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp9_);
			lxsession_app_object_set_command ((LxsessionAppObject*) self, create_command, create_command_length1);
			create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
			break;
		}
	}
}


static gchar** _vala_array_dup3 (gchar** self, int length) {
	gchar** result;
	int i;
	result = g_new0 (gchar*, length + 1);
	for (i = 0; i < length; i++) {
		gchar* _tmp0_ = NULL;
		_tmp0_ = g_strdup (self[i]);
		result[i] = _tmp0_;
	}
	return result;
}


void lxsession_screenshot_manager_app_window_launch (LxsessionScreenshotManagerApp* self) {
	gchar** backup_command = NULL;
	gchar** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gchar** _tmp1_ = NULL;
	gint _tmp1__length1 = 0;
	gchar** _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	gint backup_command_length1 = 0;
	gint _backup_command_size_ = 0;
	const gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	GQuark _tmp6_ = 0U;
	static GQuark _tmp5_label0 = 0;
	gchar** _tmp12_ = NULL;
	gint _tmp12__length1 = 0;
	g_return_if_fail (self != NULL);
	lxsession_app_object_read_settings ((LxsessionAppObject*) self);
	_tmp0_ = lxsession_app_object_get_command ((LxsessionAppObject*) self, &_tmp0__length1);
	_tmp1_ = _tmp0_;
	_tmp1__length1 = _tmp0__length1;
	_tmp2_ = (_tmp1_ != NULL) ? _vala_array_dup3 (_tmp1_, _tmp1__length1) : ((gpointer) _tmp1_);
	_tmp2__length1 = _tmp1__length1;
	backup_command = _tmp2_;
	backup_command_length1 = _tmp2__length1;
	_backup_command_size_ = backup_command_length1;
	_tmp3_ = self->priv->screenshotmanager_command;
	_tmp4_ = _tmp3_;
	_tmp6_ = (NULL == _tmp4_) ? 0 : g_quark_from_string (_tmp4_);
	if (_tmp6_ == ((0 != _tmp5_label0) ? _tmp5_label0 : (_tmp5_label0 = g_quark_from_static_string ("scrot")))) {
		switch (0) {
			default:
			{
				gchar* create_window_command = NULL;
				gchar* _tmp7_ = NULL;
				const gchar* _tmp8_ = NULL;
				gchar** _tmp9_ = NULL;
				gchar** _tmp10_ = NULL;
				gchar** _tmp11_ = NULL;
				gint _tmp11__length1 = 0;
				_tmp7_ = g_strdup ("scrot -u -b");
				create_window_command = _tmp7_;
				_tmp8_ = create_window_command;
				_tmp10_ = _tmp9_ = g_strsplit_set (_tmp8_, " ", 0);
				_tmp11_ = _tmp10_;
				_tmp11__length1 = _vala_array_length (_tmp9_);
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp11_, _vala_array_length (_tmp9_));
				_tmp11_ = (_vala_array_free (_tmp11_, _tmp11__length1, (GDestroyNotify) g_free), NULL);
				_g_free0 (create_window_command);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				break;
			}
		}
	}
	lxsession_app_object_launch ((LxsessionAppObject*) self);
	_tmp12_ = backup_command;
	_tmp12__length1 = backup_command_length1;
	lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp12_, _tmp12__length1);
	backup_command = (_vala_array_free (backup_command, backup_command_length1, (GDestroyNotify) g_free), NULL);
}


static void lxsession_screenshot_manager_app_class_init (LxsessionScreenshotManagerAppClass * klass) {
	lxsession_screenshot_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionScreenshotManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_screenshot_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_screenshot_manager_app_finalize;
}


static void lxsession_screenshot_manager_app_instance_init (LxsessionScreenshotManagerApp * self) {
	self->priv = LXSESSION_SCREENSHOT_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_screenshot_manager_app_finalize (GObject* obj) {
	LxsessionScreenshotManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_SCREENSHOT_MANAGER_APP, LxsessionScreenshotManagerApp);
	_g_free0 (self->priv->screenshotmanager_command);
	G_OBJECT_CLASS (lxsession_screenshot_manager_app_parent_class)->finalize (obj);
}


GType lxsession_screenshot_manager_app_get_type (void) {
	static volatile gsize lxsession_screenshot_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_screenshot_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionScreenshotManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_screenshot_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionScreenshotManagerApp), 0, (GInstanceInitFunc) lxsession_screenshot_manager_app_instance_init, NULL };
		GType lxsession_screenshot_manager_app_type_id;
		lxsession_screenshot_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionScreenshotManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_screenshot_manager_app_type_id__volatile, lxsession_screenshot_manager_app_type_id);
	}
	return lxsession_screenshot_manager_app_type_id__volatile;
}


LxsessionUpdatesManagerApp* lxsession_updates_manager_app_construct (GType object_type) {
	LxsessionUpdatesManagerApp * self = NULL;
	self = (LxsessionUpdatesManagerApp*) lxsession_simple_app_object_construct (object_type);
	lxsession_app_object_init ((LxsessionAppObject*) self);
	return self;
}


LxsessionUpdatesManagerApp* lxsession_updates_manager_app_new (void) {
	return lxsession_updates_manager_app_construct (LXSESSION_TYPE_UPDATES_MANAGER_APP);
}


static void lxsession_updates_manager_app_real_read_settings (LxsessionAppObject* base) {
	LxsessionUpdatesManagerApp * self;
	LxsessionLxsessionConfigKeyFile* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	GQuark _tmp5_ = 0U;
	static GQuark _tmp4_label0 = 0;
	static GQuark _tmp4_label1 = 0;
	static GQuark _tmp4_label2 = 0;
	static GQuark _tmp4_label3 = 0;
	self = (LxsessionUpdatesManagerApp*) base;
	_tmp0_ = lxsession_global_settings;
	_tmp1_ = lxsession_lxsession_config_get_item_string ((LxsessionLxsessionConfig*) _tmp0_, "Session", "updates_manager", "command");
	_g_free0 (self->priv->updatesmanager_command);
	self->priv->updatesmanager_command = _tmp1_;
	_tmp2_ = self->priv->updatesmanager_command;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string (NULL)))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("")))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string (" ")))) {
		switch (0) {
			default:
			{
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label3) ? _tmp4_label3 : (_tmp4_label3 = g_quark_from_static_string ("build-in")))) {
		switch (0) {
			default:
			{
				lxsession_updates_manager_app_setup_apt_config (self);
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				gchar** create_command = NULL;
				const gchar* _tmp6_ = NULL;
				gchar** _tmp7_ = NULL;
				gchar** _tmp8_ = NULL;
				gint create_command_length1 = 0;
				gint _create_command_size_ = 0;
				gchar** _tmp9_ = NULL;
				gint _tmp9__length1 = 0;
				const gchar* _tmp10_ = NULL;
				gchar** _tmp11_ = NULL;
				gint _tmp11__length1 = 0;
				_tmp6_ = self->priv->updatesmanager_command;
				_tmp8_ = _tmp7_ = g_strsplit_set (_tmp6_, " ", 0);
				create_command = _tmp8_;
				create_command_length1 = _vala_array_length (_tmp7_);
				_create_command_size_ = create_command_length1;
				_tmp9_ = create_command;
				_tmp9__length1 = create_command_length1;
				_tmp10_ = _tmp9_[0];
				lxsession_app_object_set_name ((LxsessionAppObject*) self, _tmp10_);
				_tmp11_ = create_command;
				_tmp11__length1 = create_command_length1;
				lxsession_app_object_set_command ((LxsessionAppObject*) self, _tmp11_, _tmp11__length1);
				create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
				break;
			}
		}
	}
}


void lxsession_updates_manager_app_on_apt_update_file_change (LxsessionUpdatesManagerApp* self) {
	gchar* command = NULL;
	gchar* _tmp0_ = NULL;
	gchar** create_command = NULL;
	gchar** _tmp1_ = NULL;
	gchar** _tmp2_ = NULL;
	gint create_command_length1 = 0;
	gint _create_command_size_ = 0;
	gchar* standard_output = NULL;
	gchar* _tmp3_ = NULL;
	gchar* standard_error = NULL;
	gchar* _tmp4_ = NULL;
	gchar** updates_num = NULL;
	gint updates_num_length1 = 0;
	gint _updates_num_size_ = 0;
	gint exit_status = 0;
	const gchar* _tmp13_ = NULL;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup ("/usr/bin/nice" " " "/usr/bin/ionice" " " "-c3" " " "/usr/lib/update-notifier/apt-check");
	command = _tmp0_;
	_tmp2_ = _tmp1_ = g_strsplit_set (command, " ", 0);
	create_command = _tmp2_;
	create_command_length1 = _vala_array_length (_tmp1_);
	_create_command_size_ = create_command_length1;
	_tmp3_ = g_strdup ("");
	standard_output = _tmp3_;
	_tmp4_ = g_strdup ("");
	standard_error = _tmp4_;
	{
		gchar** spawn_env = NULL;
		gchar** _tmp5_ = NULL;
		gchar** _tmp6_ = NULL;
		gint spawn_env_length1 = 0;
		gint _spawn_env_size_ = 0;
		gchar* _tmp7_ = NULL;
		gchar* _tmp8_ = NULL;
		gint _tmp9_ = 0;
		const gchar* _tmp10_ = NULL;
		_tmp6_ = _tmp5_ = g_get_environ ();
		spawn_env = _tmp6_;
		spawn_env_length1 = _vala_array_length (_tmp5_);
		_spawn_env_size_ = spawn_env_length1;
		g_spawn_sync (NULL, create_command, spawn_env, G_SPAWN_STDOUT_TO_DEV_NULL, NULL, NULL, &_tmp7_, &_tmp8_, &_tmp9_, &_inner_error_);
		_g_free0 (standard_output);
		standard_output = _tmp7_;
		_g_free0 (standard_error);
		standard_error = _tmp8_;
		exit_status = _tmp9_;
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			spawn_env = (_vala_array_free (spawn_env, spawn_env_length1, (GDestroyNotify) g_free), NULL);
			if (_inner_error_->domain == G_SPAWN_ERROR) {
				goto __catch4_g_spawn_error;
			}
			spawn_env = (_vala_array_free (spawn_env, spawn_env_length1, (GDestroyNotify) g_free), NULL);
			updates_num = (_vala_array_free (updates_num, updates_num_length1, (GDestroyNotify) g_free), NULL);
			_g_free0 (standard_error);
			_g_free0 (standard_output);
			create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
			_g_free0 (command);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
			g_clear_error (&_inner_error_);
			return;
		}
		g_message ("app.vala:1218: Launching %s", command);
		_tmp10_ = standard_error;
		g_message ("app.vala:1219: Update state: %s", _tmp10_);
		g_message ("app.vala:1220: Update exit status: %i", exit_status);
		spawn_env = (_vala_array_free (spawn_env, spawn_env_length1, (GDestroyNotify) g_free), NULL);
	}
	goto __finally4;
	__catch4_g_spawn_error:
	{
		GError* err = NULL;
		GError* _tmp11_ = NULL;
		const gchar* _tmp12_ = NULL;
		err = _inner_error_;
		_inner_error_ = NULL;
		_tmp11_ = err;
		_tmp12_ = _tmp11_->message;
		g_warning ("app.vala:1225: %s", _tmp12_);
		_g_error_free0 (err);
	}
	__finally4:
	if (G_UNLIKELY (_inner_error_ != NULL)) {
		updates_num = (_vala_array_free (updates_num, updates_num_length1, (GDestroyNotify) g_free), NULL);
		_g_free0 (standard_error);
		_g_free0 (standard_output);
		create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
		_g_free0 (command);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
	_tmp13_ = standard_error;
	if (g_strcmp0 (_tmp13_, "") != 0) {
		const gchar* _tmp14_ = NULL;
		gchar** _tmp15_ = NULL;
		gchar** _tmp16_ = NULL;
		gchar** _tmp17_ = NULL;
		gint _tmp17__length1 = 0;
		const gchar* _tmp18_ = NULL;
		gchar** _tmp19_ = NULL;
		gint _tmp19__length1 = 0;
		const gchar* _tmp20_ = NULL;
		_tmp14_ = standard_error;
		_tmp16_ = _tmp15_ = g_strsplit_set (_tmp14_, ";", 2);
		updates_num = (_vala_array_free (updates_num, updates_num_length1, (GDestroyNotify) g_free), NULL);
		updates_num = _tmp16_;
		updates_num_length1 = _vala_array_length (_tmp15_);
		_updates_num_size_ = updates_num_length1;
		_tmp17_ = updates_num;
		_tmp17__length1 = updates_num_length1;
		_tmp18_ = _tmp17_[0];
		g_message ("app.vala:1231: Number of upgrades: %s", _tmp18_);
		_tmp19_ = updates_num;
		_tmp19__length1 = updates_num_length1;
		_tmp20_ = _tmp19_[1];
		g_message ("app.vala:1232: Number of security upgrades: %s", _tmp20_);
	}
	updates_num = (_vala_array_free (updates_num, updates_num_length1, (GDestroyNotify) g_free), NULL);
	_g_free0 (standard_error);
	_g_free0 (standard_output);
	create_command = (_vala_array_free (create_command, create_command_length1, (GDestroyNotify) g_free), NULL);
	_g_free0 (command);
}


static void _lxsession_updates_manager_app_on_apt_update_file_change_g_file_monitor_changed (GFileMonitor* _sender, GFile* file, GFile* other_file, GFileMonitorEvent event_type, gpointer self) {
	lxsession_updates_manager_app_on_apt_update_file_change ((LxsessionUpdatesManagerApp*) self);
}


void lxsession_updates_manager_app_setup_apt_config (LxsessionUpdatesManagerApp* self) {
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	{
		gchar* apt_update_path = NULL;
		gchar* _tmp0_ = NULL;
		GFile* apt_update_file = NULL;
		GFileMonitor* apt_update_monitor = NULL;
		GFile* _tmp1_ = NULL;
		GFileMonitor* _tmp2_ = NULL;
		GFileMonitor* _tmp3_ = NULL;
		GFileMonitor* _tmp4_ = NULL;
		GFileMonitor* _tmp5_ = NULL;
		_tmp0_ = g_strdup ("/var/lib/apt/periodic/update-success-stamp");
		apt_update_path = _tmp0_;
		_tmp1_ = g_file_new_for_path (apt_update_path);
		_g_object_unref0 (apt_update_file);
		apt_update_file = _tmp1_;
		_tmp3_ = g_file_monitor_file (apt_update_file, G_FILE_MONITOR_NONE, NULL, &_inner_error_);
		_tmp2_ = _tmp3_;
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			_g_object_unref0 (apt_update_monitor);
			_g_object_unref0 (apt_update_file);
			_g_free0 (apt_update_path);
			goto __catch5_g_error;
		}
		_tmp4_ = _tmp2_;
		_tmp2_ = NULL;
		_g_object_unref0 (apt_update_monitor);
		apt_update_monitor = _tmp4_;
		_tmp5_ = apt_update_monitor;
		g_signal_connect_object (_tmp5_, "changed", (GCallback) _lxsession_updates_manager_app_on_apt_update_file_change_g_file_monitor_changed, self, 0);
		g_message ("app.vala:1247: Monitoring apt changes");
		_g_object_unref0 (_tmp2_);
		_g_object_unref0 (apt_update_monitor);
		_g_object_unref0 (apt_update_file);
		_g_free0 (apt_update_path);
	}
	goto __finally5;
	__catch5_g_error:
	{
		GError* err = NULL;
		GError* _tmp6_ = NULL;
		const gchar* _tmp7_ = NULL;
		err = _inner_error_;
		_inner_error_ = NULL;
		_tmp6_ = err;
		_tmp7_ = _tmp6_->message;
		g_message ("app.vala:1251: %s", _tmp7_);
		_g_error_free0 (err);
	}
	__finally5:
	if (G_UNLIKELY (_inner_error_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
}


static void lxsession_updates_manager_app_class_init (LxsessionUpdatesManagerAppClass * klass) {
	lxsession_updates_manager_app_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (LxsessionUpdatesManagerAppPrivate));
	((LxsessionAppObjectClass *) klass)->read_settings = lxsession_updates_manager_app_real_read_settings;
	G_OBJECT_CLASS (klass)->finalize = lxsession_updates_manager_app_finalize;
}


static void lxsession_updates_manager_app_instance_init (LxsessionUpdatesManagerApp * self) {
	self->priv = LXSESSION_UPDATES_MANAGER_APP_GET_PRIVATE (self);
}


static void lxsession_updates_manager_app_finalize (GObject* obj) {
	LxsessionUpdatesManagerApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_UPDATES_MANAGER_APP, LxsessionUpdatesManagerApp);
	_g_free0 (self->priv->updatesmanager_command);
	G_OBJECT_CLASS (lxsession_updates_manager_app_parent_class)->finalize (obj);
}


GType lxsession_updates_manager_app_get_type (void) {
	static volatile gsize lxsession_updates_manager_app_type_id__volatile = 0;
	if (g_once_init_enter (&lxsession_updates_manager_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (LxsessionUpdatesManagerAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_updates_manager_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionUpdatesManagerApp), 0, (GInstanceInitFunc) lxsession_updates_manager_app_instance_init, NULL };
		GType lxsession_updates_manager_app_type_id;
		lxsession_updates_manager_app_type_id = g_type_register_static (LXSESSION_TYPE_SIMPLE_APP_OBJECT, "LxsessionUpdatesManagerApp", &g_define_type_info, 0);
		g_once_init_leave (&lxsession_updates_manager_app_type_id__volatile, lxsession_updates_manager_app_type_id);
	}
	return lxsession_updates_manager_app_type_id__volatile;
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}


static gint _vala_array_length (gpointer array) {
	int length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}



