summary refs log tree commit diff
path: root/modules/term/eat/autoload.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/term/eat/autoload.el')
-rw-r--r--modules/term/eat/autoload.el45
1 files changed, 45 insertions, 0 deletions
diff --git a/modules/term/eat/autoload.el b/modules/term/eat/autoload.el
new file mode 100644
index 0000000..d7107e6
--- /dev/null
+++ b/modules/term/eat/autoload.el
@@ -0,0 +1,45 @@
+;;; term/eat/autoload.el -*- lexical-binding: t; -*-
+
+;;;###autoload
+(defun +eat/toggle (arg &optional)
+  (interactive "P")
+  (let* ((default-directory (project-root (project-current t)))
+         (eat-kill-buffer-on-exit 't)
+         (eat-buffer-name (format "*doom:eat-popup:%s*"
+                                  (if (bound-and-true-p persp-mode)
+                                      (safe-persp-name (get-current-persp))
+                                    "main"))))
+    (eat-other-window nil arg)))
+
+;;;###autoload
+(defvar +eat-frame-parameters
+  `((name . "eat")
+    (width . 110)
+    (height . 35)
+    (transient . t)
+    ,@(when IS-LINUX
+        `((window-system . ,(if (boundp 'pgtk-initialized) 'pgtk 'x))
+          (display . ,(or (getenv "WAYLAND_DISPLAY")
+                          (getenv "DISPLAY")
+                          ":0"))))
+    ,(if IS-MAC '(menu-bar-lines . 1)))
+  "TODO")
+
+;;;###autoload
+(defun +eat/open-frame ()
+  (interactive)
+  (let* ((frame-title-format "")
+         (frame (make-frame +eat-frame-parameters)))
+    (select-frame-set-input-focus frame)
+    (with-selected-frame frame
+      (switch-to-buffer (doom-fallback-buffer))
+      (let* ((eat-kill-buffer-on-exit 't)
+             (default-directory "~")
+             (eat-mode-hook (cons (lambda () (add-hook 'eat-exit-hook (lambda (_process) (delete-frame)) 91 t)) eat-mode-hook)))
+        (eat nil t)))))
+
+;; These clobber vterm bindings, so will need to pick alternatives.
+(map! :leader
+      (:prefix-map ("o" . "open")
+       :desc "Toggle Eat popup" "t" #'+eat/toggle
+       :desc "Open Eat here" "T" #'eat-project))