diff --git a/rocks.syng.Syng.desktop b/rocks.syng.Syng.desktop
new file mode 100755
index 0000000..aa4a399
--- /dev/null
+++ b/rocks.syng.Syng.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+
+# Name=rocks.syng.Syng
+Name=Syng
+
+Comment=A all-in-one karaoke player
+
+Exec=/home/christoph/vcs/syng2/.venv/bin/syng
+Icon=rocks.syng.Syng
diff --git a/rocks.syng.gui.svg b/rocks.syng.gui.svg
new file mode 100644
index 0000000..9c9a10d
--- /dev/null
+++ b/rocks.syng.gui.svg
@@ -0,0 +1,105 @@
+
+
+
+
diff --git a/syng/__main__.py b/syng/__main__.py
new file mode 100644
index 0000000..40e2b01
--- /dev/null
+++ b/syng/__main__.py
@@ -0,0 +1,4 @@
+from .main import main
+
+if __name__ == "__main__":
+ main()
diff --git a/syng/gtkgui.py b/syng/gtkgui.py
new file mode 100644
index 0000000..7954d3d
--- /dev/null
+++ b/syng/gtkgui.py
@@ -0,0 +1,39 @@
+import gi
+
+gi.require_version("Gtk", "4.0")
+gi.require_version("Adw", "1")
+from gi.repository import Gtk, Adw, GLib, Gdk
+
+
+appname = "rocks.syng.Syng"
+# appname = "org.inkscape.Inkscape"
+# appname = "kdenlive"
+#
+
+
+class MainWindow(Gtk.ApplicationWindow):
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.set_icon_name(appname)
+
+
+class MyApp(Adw.Application):
+ def __init__(self, *args, **kwargs):
+ super().__init__(**kwargs)
+ self.connect("activate", self.on_activate)
+
+ def on_activate(self, app):
+ win = MainWindow(application=app)
+ win.set_title("Syng")
+ win.present()
+
+
+def run_gui():
+ GLib.set_prgname(appname)
+ Gtk.Window.set_default_icon_name(appname)
+ app = MyApp(application_id=appname)
+ app.run()
+
+
+if __name__ == "__main__":
+ run_gui()
diff --git a/syng/static/syng.svg b/syng/static/syng.svg
new file mode 100644
index 0000000..af79960
--- /dev/null
+++ b/syng/static/syng.svg
@@ -0,0 +1,132 @@
+
+
+
+