diff --git a/eat/.emacs.d/elpa/eat-0.8/integration/bash b/eat/.emacs.d/elpa/eat-0.8/integration/bash
new file mode 100644
index 0000000..bfe18ed
--- /dev/null
+++ b/eat/.emacs.d/elpa/eat-0.8/integration/bash
@@ -0,0 +1,119 @@
+# integration/bash --- Bash integration
+
+# Copyright (C) 2022 Akib Azmain Turja.
+
+# This file is not part of GNU Emacs.
+
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# For a full copy of the GNU General Public License
+# see .
+
+__eat_prompt_command () {
+ # Send exit status.
+ if test -n "$__eat_current_command"
+ then
+ printf '\e]51;e;H;%i\e\\' "$__eat_exit_status"
+ fi
+ __eat_current_command=""
+ # Send the current working directory, for directory tracking.
+ printf '\e]51;e;A;%s;%s\e\\' "$(printf "%s" "$HOSTNAME" | base64)" \
+ "$(printf "%s" "$PWD" | base64)"
+ # Update title.
+ # "${PWD/$HOME/'~'}" converts "/home/akib/org/" to "~/org/".
+ # The next one is substituted with '$', or '#' if we're "root".
+ printf '\e]2;%s@%s:%s%s\e\\' "$USER" "$HOSTNAME" \
+ "${PWD/$HOME/'~'}" \
+ "$(test $UID -eq 0 && echo '#' || echo '$')"
+}
+
+__eat_preexec () {
+ # Get the real command typed by the user from the history.
+ __eat_current_command="$(history 1 | sed 's/ *[0-9]* *//')"
+ # Send current command.
+ printf '\e]51;e;F;%s\e\\' \
+ "$(printf "%s" "$__eat_current_command" | base64)"
+ # Send pre-exec sequence.
+ printf '\e]51;e;G\e\\'
+ # Update title to include the command running.
+ # "${PWD/$HOME/'~'}" converts "/home/akib/foo/" to "~/foo/".
+ # The next one is substituted with '$', or '#' if we're "root".
+ printf '\e]2;%s@%s:%s%s %s\e\\' "$USER" "$HOSTNAME" \
+ "${PWD/$HOME/'~'}" \
+ "$(test $UID -eq 0 && echo '#' || echo '$')" \
+ "$__eat_current_command"
+}
+
+__eat_before_prompt_command ()
+{
+ __eat_exit_status="$?"
+ __eat_inhibit_preexec=yes
+}
+
+__eat_after_prompt_command ()
+{
+ __eat_inhibit_preexec=no
+}
+
+__eat_before_exec () {
+ if test $__eat_inhibit_preexec = no \
+ && test "$BASH_COMMAND" != __eat_before_prompt_command
+ then
+ __eat_inhibit_preexec=yes
+ __eat_preexec
+ fi
+}
+
+__eat_enable_integration ()
+{
+ __eat_integration_enabled=yes
+ __eat_current_command=""
+ __eat_exit_status=0
+ __eat_inhibit_preexec=yes
+ local __eat_prompt_start='\e]51;e;B\e\\'
+ local __eat_prompt_end='\e]51;e;C\e\\'
+ local __eat_continuation_start='\e]51;e;D\e\\'
+ local __eat_continuation_end='\e]51;e;E\e\\'
+ PS1="\[$__eat_prompt_start\]$PS1\[$__eat_prompt_end\]"
+ PS2="\[$__eat_continuation_start\]$PS2\[$__eat_continuation_end\]"
+ PROMPT_COMMAND+=(__eat_prompt_command)
+ trap '__eat_before_exec' DEBUG
+ # Wrap 'PROMPT_COMMAND' to avoid it getting trapped in 'DEBUG' trap.
+ # Step 1: Append to PROMPT_COMMAND.
+ PROMPT_COMMAND+=(__eat_after_prompt_command)
+ # Step 2: Prepend to PROMPT_COMMAND.
+ # Step 2.1: Move all elements to make the first index free.
+ # Fun fact: Microsoft doesn't still about know this simple trick.
+ # They ended up using something as silly and pityful as
+ # 'VAR=$PROMPT_COMMAND' to copy a Bash array in VSCode Bash
+ # integration script, which simply won't work ever, and then
+ # complain about Bash in the comments! xD
+ for i in $(eval "echo {${#PROMPT_COMMAND[*]}..1..-1}")
+ do
+ PROMPT_COMMAND[$i]=${PROMPT_COMMAND[$((i-1))]}
+ done
+ # Step 2.2: Assign the first element.
+ PROMPT_COMMAND[0]=__eat_before_prompt_command
+}
+
+# Enable.
+if test -z "$__eat_integration_enabled" && \
+ test "${TERM:0:4}" = "eat-"
+then
+ __eat_enable_integration
+else
+ true
+fi
+
+# Local Variables:
+# mode: sh
+# sh-shell: bash
+# End:
diff --git a/eat/.emacs.d/elpa/eat-0.8/integration/zsh b/eat/.emacs.d/elpa/eat-0.8/integration/zsh
new file mode 100644
index 0000000..1fb4d79
--- /dev/null
+++ b/eat/.emacs.d/elpa/eat-0.8/integration/zsh
@@ -0,0 +1,82 @@
+# integration/zsh --- Zsh integration
+
+# Copyright (C) 2022, 2023 Akib Azmain Turja.
+
+# This file is not part of GNU Emacs.
+
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# For a full copy of the GNU General Public License
+# see .
+
+__eat_precmd () {
+ __eat_exit_status="$?"
+ # Send exit status.
+ if test -n "$__eat_current_command"
+ then
+ printf '\e]51;e;H;%i\e\\' "$__eat_exit_status"
+ fi
+ __eat_current_command=""
+ # Send the current working directory, for directory tracking.
+ printf '\e]51;e;A;%s;%s\e\\' "$(printf "%s" "$HOST" | base64)" \
+ "$(printf "%s" "$PWD" | base64)"
+ # Update title.
+ # "${PWD/$HOME/'~'}" converts "/home/akib/org/" to "~/org/".
+ # The next one is substituted with '$', or '#' if we're "root".
+ printf '\e]2;%s@%s:%s%s\e\\' "$USER" "$HOST" "${PWD/$HOME/~}" \
+ "$(test $UID -eq 0 && echo '#' || echo '%')"
+}
+
+__eat_preexec () {
+ __eat_current_command="$1"
+ # Send current command.
+ printf '\e]51;e;F;%s\e\\' \
+ "$(printf "%s" "$__eat_current_command" | base64)"
+ # Send pre-exec sequence.
+ printf '\e]51;e;G\e\\'
+ # Update title to include the command running.
+ # "${PWD/$HOME/~}" converts "/home/akib/foo/" to "~/foo/".
+ # The next one is substituted with '%', or '#' if we're "root".
+ printf '\e]2;%s@%s:%s%s %s\e\\' "$USER" "$HOST" "${PWD/$HOME/~}" \
+ "$(test $UID -eq 0 && echo '#' || echo '%')" \
+ "$__eat_current_command"
+}
+
+__eat_enable_integration ()
+{
+ __eat_integration_enabled=yes
+ __eat_current_command=""
+ __eat_exit_status=0
+ local __eat_prompt_start="$(printf '\e]51;e;B\e\\')"
+ local __eat_prompt_end="$(printf '\e]51;e;C\e\\')"
+ local __eat_continuation_start="$(printf '\e]51;e;D\e\\')"
+ local __eat_continuation_end="$(printf '\e]51;e;E\e\\')"
+ PS1="%{$__eat_prompt_start%}$PS1%{$__eat_prompt_end%}"
+ PS2="%{$__eat_continuation_start%}$PS2%{$__eat_continuation_end%}"
+ # TODO: What to do about RPS1 and friends?
+ autoload -Uz add-zsh-hook
+ add-zsh-hook precmd __eat_precmd
+ add-zsh-hook preexec __eat_preexec
+}
+
+# Enable.
+if test -z "$__eat_integration_enabled" && \
+ test "${TERM:0:4}" = "eat-"
+then
+ __eat_enable_integration
+else
+ true
+fi
+
+# Local Variables:
+# mode: sh
+# sh-shell: zsh
+# End:
diff --git a/eat/.terminfo/65/eat-256color b/eat/.terminfo/65/eat-256color
new file mode 100644
index 0000000..dda98bd
Binary files /dev/null and b/eat/.terminfo/65/eat-256color differ
diff --git a/eat/.terminfo/65/eat-color b/eat/.terminfo/65/eat-color
new file mode 100644
index 0000000..53ed6a6
Binary files /dev/null and b/eat/.terminfo/65/eat-color differ
diff --git a/eat/.terminfo/65/eat-mono b/eat/.terminfo/65/eat-mono
new file mode 100644
index 0000000..5d4b98b
Binary files /dev/null and b/eat/.terminfo/65/eat-mono differ
diff --git a/eat/.terminfo/65/eat-truecolor b/eat/.terminfo/65/eat-truecolor
new file mode 100644
index 0000000..c2c86b9
Binary files /dev/null and b/eat/.terminfo/65/eat-truecolor differ
diff --git a/eat/.terminfo/e/eat-256color b/eat/.terminfo/e/eat-256color
new file mode 100644
index 0000000..dda98bd
Binary files /dev/null and b/eat/.terminfo/e/eat-256color differ
diff --git a/eat/.terminfo/e/eat-color b/eat/.terminfo/e/eat-color
new file mode 100644
index 0000000..53ed6a6
Binary files /dev/null and b/eat/.terminfo/e/eat-color differ
diff --git a/eat/.terminfo/e/eat-mono b/eat/.terminfo/e/eat-mono
new file mode 100644
index 0000000..5d4b98b
Binary files /dev/null and b/eat/.terminfo/e/eat-mono differ
diff --git a/eat/.terminfo/e/eat-truecolor b/eat/.terminfo/e/eat-truecolor
new file mode 100644
index 0000000..c2c86b9
Binary files /dev/null and b/eat/.terminfo/e/eat-truecolor differ
diff --git a/install-eat.sh b/install-eat.sh
new file mode 100644
index 0000000..33d4c3e
--- /dev/null
+++ b/install-eat.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Install special files for the eat emacs terminal emulator.
+# ama 2023
+
+EAT_SHELL_INTEGRATION_DIR=~/.emacs.d/elpa/eat-0.8/integration
+
+cp -r eat/* ~/
+
+cat >>~/.bashrc <<-EOF
+ [ -e "$EAT_SHELL_INTEGRATION_DIR" ] \
+ && source "$EAT_SHELL_INTEGRATION_DIR/bash"
+EOF
+
+cat >>~/.zshrc <<-EOF
+ [ -e "$EAT_SHELL_INTEGRATION_DIR" ] \
+ && source "$EAT_SHELL_INTEGRATION_DIR/zsh"
+EOF