diff --git a/lisp/globals.lisp b/lisp/globals.lisp index 1d7d93d..025ca70 100644 --- a/lisp/globals.lisp +++ b/lisp/globals.lisp @@ -5,9 +5,15 @@ (defun handle-server-stop (sequence seat) + (declare (ignore sequence seat)) (server-stop *compositor-state*)) +(defun open-terminal (sequence seat) + (declare (ignore sequence seat)) + (sys:open-terminal)) + (setf (mahogany-state-keybindings *compositor-state*) (list (define-kmap (kbd "C-t") (define-kmap - (kbd "q") #'handle-server-stop)))) + (kbd "q") #'handle-server-stop + (kbd "c") #'open-terminal)))) diff --git a/mahogany.asd b/mahogany.asd index 42c28c2..6672269 100644 --- a/mahogany.asd +++ b/mahogany.asd @@ -18,6 +18,7 @@ :pathname #p"lisp/" :components ((:file "log") (:file "util") + (:file "system") (:module bindings :serial t :components ((:file "package") @@ -40,7 +41,7 @@ (:file "view" :depends-on ("tree-interface")))) (:file "state" :depends-on ("package")) (:file "input" :depends-on ("state" "keyboard")) - (:file "globals" :depends-on ("state")) + (:file "globals" :depends-on ("state" "system")) (:file "main" :depends-on ("bindings" "keyboard" "input" "package")))) (asdf:defsystem #:mahogany/executable