diff --git a/tmux/config.sh b/tmux/config.sh new file mode 100644 index 0000000000000000000000000000000000000000..c52d68186248d39606290165ee6d80ea689ddae5 --- /dev/null +++ b/tmux/config.sh @@ -0,0 +1,115 @@ +# 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="tbb" + # 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="left" + + # The maximum length of the left status bar. + export TMUX_POWERLINE_STATUS_LEFT_LENGTH="100" + # The maximum length of the right status bar. + export TMUX_POWERLINE_STATUS_RIGHT_LENGTH="100" + + # 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-]" +# } + +# 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" +# } + +# hostname.sh { + # Use short or long format for the hostname. Can be {"short, long"}. + export TMUX_POWERLINE_SEG_HOSTNAME_FORMAT="short" +# } + +# 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="/home/wheel/aburgess/.mail/inbox/new" + + ## mbox + # Path to the mbox to check. + export TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX="/var/mail/aburgess" + + ## mailcheck + # Optional path to mailcheckrc + export TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC="/home/wheel/aburgess/.mailcheckrc" +# } + +# time.sh { + # date(1) format for the time. Americans might want to have "%I:%M %p". + export TMUX_POWERLINE_SEG_TIME_FORMAT="%H:%M" + # Change this to display a different timezone than the system default. + # Use TZ Identifier like "America/Los_Angeles" + export TMUX_POWERLINE_SEG_TIME_TZ="" +# } + +# 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" +# } + +# 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="-31.953512" + TMUX_POWERLINE_SEG_WEATHER_LON="115.857048" +# } diff --git a/tmux/themes/tbb.sh b/tmux/themes/tbb.sh new file mode 100644 index 0000000000000000000000000000000000000000..6a0b9a69f0465c7ce070c999db0e71aae164b6dc --- /dev/null +++ b/tmux/themes/tbb.sh @@ -0,0 +1,117 @@ +# Default Theme +# If changes made here does not take effect, then try to re-create the tmux session to force reload. + +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:-'255'} +TMUX_POWERLINE_DEFAULT_FOREGROUND_COLOR=${TMUX_POWERLINE_DEFAULT_FOREGROUND_COLOR:-'245'} + +TMUX_POWERLINE_SEG_AIR_COLOR=$("${TMUX_POWERLINE_DIR_HOME}/segments/air_color.sh") + +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=( + "#[$(format inverse)]" \ + "$TMUX_POWERLINE_DEFAULT_LEFTSIDE_SEPARATOR" \ + " #I#F " \ + "$TMUX_POWERLINE_SEPARATOR_RIGHT_THIN" \ + " #W " \ + "#[$(format regular)]" \ + "$TMUX_POWERLINE_DEFAULT_LEFTSIDE_SEPARATOR" + ) +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=( + "#[$(format regular)]" \ + " #I#{?window_flags,#F, } " \ + "$TMUX_POWERLINE_SEPARATOR_RIGHT_THIN" \ + " #W " + ) +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=( + "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 29 88" \ + #"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 89 211" \ + "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" \ + #"air ${TMUX_POWERLINE_SEG_AIR_COLOR} 255" \ + "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}" 235 130 \ + "time 235 136 ${TMUX_POWERLINE_SEPARATOR_LEFT_THIN}" 235 130\ + #"utc_time 235 136 ${TMUX_POWERLINE_SEPARATOR_LEFT_THIN}" \ + ) +fi