Swap to tmux-powerline since it's easier to add segments
This commit is contained in:
parent
5db6528bfd
commit
8b026796e1
4 changed files with 476 additions and 18 deletions
225
dot-config/tmux-powerline/config.sh
Normal file
225
dot-config/tmux-powerline/config.sh
Normal file
|
@ -0,0 +1,225 @@
|
||||||
|
# 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="false"
|
||||||
|
# Use patched font symbols.
|
||||||
|
export TMUX_POWERLINE_PATCHED_FONT_IN_USE="true"
|
||||||
|
|
||||||
|
# The theme to use.
|
||||||
|
export TMUX_POWERLINE_THEME="00dani"
|
||||||
|
# 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="${XDG_CONFIG_HOME:-$HOME/.config}/tmux-powerline/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="${XDG_CONFIG_HOME:-$HOME/.config}/tmux-powerline/segments"
|
||||||
|
|
||||||
|
# The initial visibility of the status bar. Can be {"on, off"}.
|
||||||
|
export TMUX_POWERLINE_STATUS_VISIBILITY="on"
|
||||||
|
# The status bar refresh interval in seconds.
|
||||||
|
# Note that events that force-refresh the status bar (such as window renaming) will ignore this.
|
||||||
|
export TMUX_POWERLINE_STATUS_INTERVAL="1"
|
||||||
|
# The location of the window list. Can be {"absolute-centre, centre, left, right"}.
|
||||||
|
# Note that "absolute-centre" is only supported on `tmux -V` >= 3.2.
|
||||||
|
export TMUX_POWERLINE_STATUS_JUSTIFICATION="centre"
|
||||||
|
|
||||||
|
# The maximum length of the left status bar.
|
||||||
|
export TMUX_POWERLINE_STATUS_LEFT_LENGTH="60"
|
||||||
|
# The maximum length of the right status bar.
|
||||||
|
export TMUX_POWERLINE_STATUS_RIGHT_LENGTH="90"
|
||||||
|
|
||||||
|
# Uncomment these if you want to enable tmux bindings for muting (hiding) one of the status bars.
|
||||||
|
# E.g. this example binding would mute the left status bar when pressing <prefix> followed by Ctrl-[
|
||||||
|
#export TMUX_POWERLINE_MUTE_LEFT_KEYBINDING="C-["
|
||||||
|
#export TMUX_POWERLINE_MUTE_RIGHT_KEYBINDING="C-]"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# battery.sh {
|
||||||
|
# How to display battery remaining. Can be {percentage, cute}.
|
||||||
|
export TMUX_POWERLINE_SEG_BATTERY_TYPE="percentage"
|
||||||
|
# How may hearts to show if cute indicators are used.
|
||||||
|
export TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS="5"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# date.sh {
|
||||||
|
# date(1) format for the date. If you don't, for some reason, like ISO 8601 format you might want to have "%D" or "%m/%d/%Y".
|
||||||
|
export TMUX_POWERLINE_SEG_DATE_FORMAT="%F"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# disk_usage.sh {
|
||||||
|
# Filesystem to retrieve disk space information. Any from the filesystems available (run "df | awk '{print }'" to check them).
|
||||||
|
export TMUX_POWERLINE_SEG_DISK_USAGE_FILESYSTEM="/"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# earthquake.sh {
|
||||||
|
# The data provider to use. Currently only "goo" is supported.
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER="goo"
|
||||||
|
# How often to update the earthquake data in seconds.
|
||||||
|
# Note: This is not an early warning detector, use this
|
||||||
|
# to be informed about recent earthquake magnitudes in your
|
||||||
|
# area. If this is too often, goo may decide to ban you form
|
||||||
|
# their server
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_UPDATE_PERIOD="600"
|
||||||
|
# Only display information when earthquakes are within this many minutes
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW="60"
|
||||||
|
# Display time with this format
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT='(%H:%M)'
|
||||||
|
# Display only if magnitude is greater or equal to this number
|
||||||
|
export TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE="3"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# gcalcli.sh {
|
||||||
|
# gcalcli uses 24hr time format by default - if you want to see 12hr time format, set TMUX_POWERLINE_SEG_GCALCLI_MILITARY_TIME_DEFAULT to 0
|
||||||
|
export TMUX_POWERLINE_SEG_GCALCLI_24HR_TIME_FORMAT="1"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# hostname.sh {
|
||||||
|
# Use short or long format for the hostname. Can be {"short, long"}.
|
||||||
|
export TMUX_POWERLINE_SEG_HOSTNAME_FORMAT="short"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# macos_notification_count.sh {
|
||||||
|
# App ids to query in notification center, separated by space
|
||||||
|
# To get the app id that is associated with a specific app run:
|
||||||
|
# sqlite3 -list "/var/folders/fy/b_tzgmxn6v9f_6yd868r00bw0000gn/0//com.apple.notificationcenter/db/db" 'select * from app_info'
|
||||||
|
# The first column contains the app ids
|
||||||
|
# "5" is the app id of Messages.app
|
||||||
|
# Only "banner" notifications are supported (see settings in the notification center)
|
||||||
|
export TMUX_POWERLINE_SEG_MACOS_NOTIFICATION_COUNT_APPIDS="5"
|
||||||
|
# Notification symbol
|
||||||
|
export TMUX_POWERLINE_SEG_MACOS_NOTIFICATION_COUNT_CHAR="💬"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# mailcount.sh {
|
||||||
|
# Mailbox type to use. Can be any of {apple_mail, gmail, maildir, mbox, mailcheck}
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_MAILBOX_TYPE=""
|
||||||
|
|
||||||
|
## Gmail
|
||||||
|
# Enter your Gmail username here WITH OUT @gmail.com.( OR @domain)
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_USERNAME=""
|
||||||
|
# Google password. Recomenned to use application specific password (https://accounts.google.com/b/0/IssuedAuthSubTokens) Leave this empty to get password from OS X keychain.
|
||||||
|
# For OSX users : MAKE SURE that you add a key to the keychain in the format as follows
|
||||||
|
# Keychain Item name : http://<value-you-fill-in-server-variable-below>
|
||||||
|
# Account name : <username-below>@<server-below>
|
||||||
|
# Password : Your password ( Once again, try to use 2 step-verification and application-specific password)
|
||||||
|
# See http://support.google.com/accounts/bin/answer.py?hl=en&answer=185833 for more info.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_PASSWORD=""
|
||||||
|
# Domain name that will complete your email. For normal GMail users it probably is "gmail.com but can be "foo.tld" for Google Apps users.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER="gmail.com"
|
||||||
|
# How often in minutes to check for new mails.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL="5"
|
||||||
|
|
||||||
|
## Maildir
|
||||||
|
# Path to the maildir to check.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX="/Users/dani/.mail/inbox/new"
|
||||||
|
|
||||||
|
## mbox
|
||||||
|
# Path to the mbox to check.
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX=""
|
||||||
|
|
||||||
|
## mailcheck
|
||||||
|
# Optional path to mailcheckrc
|
||||||
|
export TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC="/Users/dani/.mailcheckrc"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# now_playing.sh {
|
||||||
|
# Music player to use. Can be any of {audacious, banshee, cmus, apple_music, itunes, lastfm, plexamp, mocp, mpd, mpd_simple, pithos, playerctl, rdio, rhythmbox, spotify, spotify_wine, file}.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MUSIC_PLAYER="mpd_simple"
|
||||||
|
# File to be read in case the song is being read from a file
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_FILE_NAME=""
|
||||||
|
# Maximum output length.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN="40"
|
||||||
|
# How to handle too long strings. Can be {trim, roll}.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD="trim"
|
||||||
|
# Charcters per second to roll if rolling trim method is used.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED="2"
|
||||||
|
|
||||||
|
# Hostname for MPD server in the format "[password@]host"
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST="localhost"
|
||||||
|
# Port the MPD server is running on.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT="6600"
|
||||||
|
# Song display format for mpd_simple. See mpc(1) for delimiters.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT="%title%"
|
||||||
|
# Song display format for playerctl. see "Format Strings" in playerctl(1).
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLAYERCTL_FORMAT="{{ artist }} - {{ title }}"
|
||||||
|
# Song display format for rhythmbox. see "FORMATS" in rhythmbox-client(1).
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_RHYTHMBOX_FORMAT="%aa - %tt"
|
||||||
|
|
||||||
|
# Last.fm
|
||||||
|
# Set up steps for Last.fm
|
||||||
|
# 1. Make sure jq(1) is installed on the system.
|
||||||
|
# 2. Create a new API application at https://www.last.fm/api/account/create (name it tmux-powerline) and copy the API key and insert it below in the setting TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_API_KEY
|
||||||
|
# 3. Make sure the API can access your recently played song by going to you user privacy settings https://www.last.fm/settings/privacy and make sure "Hide recent listening information" is UNCHECKED.
|
||||||
|
# Username for Last.fm if that music player is used.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_USERNAME=""
|
||||||
|
# API Key for the API.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_API_KEY=""
|
||||||
|
# How often in seconds to update the data from last.fm.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD="30"
|
||||||
|
# Fancy char to display before now playing track
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR="♫"
|
||||||
|
|
||||||
|
# Plexamp
|
||||||
|
# Set up steps for Plexamp
|
||||||
|
# 1. Make sure jq(1) is installed on the system.
|
||||||
|
# 2. Make sure you have an instance of Tautulli that is accessible by the computer running tmux-powerline.
|
||||||
|
# Username for Plexamp if that music player is used.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_USERNAME=""
|
||||||
|
# Hostname for Tautulli server in the format "[password@]host"
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_TAUTULLI_HOST=""
|
||||||
|
# API Key for Tautulli.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_TAUTULLI_API_KEY=""
|
||||||
|
# How often in seconds to update the data from Plexamp.
|
||||||
|
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_UPDATE_PERIOD="30"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# pwd.sh {
|
||||||
|
# Maximum length of output.
|
||||||
|
export TMUX_POWERLINE_SEG_PWD_MAX_LEN="40"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# time.sh {
|
||||||
|
# date(1) format for the time. Americans might want to have "%I:%M %p".
|
||||||
|
export TMUX_POWERLINE_SEG_TIME_FORMAT="%H:%M"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# tmux_mem_cpu_load.sh {
|
||||||
|
# Arguments passed to tmux-mem-cpu-load.
|
||||||
|
# See https://github.com/thewtex/tmux-mem-cpu-load for all available options.
|
||||||
|
export TMUX_POWERLINE_SEG_TMUX_MEM_CPU_LOAD_ARGS="-v"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# tmux_session_info.sh {
|
||||||
|
# Session info format to feed into the command: tmux display-message -p
|
||||||
|
# For example, if FORMAT is '[ #S ]', the command is: tmux display-message -p '[ #S ]'
|
||||||
|
export TMUX_POWERLINE_SEG_TMUX_SESSION_INFO_FORMAT="#S:#I.#P"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# utc_time.sh {
|
||||||
|
# date(1) format for the UTC time.
|
||||||
|
export TMUX_POWERLINE_SEG_UTC_TIME_FORMAT="%H:%M %Z"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# vcs_branch.sh {
|
||||||
|
# Max length of the branch name.
|
||||||
|
export TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN="24"
|
||||||
|
# }
|
||||||
|
|
||||||
|
# weather.sh {
|
||||||
|
# The data provider to use. Currently only "yahoo" is supported.
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER="yrno"
|
||||||
|
# What unit to use. Can be any of {c,f,k}.
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_UNIT="c"
|
||||||
|
# How often to update the weather in seconds.
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_UPDATE_PERIOD="600"
|
||||||
|
# Name of GNU grep binary if in PATH, or path to it.
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_GREP="grep"
|
||||||
|
# Location of the JSON parser, jq
|
||||||
|
export TMUX_POWERLINE_SEG_WEATHER_JSON="jq"
|
||||||
|
# Your location
|
||||||
|
# Latitude and Longtitude for use with yr.no
|
||||||
|
TMUX_POWERLINE_SEG_WEATHER_LAT=""
|
||||||
|
TMUX_POWERLINE_SEG_WEATHER_LON=""
|
||||||
|
# }
|
123
dot-config/tmux-powerline/segments/vcs_branch.sh
Executable file
123
dot-config/tmux-powerline/segments/vcs_branch.sh
Executable file
|
@ -0,0 +1,123 @@
|
||||||
|
# Prints current branch in a VCS directory if it could be detected.
|
||||||
|
|
||||||
|
# This is a patched copy of the vcs_branch segment that ships with
|
||||||
|
# tmux-powerline. It adds __normalize_color calls so that the segment works
|
||||||
|
# with true-colour themes.
|
||||||
|
|
||||||
|
# Source lib to get the function get_tmux_pwd
|
||||||
|
source "${TMUX_POWERLINE_DIR_LIB}/tmux_adapter.sh"
|
||||||
|
|
||||||
|
TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN_DEFAULT=24
|
||||||
|
|
||||||
|
branch_symbol=""
|
||||||
|
git_colour="5"
|
||||||
|
svn_colour="220"
|
||||||
|
hg_colour="45"
|
||||||
|
|
||||||
|
|
||||||
|
generate_segmentrc() {
|
||||||
|
read -d '' rccontents << EORC
|
||||||
|
# Max length of the branch name.
|
||||||
|
export TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN="${TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN_DEFAULT}"
|
||||||
|
EORC
|
||||||
|
echo "$rccontents"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
run_segment() {
|
||||||
|
__process_settings
|
||||||
|
tmux_path=$(get_tmux_cwd)
|
||||||
|
cd "$tmux_path"
|
||||||
|
branch=""
|
||||||
|
if [ -n "${git_branch=$(__parse_git_branch)}" ]; then
|
||||||
|
branch="$git_branch"
|
||||||
|
elif [ -n "${svn_branch=$(__parse_svn_branch)}" ]; then
|
||||||
|
branch="$svn_branch"
|
||||||
|
elif [ -n "${hg_branch=$(__parse_hg_branch)}" ]; then
|
||||||
|
branch="$hg_branch"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$branch" ]; then
|
||||||
|
echo "${branch}"
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Show git banch.
|
||||||
|
__parse_git_branch() {
|
||||||
|
type git >/dev/null 2>&1
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
#git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \[\1\]/'
|
||||||
|
|
||||||
|
# Quit if this is not a Git repo.
|
||||||
|
branch=$(git symbolic-ref HEAD 2> /dev/null)
|
||||||
|
if [[ -z $branch ]] ; then
|
||||||
|
# attempt to get short-sha-name
|
||||||
|
branch=":$(git rev-parse --short HEAD 2> /dev/null)"
|
||||||
|
fi
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
# this must not be a git repo
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean off unnecessary information.
|
||||||
|
branch=${branch#refs\/heads\/}
|
||||||
|
branch=$(__truncate_branch_name $branch)
|
||||||
|
|
||||||
|
echo -n "#[fg=colour${git_colour}]${branch_symbol} #[fg=$(__normalize_color "$TMUX_POWERLINE_CUR_SEGMENT_FG")]${branch}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Show SVN branch.
|
||||||
|
__parse_svn_branch() {
|
||||||
|
type svn >/dev/null 2>&1
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
local svn_info=$(svn info 2>/dev/null)
|
||||||
|
if [ -z "${svn_info}" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
local svn_root=$(echo "${svn_info}" | sed -ne 's#^Repository Root: ##p')
|
||||||
|
local svn_url=$(echo "${svn_info}" | sed -ne 's#^URL: ##p')
|
||||||
|
|
||||||
|
local branch=$(echo "${svn_url}" | grep -E -o '[^/]+$')
|
||||||
|
branch=$(__truncate_branch_name $branch)
|
||||||
|
echo "#[fg=colour${svn_colour}]${branch_symbol} #[fg=$(__normalize_color "$TMUX_POWERLINE_CUR_SEGMENT_FG")]${branch}"
|
||||||
|
}
|
||||||
|
|
||||||
|
__parse_hg_branch() {
|
||||||
|
type hg >/dev/null 2>&1
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
summary=$(hg summary)
|
||||||
|
if [ "$?" -ne 0 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
local branch=$(echo "$summary" | grep 'branch:' | cut -d ' ' -f2)
|
||||||
|
branch=$(__truncate_branch_name $branch)
|
||||||
|
echo "#[fg=colour${hg_colour}]${branch_symbol} #[fg=$(__normalize_color "$TMUX_POWERLINE_CUR_SEGMENT_FG")]${branch}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
__truncate_branch_name() {
|
||||||
|
trunc_symbol="…"
|
||||||
|
branch=$(echo $1 | sed "s/\(.\{$TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN\}\).*/\1$trunc_symbol/")
|
||||||
|
echo -n $branch
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
__process_settings() {
|
||||||
|
if [ -z "$TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN" ]; then
|
||||||
|
export TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN="${TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN_DEFAULT}"
|
||||||
|
fi
|
||||||
|
}
|
127
dot-config/tmux-powerline/themes/00dani.sh
Normal file
127
dot-config/tmux-powerline/themes/00dani.sh
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
# If changes made here does not take effect, then try to re-create the tmux session to force reload.
|
||||||
|
|
||||||
|
thm_bg="#1e1e2e"
|
||||||
|
thm_fg="#cdd6f4"
|
||||||
|
thm_cyan="#89dceb"
|
||||||
|
thm_black="#181825"
|
||||||
|
thm_gray="#313244"
|
||||||
|
thm_magenta="#cba6f7"
|
||||||
|
thm_pink="#f5c2e7"
|
||||||
|
thm_red="#f38ba8"
|
||||||
|
thm_green="#a6e3a1"
|
||||||
|
thm_yellow="#f9e2af"
|
||||||
|
thm_blue="#89b4fa"
|
||||||
|
thm_orange="#fab387"
|
||||||
|
thm_black4="#585b70"
|
||||||
|
|
||||||
|
wedge_left="█"
|
||||||
|
wedge_right="█"
|
||||||
|
|
||||||
|
wedge() {
|
||||||
|
printf '%s' "#[fg=$2,bg=$thm_bg]" \
|
||||||
|
"$wedge_left" \
|
||||||
|
"#[fg=$thm_bg,bg=$2]" \
|
||||||
|
"$1" \
|
||||||
|
"#[fg=$2,bg=$thm_bg]" \
|
||||||
|
"$wedge_right"
|
||||||
|
}
|
||||||
|
|
||||||
|
if patched_font_in_use; then
|
||||||
|
TMUX_POWERLINE_SEPARATOR_LEFT_BOLD=""
|
||||||
|
TMUX_POWERLINE_SEPARATOR_LEFT_THIN=""
|
||||||
|
TMUX_POWERLINE_SEPARATOR_RIGHT_BOLD=""
|
||||||
|
TMUX_POWERLINE_SEPARATOR_RIGHT_THIN=""
|
||||||
|
else
|
||||||
|
TMUX_POWERLINE_SEPARATOR_LEFT_BOLD="◀"
|
||||||
|
TMUX_POWERLINE_SEPARATOR_LEFT_THIN="❮"
|
||||||
|
TMUX_POWERLINE_SEPARATOR_RIGHT_BOLD="▶"
|
||||||
|
TMUX_POWERLINE_SEPARATOR_RIGHT_THIN="❯"
|
||||||
|
fi
|
||||||
|
|
||||||
|
TMUX_POWERLINE_DEFAULT_BACKGROUND_COLOR=${TMUX_POWERLINE_DEFAULT_BACKGROUND_COLOR:-$thm_bg}
|
||||||
|
TMUX_POWERLINE_DEFAULT_FOREGROUND_COLOR=${TMUX_POWERLINE_DEFAULT_FOREGROUND_COLOR:-$thm_fg}
|
||||||
|
|
||||||
|
TMUX_POWERLINE_DEFAULT_LEFTSIDE_SEPARATOR=${TMUX_POWERLINE_DEFAULT_LEFTSIDE_SEPARATOR:-$TMUX_POWERLINE_SEPARATOR_RIGHT_BOLD}
|
||||||
|
TMUX_POWERLINE_DEFAULT_RIGHTSIDE_SEPARATOR=${TMUX_POWERLINE_DEFAULT_RIGHTSIDE_SEPARATOR:-$TMUX_POWERLINE_SEPARATOR_LEFT_BOLD}
|
||||||
|
|
||||||
|
# See man tmux.conf for additional formatting options for the status line.
|
||||||
|
# The `format regular` and `format inverse` functions are provided as conveniences
|
||||||
|
|
||||||
|
if [ -z $TMUX_POWERLINE_WINDOW_STATUS_CURRENT ]; then
|
||||||
|
TMUX_POWERLINE_WINDOW_STATUS_CURRENT=" #W $(wedge "#I" "$thm_orange")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z $TMUX_POWERLINE_WINDOW_STATUS_STYLE ]; then
|
||||||
|
TMUX_POWERLINE_WINDOW_STATUS_STYLE=(
|
||||||
|
"$(format regular)"
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z $TMUX_POWERLINE_WINDOW_STATUS_FORMAT ]; then
|
||||||
|
TMUX_POWERLINE_WINDOW_STATUS_FORMAT=" #W $(wedge "#I" "$thm_blue")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Format: segment_name background_color foreground_color [non_default_separator] [separator_background_color] [separator_foreground_color] [spacing_disable] [separator_disable]
|
||||||
|
#
|
||||||
|
# * background_color and foreground_color. Formats:
|
||||||
|
# * Named colors (chech man page of tmux for complete list) e.g. black, red, green, yellow, blue, magenta, cyan, white
|
||||||
|
# * a hexadecimal RGB string e.g. #ffffff
|
||||||
|
# * 'default' for the defalt tmux color.
|
||||||
|
# * non_default_separator - specify an alternative character for this segment's separator
|
||||||
|
# * separator_background_color - specify a unique background color for the separator
|
||||||
|
# * separator_foreground_color - specify a unique foreground color for the separator
|
||||||
|
# * spacing_disable - remove space on left, right or both sides of the segment:
|
||||||
|
# * "left_disable" - disable space on the left
|
||||||
|
# * "right_disable" - disable space on the right
|
||||||
|
# * "both_disable" - disable spaces on both sides
|
||||||
|
# * - any other character/string produces no change to default behavior (eg "none", "X", etc.)
|
||||||
|
#
|
||||||
|
# * separator_disable - disables drawing a separator on this segment, very useful for segments
|
||||||
|
# with dynamic background colours (eg tmux_mem_cpu_load):
|
||||||
|
# * "separator_disable" - disables the separator
|
||||||
|
# * - any other character/string produces no change to default behavior
|
||||||
|
#
|
||||||
|
# Example segment with separator disabled and right space character disabled:
|
||||||
|
# "hostname 33 0 {TMUX_POWERLINE_SEPARATOR_RIGHT_BOLD} 33 0 right_disable separator_disable"
|
||||||
|
#
|
||||||
|
# Note that although redundant the non_default_separator, separator_background_color and
|
||||||
|
# separator_foreground_color options must still be specified so that appropriate index
|
||||||
|
# of options to support the spacing_disable and separator_disable features can be used
|
||||||
|
|
||||||
|
if [ -z $TMUX_POWERLINE_LEFT_STATUS_SEGMENTS ]; then
|
||||||
|
TMUX_POWERLINE_LEFT_STATUS_SEGMENTS=(
|
||||||
|
"mode_indicator 33" \
|
||||||
|
#"tmux_session_info 148 234" \
|
||||||
|
#"hostname 33 0" \
|
||||||
|
#"ifstat 30 255" \
|
||||||
|
#"ifstat_sys 30 255" \
|
||||||
|
#"lan_ip 24 255 ${TMUX_POWERLINE_SEPARATOR_RIGHT_THIN}" \
|
||||||
|
#"wan_ip 24 255" \
|
||||||
|
"vcs_branch $thm_gray $thm_blue" \
|
||||||
|
#"vcs_compare 60 255" \
|
||||||
|
#"vcs_staged 64 255" \
|
||||||
|
#"vcs_modified 9 255" \
|
||||||
|
#"vcs_others 245 0" \
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z $TMUX_POWERLINE_RIGHT_STATUS_SEGMENTS ]; then
|
||||||
|
TMUX_POWERLINE_RIGHT_STATUS_SEGMENTS=(
|
||||||
|
#"earthquake 3 0" \
|
||||||
|
"pwd $thm_pink $thm_bg" \
|
||||||
|
#"macos_notification_count 29 255" \
|
||||||
|
#"mailcount 9 255" \
|
||||||
|
"now_playing 234 37" \
|
||||||
|
#"cpu 240 136" \
|
||||||
|
#"load 237 167" \
|
||||||
|
#"tmux_mem_cpu_load 234 136" \
|
||||||
|
"battery 137 127" \
|
||||||
|
#"weather 37 255" \
|
||||||
|
#"rainbarf 0 ${TMUX_POWERLINE_DEFAULT_FOREGROUND_COLOR}" \
|
||||||
|
#"xkb_layout 125 117" \
|
||||||
|
#"date_day 235 136" \
|
||||||
|
#"date 235 136 ${TMUX_POWERLINE_SEPARATOR_LEFT_THIN}" \
|
||||||
|
#"time 235 136 ${TMUX_POWERLINE_SEPARATOR_LEFT_THIN}" \
|
||||||
|
#"utc_time 235 136 ${TMUX_POWERLINE_SEPARATOR_LEFT_THIN}" \
|
||||||
|
)
|
||||||
|
fi
|
|
@ -1,24 +1,7 @@
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
set -g @plugin 'tmux-plugins/tmux-pain-control'
|
set -g @plugin 'tmux-plugins/tmux-pain-control'
|
||||||
set -g @plugin 'catppuccin/tmux'
|
set -g @plugin 'erikw/tmux-powerline'
|
||||||
set -g @plugin 'tmux-plugins/tmux-battery'
|
|
||||||
|
|
||||||
set -g @catppuccin_window_default_text "#W"
|
|
||||||
set -g @catppuccin_window_current_text "#W"
|
|
||||||
set -g @catppuccin_window_left_separator "█"
|
|
||||||
set -g @catppuccin_window_right_separator "█ "
|
|
||||||
set -g @catppuccin_window_number_position "right"
|
|
||||||
set -g @catppuccin_window_middle_separator " █"
|
|
||||||
|
|
||||||
set -g @catppuccin_status_modules_right "battery directory session"
|
|
||||||
set -g @catppuccin_status_left_separator ""
|
|
||||||
set -g @catppuccin_status_right_separator " "
|
|
||||||
set -g @catppuccin_status_right_separator_inverse "yes"
|
|
||||||
set -g @catppuccin_status_fill "all"
|
|
||||||
set -g @catppuccin_status_connect_separator "no"
|
|
||||||
|
|
||||||
set -g @catppuccin_directory_text "#{?#{==:#{pane_current_path},$HOME},~,#{b:pane_current_path}}"
|
|
||||||
|
|
||||||
set -g set-titles on
|
set -g set-titles on
|
||||||
setw -g automatic-rename on
|
setw -g automatic-rename on
|
||||||
|
|
Loading…
Reference in a new issue