summaryrefslogtreecommitdiff
path: root/dotfiles/system/.profile.d/emacs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/system/.profile.d/emacs.sh')
-rw-r--r--dotfiles/system/.profile.d/emacs.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/dotfiles/system/.profile.d/emacs.sh b/dotfiles/system/.profile.d/emacs.sh
new file mode 100644
index 0000000..c70d928
--- /dev/null
+++ b/dotfiles/system/.profile.d/emacs.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# emacs.sh
+# Craig Jennings <c@cjennings.net>
+# Emacs specific settings, sourced by .profile
+
+### INFO FILES
+export INFOPATH="$HOME/.config/emacs/info:/usr/share/info:/usr/local/share/info"
+
+### WORKAROUND
+# https://unix.stackexchange.com/questions/230238/x-applications-warn-couldnt-connect-to-accessibility-bus-on-stderr
+# emacs/gtk interaction bug workaround
+export NO_AT_BRIDGE=1
+
+# WAKE UTILITY
+# useful when emacs or elisp doesn't timeout.
+alias emacswake='for i in `seq 1 500`; do killall -s USR2 emacs; done' # wake emacs from a freeze
+
+### VTERM
+# Vterm uses some features (e.g., directory-tracking and prompt-tracking or message passing) that require shell-side configurations.
+# This functions enables the shell to send information to vterm via properly escaped sequences.
+
+vterm_printf(){
+ if [ -n "$TMUX" ] && ([ "${TERM%%-*}" = "tmux" ] || [ "${TERM%%-*}" = "screen" ] ); then
+ # Tell tmux to pass the escape sequences through
+ printf "\ePtmux;\e\e]%s\007\e\\" "$1"
+ elif [ "${TERM%%-*}" = "screen" ]; then
+ # GNU screen (screen, screen-256color, screen-256color-bce)
+ printf "\eP\e]%s\007\e\\" "$1"
+ else
+ printf "\e]%s\e\\" "$1"
+ fi
+}