summaryrefslogtreecommitdiff
path: root/dotfiles/system/.zshrc.d/emacs.sh
blob: 0a8444b8df1f2cfcde816451e04bb96e6f1dc0ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# emacs.sh
# Craig Jennings <c@cjennings.net>
# Emacs-specific settings and functions

# GTK/Emacs accessibility bug workaround
# https://unix.stackexchange.com/questions/230238/
export NO_AT_BRIDGE=1

# Wake emacs from elisp freeze
alias emacswake='for i in $(seq 1 500); do killall -s USR2 emacs; done'

# Vterm shell integration
# Allows shell to send information to vterm via escape 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
        printf "\eP\e]%s\007\e\\" "$1"
    else
        printf "\e]%s\e\\" "$1"
    fi
}