#! /usr/bin/env python
# -*- coding: UTF-8 -*-

from main import HOME
from main.Starter import Starter
from main.CmdLineParser import CmdLineParser
from main import print_about

import os
import sys
import gtk
import gnome.ui
import gc


#
# Manually call the garbage collector.
#
def gc_collect():

    gc.collect()
    return gtk.TRUE


# is this needed here?
#os.chdir(HOME)

# connect to gnome-session
try:
    client = gnome.ui.master_client()
    if (client):
        client.set_restart_style(gnome.ui.RESTART_ANYWAY)
        client.set_restart_command(1, [sys.argv[0]])

except:
    print "Could not connect to gnome-session. GNOME session management " \
          "will not be\navailable for this application."

print_about()
cmdlineparser = CmdLineParser()
cmdlineparser.parse(sys.argv[1:])

starter = Starter()
starter.start_displays()

# Trigger the GC every 10 seconds
gtk.timeout_add(10000, gc_collect)
gtk.mainloop()
