Files
dotfiles/tmux/powerline/lib/rcfile.sh
2019-01-12 18:22:02 +01:00

69 lines
2.4 KiB
Bash

# Read user rc file.
process_settings() {
__read_rcfile
if [ -z "$TMUX_POWERLINE_DEBUG_MODE_ENABLED" ]; then
export TMUX_POWERLINE_DEBUG_MODE_ENABLED="${TMUX_POWERLINE_DEBUG_MODE_ENABLED_DEFAULT}"
fi
if [ -z "$TMUX_POWERLINE_PATCHED_FONT_IN_USE" ]; then
export TMUX_POWERLINE_PATCHED_FONT_IN_USE="${TMUX_POWERLINE_PATCHED_FONT_IN_USE_DEFAULT}"
fi
if [ -z "$TMUX_POWERLINE_THEME" ]; then
export TMUX_POWERLINE_THEME="${TMUX_POWERLINE_THEME_DEFAULT}"
fi
eval TMUX_POWERLINE_DIR_USER_SEGMENTS="$TMUX_POWERLINE_DIR_USER_SEGMENTS"
eval TMUX_POWERLINE_DIR_USER_THEMES="$TMUX_POWERLINE_DIR_USER_THEMES"
if [ -n "$TMUX_POWERLINE_DIR_USER_THEMES" ] && [ -f "${TMUX_POWERLINE_DIR_USER_THEMES}/${TMUX_POWERLINE_THEME}.sh" ]; then
source "${TMUX_POWERLINE_DIR_USER_THEMES}/${TMUX_POWERLINE_THEME}.sh"
else
source "${TMUX_POWERLINE_DIR_THEMES}/${TMUX_POWERLINE_THEME}.sh"
fi
}
generate_default_rc() {
read -d '' rccontents << EORC
# Default configuration file for tmux-powerline.
# Modeline {
# vi: foldmarker={,} foldmethod=marker foldlevel=0 tabstop=4 filetype=sh
# }
# General {
# Show which segment fails and its exit code.
export TMUX_POWERLINE_DEBUG_MODE_ENABLED="${TMUX_POWERLINE_DEBUG_MODE_ENABLED_DEFAULT}"
# Use patched font symbols.
export TMUX_POWERLINE_PATCHED_FONT_IN_USE="${TMUX_POWERLINE_PATCHED_FONT_IN_USE_DEFAULT}"
# The theme to use.
export TMUX_POWERLINE_THEME="${TMUX_POWERLINE_THEME_DEFAULT}"
# Overlay directory to look for themes. There you can put your own themes outside the repo. Fallback will still be the "themes" directory in the repo.
export TMUX_POWERLINE_DIR_USER_THEMES=""
# Overlay directory to look for segments. There you can put your own segments outside the repo. Fallback will still be the "segments" directory in the repo.
export TMUX_POWERLINE_DIR_USER_SEGMENTS=""
# }
EORC
for segment in ${TMUX_POWERLINE_DIR_SEGMENTS}/*.sh; do
source "$segment"
if declare -f generate_segmentrc >/dev/null; then
segmentrc=$(generate_segmentrc | sed -e 's/^/\\t/g')
unset -f generate_segmentrc
local seg_name="${segment##*/}"
rccontents="${rccontents}\n\n# ${seg_name} {\n${segmentrc}\n# }"
fi
done
echo -e "$rccontents" > "$TMUX_POWERLINE_RCFILE_DEFAULT"
echo "Default configuration file generated to: ${TMUX_POWERLINE_RCFILE_DEFAULT}"
echo "Copy/move it to \"${TMUX_POWERLINE_RCFILE}\" and make your changes."
}
__read_rcfile() {
if [ -f "$TMUX_POWERLINE_RCFILE" ]; then
source "$TMUX_POWERLINE_RCFILE"
fi
}