summaryrefslogtreecommitdiff
path: root/caribou/antler/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'caribou/antler/main.py')
-rw-r--r--caribou/antler/main.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/caribou/antler/main.py b/caribou/antler/main.py
index 251678b..f79fd92 100644
--- a/caribou/antler/main.py
+++ b/caribou/antler/main.py
@@ -1,4 +1,4 @@
-from gi.repository import Caribou, GLib, GObject
+from gi.repository import Caribou, GLib, GObject, Gtk
from .window import AntlerWindowEntry
from .keyboard_view import AntlerKeyboardView
import sys
@@ -33,6 +33,19 @@ class AntlerKeyboardService(Caribou.KeyboardService, AntlerKeyboardCommand):
sys.stderr.write("Another service acquired %s, quitting..\n" % name)
sys.exit(0)
+class AntlerKeyboardPreview(Gtk.Window, AntlerKeyboardCommand):
+ def __init__(self, args=None):
+ GObject.GObject.__init__(self)
+ if not args or not args.file:
+ sys.stderr.write("Specify keyboard file with -f option.\n")
+ sys.exit(1)
+ self.window = Gtk.Window()
+ self.window.add(AntlerKeyboardView(keyboard_file=args.file))
+
+ def run(self):
+ self.window.show_all()
+ Gtk.main()
+
if __name__ == "__main__":
import argparse
import signal
@@ -43,6 +56,8 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser(description='antler-keyboard')
parser.add_argument('-c', '--command', type=str, default='service',
help='command (service or preview, default: service)')
+ parser.add_argument('-f', '--file', type=str,
+ help='keyboard file')
args = parser.parse_args()
command = globals().get('AntlerKeyboard%s' % args.command.capitalize())