diff options
Diffstat (limited to 'configs/shared/.emacs.d/wpc/packages/wpc-terminal.el')
-rw-r--r-- | configs/shared/.emacs.d/wpc/packages/wpc-terminal.el | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/configs/shared/.emacs.d/wpc/packages/wpc-terminal.el b/configs/shared/.emacs.d/wpc/packages/wpc-terminal.el deleted file mode 100644 index c232bb85a7b7..000000000000 --- a/configs/shared/.emacs.d/wpc/packages/wpc-terminal.el +++ /dev/null @@ -1,70 +0,0 @@ -;;; terminal.el --- My cobbled together terminal -*- lexical-binding: t -*- -;; Author: William Carroll <wpcarro@gmail.com> - -;;; Commentary: -;; My attempts at creating a sane Emacs terminal. Most of this work was created -;; before I discovered and fully adopted EXWM. Prior to this, the appeal of -;; having terminals inside of Emacs was appealing. So appealing in fact that I -;; was willing to work with inferior alternatives to non-Emacs terminals -;; (e.g. `ansi-term') instead of GUI alternatives like `alacritty` because the -;; productivity gains of having a terminal inside of Emacs might outweigh the -;; shortcomings of that particular terminal. -;; -;; All of this changed, however, after discovering EXWM, since I can embed X11 -;; GUI windows inside of Emacs. Therefore, most of this module is maintained -;; for historical purposes. -;; -;; Benefits of `ansi-term': -;; - Color scheme remains consistent between Emacs and terminal. -;; - Same applies to my fonts. -;; -;; Downsides of `ansi-term': -;; - Paging feels sluggish with programs like `cat` and `less`. -;; - KBDs don't provide 100% coverage of what I expect from a terminal since -;; they were created to cooperate with Emacs. - -;;; Code: - -(require 'window) -(require 'buffer) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Library -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; TODO: Model all open terminals within a dictionary. - -(defconst wpc-terminal/name - "wpc/terminal" - "The name of my terminal buffers.") - -(defun wpc-terminal/find-window () - "Return a reference to an existing terminal window or nil." - (->> wpc-terminal/name - wpc/add-earmuffs - window/find)) - -(defun wpc-terminal/find-buffer () - "Return a reference to an existing terminal buffer." - (->> wpc-terminal/name - wpc/add-earmuffs - buffer/find)) - -(defun wpc-terminal/find-or-create () - "Find or create a terminal window." - (let ((buffer (wpc-terminal/find-buffer))) - (if buffer - (buffer/show buffer) - (ansi-term "/usr/bin/zsh" wpc-terminal/name)))) - -;; TODO: Focus terminal after toggling it. -(defun wpc-terminal/toggle () - "Toggle a custom terminal session in Emacs." - (interactive) - (let ((window (wpc-terminal/find-window))) - (if window - (window/delete window) - (wpc-terminal/find-or-create)))) - -(provide 'wpc-terminal) -;;; wpc-terminal.el ends here |