diff --git a/FAHControl b/FAHControl
index a58a344..3705dfa 100755
--- a/FAHControl
+++ b/FAHControl
@@ -36,47 +36,46 @@ def set_proc_name(name):
libc.prctl(15, byref(buff), 0, 0, 0)
-if __name__ == '__main__':
- if sys.platform.startswith('linux'): set_proc_name('FAHControl')
+if sys.platform.startswith('linux'): set_proc_name('FAHControl')
- # If present, remove the Launch Services -psn_xxx_xxx argument
- if len(sys.argv) > 1 and sys.argv[1][:4] == '-psn':
- del sys.argv[1]
+# If present, remove the Launch Services -psn_xxx_xxx argument
+if len(sys.argv) > 1 and sys.argv[1][:4] == '-psn':
+ del sys.argv[1]
- parser = OptionParser(usage = 'Usage: %prog [options]')
+parser = OptionParser(usage = 'Usage: %prog [options]')
- parser.add_option('--exit', help = 'Tell the running application to exit',
- action = 'store_true', dest = 'exit')
- options, args = parser.parse_args()
-
- # Tell app to exit
- if options.exit:
- try:
- sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- sock.connect(single_app_addr)
- sock.send('EXIT')
- if sock.recv(1024).strip() == 'OK': print 'Ok'
- except Exception, e: pass
-
- sys.exit(0)
-
- # Add executable path to PATH
- if getattr(sys, 'frozen', False): path = os.path.dirname(sys.executable)
- else: path = os.path.dirname(__file__)
- path = os.path.realpath(path)
- os.environ['PATH'] = path + os.pathsep + os.environ['PATH']
-
- # Load Glade
- dir = os.path.dirname(inspect.getfile(inspect.currentframe()))
- if not dir: dir = '.'
- glade = dir + '/fah/FAHControl.glade'
-
- if os.path.exists(glade): app = FAHControl(glade)
- else:
- from fah.FAHControl_glade import glade_data
- app = FAHControl(glade_data)
+parser.add_option('--exit', help = 'Tell the running application to exit',
+ action = 'store_true', dest = 'exit')
+options, args = parser.parse_args()
+# Tell app to exit
+if options.exit:
try:
- app.run()
- except Exception, e:
- print e
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.connect(single_app_addr)
+ sock.send('EXIT')
+ if sock.recv(1024).strip() == 'OK': print 'Ok'
+ except Exception, e: pass
+
+ sys.exit(0)
+
+# Add executable path to PATH
+if getattr(sys, 'frozen', False): path = os.path.dirname(sys.executable)
+else: path = os.path.dirname(__file__)
+path = os.path.realpath(path)
+os.environ['PATH'] = path + os.pathsep + os.environ['PATH']
+
+# Load Glade
+dir = os.path.dirname(inspect.getfile(inspect.currentframe()))
+if not dir: dir = '.'
+glade = dir + '/fah/FAHControl.glade'
+
+if os.path.exists(glade): app = FAHControl(glade)
+else:
+ from fah.FAHControl_glade import glade_data
+ app = FAHControl(glade_data)
+
+try:
+ app.run()
+except Exception, e:
+ print e
diff --git a/fah/FAHControl.py b/fah/FAHControl.py
index ba23d60..0bcc856 100644
--- a/fah/FAHControl.py
+++ b/fah/FAHControl.py
@@ -534,10 +534,10 @@ class FAHControl(SingleAppServer):
self.window_accel_group = ag
key, mod = gtk.accelerator_parse("w")
ag.connect_group(key, mod, gtk.ACCEL_VISIBLE,
- osx_accel_window_close)
+ osx_accel_window_close)
key, mod = gtk.accelerator_parse("m")
ag.connect_group(key, mod, gtk.ACCEL_VISIBLE,
- osx_accel_window_minimize)
+ osx_accel_window_minimize)
self.window.add_accel_group(ag)
except Exception, e: print e
@@ -710,7 +710,7 @@ class FAHControl(SingleAppServer):
self.db.flush_queued()
except Exception, e: print e
- self.shutdown() # Shutdown SingleAppServer
+ sys.exit(0) # Force shutdown
def set_status(self, text):
diff --git a/fah/util/SingleApp.py b/fah/util/SingleApp.py
index 29d5ead..b89ec4b 100644
--- a/fah/util/SingleApp.py
+++ b/fah/util/SingleApp.py
@@ -58,9 +58,9 @@ class SingleAppServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
self, single_app_addr, SingleAppRequestHandler)
thread = threading.Thread(target = self.serve_forever)
- # Exit the server thread when the main thread terminates
- thread.setDaemon(True)
- thread.start()
+ # Exit the server thread when the main thread terminates
+ thread.setDaemon(True)
+ thread.start()
def check_for_instance(self):
diff --git a/setup.py b/setup.py
index 5fa0476..1598b5c 100644
--- a/setup.py
+++ b/setup.py
@@ -67,6 +67,7 @@ if sys.platform == 'darwin':
elif sys.platform == 'win32':
from cx_Freeze import setup, Executable
+ # Change base to 'Console' for debugging
e = Executable(app, base = 'Win32GUI', icon = 'images/FAHControl.ico')
options = {
'build_exe': {