def main():
    " Main Loop "
    from getopt import getopt

    OPAQUE = True
    BORDER = True
    try:
        opts, args = getopt(sys.argv[1:], "hvob", ["version", "help", "opaque", "borderless"])
        pass
    except:
        pass
    for o, v in opts:
        if o in ("-h", "--help"):
            print(
                """
            Usage:
                  -h, --help        Show help informations and exit.
                  -v, --version     Show version information and exit.
                  -o, --opaque      Use Opaque GUI.
                  -b, --borderless  No WM Borders.
                  Run without parameters and arguments to use the GUI.
            """
            )
            return sys.exit(1)
        elif o in ("-v", "--version"):
            print(__version__)
            return sys.exit(1)
        elif o in ("-o", "--opaque"):
            OPAQUE = False
        elif o in ("-b", "--borderless"):
            BORDER = False
    # define our App
    try:
        app = QApplication(sys.argv)
        app.setApplicationName(__doc__)
        app.setOrganizationName(__author__)
        app.setOrganizationDomain(__author__)
        app.setStyle("Plastique")
        app.setStyle("Oxygen")
    except TypeError:
        aboutData = KAboutData(
            __doc__,
            "",
            ki18n(__doc__),
            __version__,
            ki18n(__doc__),
            KAboutData.License_GPL,
            ki18n(__author__),
            ki18n("none"),
            __url__,
            __email__,
        )
        KCmdLineArgs.init(sys.argv, aboutData)
        app = QApplication()
        app.lastWindowClosed.connect(app.quit)
    # w is gonna be the mymainwindow class
    w = MyMainWindow()
    # set the class with the attribute of translucent background as true
    if OPAQUE is True:
        w.setAttribute(Qt.WA_TranslucentBackground, True)
    # WM Borders
    if BORDER is False:
        w.setWindowFlags(w.windowFlags() | Qt.FramelessWindowHint)
    # run the class
    w.show()
    # if exiting the loop take down the app
    sys.exit(app.exec_())