aboutsummaryrefslogtreecommitdiff
path: root/segments
diff options
context:
space:
mode:
Diffstat (limited to 'segments')
-rw-r--r--segments/Makefile18
-rwxr-xr-xsegments/battery.sh150
-rwxr-xr-xsegments/cpu.sh22
-rwxr-xr-xsegments/date.sh23
-rwxr-xr-xsegments/date_day.sh6
-rwxr-xr-xsegments/earthquake.sh173
-rwxr-xr-xsegments/hostname.sh31
-rwxr-xr-xsegments/ifstat.sh39
-rwxr-xr-xsegments/ifstat_sys.sh28
-rwxr-xr-xsegments/lan_ip.sh32
-rwxr-xr-xsegments/load.sh6
-rwxr-xr-xsegments/mailcount.sh204
-rwxr-xr-xsegments/mailcount_apple_mail.script14
-rwxr-xr-xsegments/now_playing.sh274
-rwxr-xr-xsegments/np_itunes.script24
-rw-r--r--segments/np_mpd.c179
-rwxr-xr-xsegments/np_pithos.py9
-rwxr-xr-xsegments/np_rdio_mac.script20
-rwxr-xr-xsegments/np_spotify_mac.script23
-rwxr-xr-xsegments/pwd.sh39
-rwxr-xr-xsegments/rainbarf.sh15
-rwxr-xr-xsegments/time.sh23
-rwxr-xr-xsegments/tmux_mem_cpu_load.sh14
-rwxr-xr-xsegments/tmux_session_info.sh7
-rwxr-xr-xsegments/uptime.sh6
-rwxr-xr-xsegments/utc_time.sh6
-rwxr-xr-xsegments/vcs_branch.sh90
-rwxr-xr-xsegments/vcs_compare.sh68
-rwxr-xr-xsegments/vcs_modified.sh70
-rwxr-xr-xsegments/vcs_others.sh51
-rwxr-xr-xsegments/vcs_revision.sh43
-rwxr-xr-xsegments/vcs_staged.sh57
-rwxr-xr-xsegments/wan_ip.sh43
-rwxr-xr-xsegments/weather.sh182
-rw-r--r--segments/xkb_layout.c64
-rwxr-xr-xsegments/xkb_layout.sh32
36 files changed, 0 insertions, 2085 deletions
diff --git a/segments/Makefile b/segments/Makefile
deleted file mode 100644
index 07767b5..0000000
--- a/segments/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# Build the small MPD NP program.
-# Enable debug printing with $ make -e DEBUG=1
-DEBUG=0
-CC = $(shell hash clang 2>/dev/null && echo clang || echo gcc)
-CFLAGS = -O3 -Wall -std=c99 -I /usr/include/ -D DEBUG=${DEBUG}
-LDLIBS = -lmpdclient
-XKB_LAYOUT_LDLIBS= -lX11
-
-.PHONY: all clean
-
-all: np_mpd xkb_layout
-
-xkb_layout: xkb_layout.c
- $(CC) $(CFLAGS) $(LDFLAGS) $< $(XKB_LAYOUT_LDLIBS) -o $@
-
-clean:
- $(RM) np_mpd
- $(RM) xkb_layout
diff --git a/segments/battery.sh b/segments/battery.sh
deleted file mode 100755
index 9b7084d..0000000
--- a/segments/battery.sh
+++ /dev/null
@@ -1,150 +0,0 @@
-# LICENSE This code is not under the same license as the rest of the project as it's "stolen". It's cloned from https://github.com/richoH/dotfiles/blob/master/bin/battery and just some modifications are done so it works for my laptop. Check that URL for more recent versions.
-
-TMUX_POWERLINE_SEG_BATTERY_TYPE_DEFAULT="percentage"
-TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS_DEFAULT=5
-
-HEART_FULL="♥"
-HEART_EMPTY="♡"
-
-generate_segmentrc() {
- read -d '' rccontents << EORC
-# How to display battery remaining. Can be {percentage, cute}.
-export TMUX_POWERLINE_SEG_BATTERY_TYPE="${TMUX_POWERLINE_SEG_BATTERY_TYPE_DEFAULT}"
-# How may hearts to show if cute indicators are used.
-export TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS="${TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS_DEFAULT}"
-EORC
- echo "$rccontents"
-}
-
-run_segment() {
- __process_settings
- if shell_is_osx; then
- battery_status=$(__battery_osx)
- else
- battery_status=$(__battery_linux)
- fi
- [ -z "$battery_status" ] && return
-
- case "$TMUX_POWERLINE_SEG_BATTERY_TYPE" in
- "percentage")
- output="${HEART_FULL} ${battery_status}%"
- ;;
- "cute")
- output=$(__cutinate $battery_status)
- esac
- if [ -n "$output" ]; then
- echo "$output"
- fi
-}
-
-__process_settings() {
- if [ -z "$TMUX_POWERLINE_SEG_BATTERY_TYPE" ]; then
- export TMUX_POWERLINE_SEG_BATTERY_TYPE="${TMUX_POWERLINE_SEG_BATTERY_TYPE_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS" ]; then
- export TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS="${TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS_DEFAULT}"
- fi
-}
-
-__battery_osx() {
- ioreg -c AppleSmartBattery -w0 | \
- grep -o '"[^"]*" = [^ ]*' | \
- sed -e 's/= //g' -e 's/"//g' | \
- sort | \
- while read key value; do
- case $key in
- "MaxCapacity")
- export maxcap=$value;;
- "CurrentCapacity")
- export curcap=$value;;
- "ExternalConnected")
- export extconnect=$value;;
- "FullyCharged")
- export fully_charged=$value;;
- esac
- if [[ -n $maxcap && -n $curcap && -n $extconnect ]]; then
- if [[ "$curcap" == "$maxcap" || "$fully_charged" == "Yes" && $extconnect == "Yes" ]]; then
- return
- fi
- charge=$(( 100 * $curcap / $maxcap ))
- if [[ "$extconnect" == "Yes" ]]; then
- echo "$charge"
- else
- if [[ $charge -lt 50 ]]; then
- echo -n "#[fg=red]"
- fi
- echo "$charge"
- fi
- break
- fi
- done
- }
-
- __battery_linux() {
- case "$SHELL_PLATFORM" in
- "linux")
- BATPATH=/sys/class/power_supply/BAT0
- if [ ! -d $BATPATH ]; then
- BATPATH=/sys/class/power_supply/BAT1
- fi
- STATUS=$BATPATH/status
- BAT_FULL=$BATPATH/charge_full
- if [ ! -r $BAT_FULL ]; then
- BAT_FULL=$BATPATH/energy_full
- fi
- BAT_NOW=$BATPATH/charge_now
- if [ ! -r $BAT_NOW ]; then
- BAT_NOW=$BATPATH/energy_now
- fi
-
- if [ "$1" = `cat $STATUS` -o "$1" = "" ]; then
- __linux_get_bat
- fi
- ;;
- "bsd")
- STATUS=`sysctl -n hw.acpi.battery.state`
- case $1 in
- "Discharging")
- if [ $STATUS -eq 1 ]; then
- __freebsd_get_bat
- fi
- ;;
- "Charging")
- if [ $STATUS -eq 2 ]; then
- __freebsd_get_bat
- fi
- ;;
- "")
- __freebsd_get_bat
- ;;
- esac
- ;;
- esac
- }
-
- __cutinate() {
- perc=$1
- inc=$(( 100 / $TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS ))
-
-
- for i in `seq $TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS`; do
- if [ $perc -lt 99 ]; then
- echo -n $HEART_EMPTY
- else
- echo -n $HEART_FULL
- fi
- echo -n " "
- perc=$(( $perc + $inc ))
- done
- }
-
- __linux_get_bat() {
- bf=$(cat $BAT_FULL)
- bn=$(cat $BAT_NOW)
- echo $(( 100 * $bn / $bf ))
- }
-
- __freebsd_get_bat() {
- echo "$(sysctl -n hw.acpi.battery.life)"
-
- }
diff --git a/segments/cpu.sh b/segments/cpu.sh
deleted file mode 100755
index 637bcda..0000000
--- a/segments/cpu.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-# Prints the CPU usage: user% sys% idle.
-
-run_segment() {
- if shell_is_linux; then
- cpu_line=$(top -b -n 1 | grep "Cpu(s)" )
- cpu_user=$(echo "$cpu_line" | grep -Po "(\d+(.\d+)?)(?=%?\s?(us(er)?))")
- cpu_system=$(echo "$cpu_line" | grep -Po "(\d+(.\d+)?)(?=%?\s?(sys?))")
- cpu_idle=$(echo "$cpu_line" | grep -Po "(\d+(.\d+)?)(?=%?\s?(id(le)?))")
- elif shell_is_osx; then
- cpus_line=$(top -e -l 1 | grep "CPU usage:" | sed 's/CPU usage: //')
- cpu_user=$(echo "$cpus_line" | awk '{print $1}' | sed 's/%//' )
- cpu_system=$(echo "$cpus_line" | awk '{print $3}'| sed 's/%//' )
- cpu_idle=$(echo "$cpus_line" | awk '{print $5}' | sed 's/%//' )
- fi
-
- if [ -n "$cpu_user" ] && [ -n "$cpu_system" ] && [ -n "$cpu_idle" ]; then
- echo "${cpu_user}, ${cpu_system}, ${cpu_idle}" | awk -F', ' '{printf("%5.1f,%5.1f,%5.1f",$1,$2,$3)}'
- return 0
- else
- return 1
- fi
-}
diff --git a/segments/date.sh b/segments/date.sh
deleted file mode 100755
index 32263d5..0000000
--- a/segments/date.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-# Print the current date.
-
-TMUX_POWERLINE_SEG_DATE_FORMAT_DEFAULT="%F"
-
-generate_segmentrc() {
- read -d '' rccontents << EORC
-# 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="${TMUX_POWERLINE_SEG_DATE_FORMAT_DEFAULT}"
-EORC
- echo "$rccontents"
-}
-
-__process_settings() {
- if [ -z "$TMUX_POWERLINE_SEG_DATE_FORMAT" ]; then
- export TMUX_POWERLINE_SEG_DATE_FORMAT="${TMUX_POWERLINE_SEG_DATE_FORMAT_DEFAULT}"
- fi
-}
-
-run_segment() {
- __process_settings
- date +"$TMUX_POWERLINE_SEG_DATE_FORMAT"
- return 0
-}
diff --git a/segments/date_day.sh b/segments/date_day.sh
deleted file mode 100755
index 35a42eb..0000000
--- a/segments/date_day.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-# Prints the name of the current day.
-
-run_segment() {
- date +"%a"
- return 0
-}
diff --git a/segments/earthquake.sh b/segments/earthquake.sh
deleted file mode 100755
index 3859094..0000000
--- a/segments/earthquake.sh
+++ /dev/null
@@ -1,173 +0,0 @@
-# Prints the most recent earthquake (currently only supports japan)
-# It prints the location, time, and magnitude if the quake happened within
-# a timelimit and magnitude threshold
-
-earthquake_symbol='#[fg=colour1]~'
-
-# The update period in seconds.
-update_period=600
-
-TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER_DEFAULT="goo"
-TMUX_POWERLINE_SEG_EARTHQUAKE_UPDATE_PERIOD_DEFAULT="600"
-TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW_DEFAULT="60"
-TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT_DEFAULT='(%H:%M)'
-TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE_DEFAULT='3'
-
-generate_segmentrc() {
- read -d '' rccontents << EORC
-# The data provider to use. Currently only "goo" is supported.
-export TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER="${TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER_DEFAULT}"
-# 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="${TMUX_POWERLINE_SEG_EARTHQUAKE_UPDATE_PERIOD_DEFAULT}"
-# Only display information when earthquakes are within this many minutes
-export TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW="${TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW_DEFAULT}"
-# Display time with this format
-export TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT='${TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT_DEFAULT}'
-# Display only if magnitude is greater or equal to this number
-export TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE="${TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE_DEFAULT}"
-EORC
- echo "$rccontents"
-}
-
-run_segment() {
- __process_settings
- local tmp_file="${TMUX_POWERLINE_DIR_TEMPORARY}/earthquake.txt"
- local earthquake
- case "$TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER" in
- "goo") earthquake=$(__goo_earthquake) ;;
- *)
- echo "Unknown earthquake-information provider [${$TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER}]";
- return 1
- esac
- if [ -n "$earthquake" ]; then
- echo "$earthquake_symbol #[fg=colour237]${earthquake}"
- fi
-}
-
-__process_settings() {
- if [ -z "$TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER" ]; then
- export TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER="${TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_EARTHQUAKE_UPDATE_PERIOD" ]; then
- export TMUX_POWERLINE_SEG_EARTHQUAKE_UPDATE_PERIOD="${TMUX_POWERLINE_SEG_EARTHQUAKE_UPDATE_PERIOD_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW" ]; then
- export TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW="${TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT" ]; then
- export TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT="${TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE" ]; then
- export TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE="${TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE_DEFAULT}"
- fi
-}
-
-__goo_earthquake() {
- location=""
- magnitude=""
- magnitude_number=""
- timestamp=""
- if [[ -f "$tmp_file" ]]; then
- if shell_is_osx || shell_is_bsd; then
- last_update=$(stat -f "%m" ${tmp_file})
- elif shell_is_linux; then
- last_update=$(stat -c "%Y" ${tmp_file})
- fi
- time_now=$(date +%s)
-
- up_to_date=$(echo "(${time_now}-${last_update}) < ${update_period}" | bc)
- if [ "$up_to_date" -eq 1 ]; then
- __read_tmp_file
- fi
- fi
-
- if [ -z "$magnitude" ]; then
- # get the rss file, convert encoding to UTF-8, then delete windows carriage-returns
- earthquake_data=$(curl --max-time 4 -s "http://weather.goo.ne.jp/earthquake/index.rdf" | iconv -f EUC-JP -t UTF-8 | tr -d "\r")
- if [ "$?" -eq "0" ]; then
- # This rss feed is not very clean or easy to use, but we will use it because
- # this is all that can be found for now
-
- # we grab the data from the title of the first item (most recent earthquake)
- earthquake_data=${earthquake_data#*item\><title>}
- # end our data at the end of the approx. time
- earthquake_data=${earthquake_data%%頃*}
-
- # pluck our data
- location=$(echo $earthquake_data | awk '{print $2}')
- magnitude=$(echo $earthquake_data | awk '{print $4}')
- timestamp=${earthquake_data#*\(}
-
- __convert_jp_magnitude
- __convert_jp_timestamp
-
- echo $location > $tmp_file
- echo $magnitude >> $tmp_file
- echo $timestamp >> $tmp_file
- elif [ -f "$tmp_file" ]; then
- __read_tmp_file
- fi
- fi
- __convert_timestamp_to_fmt
-
- # extract the numerical portion of magnitude
- magnitude_number=$(echo $magnitude | sed -e 's/+//' -e 's/-//')
-
- if [ -n "$magnitude" ]; then
- if __check_alert_time_window && __check_min_magnitude ; then
- echo "${location}${timestamp_fmt}:#[fg=colour0]${magnitude}"
- fi
- fi
-}
-
-__convert_jp_magnitude() {
- magnitude=${magnitude#震度}
- # simplify high-lower designation (only used in extreme cases: above 4)
- if [[ "$magnitude" == *弱 ]] ; then
- magnitude="-${magnitude%弱}"
- elif [[ "$magnitude" == *強 ]] ; then
- magnitude="+${magnitude%強}"
- fi
-}
-
-__check_alert_time_window() {
- [[ $(( ( $(date +%s) - $timestamp ) / 60 )) -lt $TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW ]]
-}
-
-__check_min_magnitude() {
- [[ $magnitude_number -ge $TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE ]]
-}
-
-__convert_jp_timestamp() {
- if shell_is_osx ; then
- timestamp=$(date -j -f "%Y年%m月%d日 %H時%M分" "$timestamp" +"%s")
- else
- timestamp=$(echo $timestamp | $sed -e 's/年/-/' -e 's/月/-/' -e 's/日//' -e 's/時/:/' -e 's/分//')
- timestamp=$(date -d "$timestamp" +"%s")
- fi
-}
-
-__convert_timestamp_to_fmt() {
- if shell_is_osx ; then
- timestamp_fmt=$(date -r "$timestamp" +"$TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT")
- else
- timestamp_fmt=$(date -d "$timestamp" +"$TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT")
- fi
-}
-
-__read_tmp_file() {
- if [ ! -f "$tmp_file" ]; then
- return
- fi
- IFS_bak="$IFS"
- IFS=$'\n'
- lines=($(cat ${tmp_file}))
- IFS="$IFS_bak"
- location="${lines[0]}"
- magnitude="${lines[1]}"
- timestamp="${lines[2]}"
-}
diff --git a/segments/hostname.sh b/segments/hostname.sh
deleted file mode 100755
index c3dfbf9..0000000
--- a/segments/hostname.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-# Prints the hostname.
-
-TMUX_POWERLINE_SEG_HOSTNAME_FORMAT_DEFAULT="short"
-
-generate_segmentrc() {
- read -d '' rccontents << EORC
-# Use short or long format for the hostname. Can be {"short, long"}.
-export TMUX_POWERLINE_SEG_HOSTNAME_FORMAT="${TMUX_POWERLINE_SEG_HOSTNAME_FORMAT_DEFAULT}"
-EORC
- echo "$rccontents"
-}
-
-__process_settings() {
- if [ -z "$TMUX_POWERLINE_SEG_HOSTNAME_FORMAT" ]; then
- export TMUX_POWERLINE_SEG_HOSTNAME_FORMAT="${TMUX_POWERLINE_SEG_HOSTNAME_FORMAT_DEFAULT}"
- fi
-}
-run_segment() {
- __process_settings
- local opts=""
- if [ "$TMUX_POWERLINE_SEG_HOSTNAME_FORMAT" == "short" ]; then
- if shell_is_osx || shell_is_bsd; then
- opts="-s"
- else
- opts="--short"
- fi
- fi
-
- hostname ${opts}
- return 0
-}
diff --git a/segments/ifstat.sh b/segments/ifstat.sh
deleted file mode 100755
index 2666496..0000000
--- a/segments/ifstat.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-# Show network statistics for all active interfaces found.
-
-run_segment() {
- type ifstat >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return 1
- fi
-
- sed="sed"
- type gsed >/dev/null 2>&1
- if [ "$?" -eq 0 ]; then
- sed="gsed"
- fi
-
- data=$(ifstat -z -S -q 1 1)
- interfaces=$(echo -e "${data}" | head -n 1)
- flow_data=$(echo -e "${data}" | tail -n 1 | ${sed} "s/\s\{1,\}/,/g")
- index=1
- for inf in ${interfaces}; do
- type=""
- case ${inf} in
- eth*) type="⎆"
- ;;
- wlan*) type="☫"
- ;;
- en*) type=" "
- ;;
- esac
- if [ -n "${type}" ]; then
- formate=$(echo "${formate} ${type} ⇊ %.2f ⇈ %.2f")
- holder=$(echo "${holder},\$$((index)),\$$((index+1))")
- fi
- index=$((index+2))
- done
- if [ -n "${formate}" ]; then
- echo $(echo "${flow_data#,}" | awk -F"," "{printf(\"${formate}\"${holder})}")
- fi
- return 0
-}
diff --git a/segments/ifstat_sys.sh b/segments/ifstat_sys.sh
deleted file mode 100755
index 1059dc4..0000000
--- a/segments/ifstat_sys.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-# Show if stats by sampling /sys/.
-# Originally stolen from http://unix.stackexchange.com/questions/41346/upload-download-speed-in-tmux-status-line
-
-run_segment() {
- sleeptime="0.5"
- iface="eth0"
- RXB=$(</sys/class/net/"$iface"/statistics/rx_bytes)
- TXB=$(</sys/class/net/"$iface"/statistics/tx_bytes)
- sleep "$sleeptime"
- RXBN=$(</sys/class/net/"$iface"/statistics/rx_bytes)
- TXBN=$(</sys/class/net/"$iface"/statistics/tx_bytes)
- RXDIF=$(echo "$((RXBN - RXB)) / 1024 / ${sleeptime}" | bc )
- TXDIF=$(echo "$((TXBN - TXB)) / 1024 / ${sleeptime}" | bc )
-
- if [ $RXDIF -gt 1024 ]; then
- RXDIF_ECHO="↓ $(echo "scale=1;${RXDIF} / 1024" | bc)M/s"
- else
- RXDIF_ECHO="↓ ${RXDIF}K/s"
- fi
- if [ $TXDIF -gt 1024 ]; then
- TXDIF_ECHO="↑ $(echo "scale=1;${TXDIF} / 1024" | bc)M/s"
- else
- TXDIF_ECHO="↑ ${TXDIF}K/s"
- fi
-
- echo -e "${RXDIF_ECHO} ${TXDIF_ECHO}"
- return 0
-}
diff --git a/segments/lan_ip.sh b/segments/lan_ip.sh
deleted file mode 100755
index fe97dad..0000000
--- a/segments/lan_ip.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-# Prints the local network IPv4 address for a statically defined NIC or search for an IPv4 address on all active NICs.
-
-run_segment() {
- if shell_is_bsd || shell_is_osx ; then
- all_nics=$(ifconfig 2>/dev/null | awk -F':' '/^[a-z]/ && !/^lo/ { print $1 }')
- for nic in ${all_nics[@]}; do
- ipv4s_on_nic=$(ifconfig ${nic} 2>/dev/null | awk '$1 == "inet" { print $2 }')
- for lan_ip in ${ipv4s_on_nic[@]}; do
- [[ -n "${lan_ip}" ]] && break
- done
- [[ -n "${lan_ip}" ]] && break
- done
- else
- # Get the names of all attached NICs.
- all_nics="$(ip addr show | cut -d ' ' -f2 | tr -d :)"
- all_nics=(${all_nics[@]//lo/}) # Remove lo interface.
-
- for nic in "${all_nics[@]}"; do
- # Parse IP address for the NIC.
- lan_ip="$(ip addr show ${nic} | grep '\<inet\>' | tr -s ' ' | cut -d ' ' -f3)"
- # Trim the CIDR suffix.
- lan_ip="${lan_ip%/*}"
- # Only display the last entry
- lan_ip="$(echo "$lan_ip" | tail -1)"
-
- [ -n "$lan_ip" ] && break
- done
- fi
-
- echo "ⓛ ${lan_ip-N/a}"
- return 0
-}
diff --git a/segments/load.sh b/segments/load.sh
deleted file mode 100755
index 7480d96..0000000
--- a/segments/load.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-# Print the average load.
-
-run_segment() {
- uptime | cut -d "," -f 3- | cut -d ":" -f2 | sed -e "s/^[ \t]*//"
- exit 0
-}
diff --git a/segments/mailcount.sh b/segments/mailcount.sh
deleted file mode 100755
index 68029aa..0000000
--- a/segments/mailcount.sh
+++ /dev/null
@@ -1,204 +0,0 @@
-# Report mail count for your mailbox type
-
-TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX_DEFAULT="$HOME/.mail/inbox/new"
-TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX_DEFAULT="${MAIL}"
-TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC_DEFAULT="${HOME}/.mailcheckrc"
-TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER_DEFAULT="gmail.com"
-TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL_DEFAULT="5"
-
-
-generate_segmentrc() {
- read -d '' rccontents << EORC
-# 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="${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER_DEFAULT}"
-# How often in minutes to check for new mails.
-export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL="${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL_DEFAULT}"
-
-## Maildir
-# Path to the maildir to check.
-export TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX="${TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX_DEFAULT}"
-
-## mbox
-# Path to the mbox to check.
-export TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX="${TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX_DEFAULT}"
-
-## mailcheck
-# Optional path to mailcheckrc
-export TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC="${TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC_DEFAULT}"
-EORC
- echo "${rccontents}"
-}
-
-__process_settings() {
- if [ -z "$TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER" ]; then
- export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER="${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL" ]; then
- export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL="${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL_DEFAULT}"
- fi
-
- eval TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX="$TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX"
- if [ -z "$TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX" ]; then
- export TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX="${TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX_DEFAULT}"
- fi
-
- eval TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX="$TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX"
- if [ -z "${TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX}" ]; then
- export TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX="${TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX_DEFAULT}"
- fi
-
- eval TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC="$TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC"
- if [ -z "${TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC}" ]; then
- export TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC="${TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC_DEFAULT}"
- fi
-
-}
-
-run_segment() {
- __process_settings
-
- if [ -z "$TMUX_POWERLINE_SEG_MAILCOUNT_MAILBOX_TYPE" ]; then
- return 2
- fi
-
- local count
- case "$TMUX_POWERLINE_SEG_MAILCOUNT_MAILBOX_TYPE" in
- "apple_mail") count=$(__count_apple_mail) ;;
- "gmail") count=$(__count_gmail) ;;
- "maildir") count=$(__count_maildir) ;;
- "mbox") count=$(__count_mbox) ;;
- "mailcheck") count=$(__count_mailcheck) ;;
- *)
- echo "Unknown mailbox type [${TMUX_POWERLINE_SEG_MAILCOUNT_MAILBOX_TYPE}]";
- return 1
- esac
- local exitcode="$?"
- if [ "$exitcode" -ne 0 ]; then
- return $exitcode
- fi
-
- if [[ -n "$count" && "$count" -gt 0 ]]; then
- echo "✉ ${count}"
- fi
-
- return 0
-}
-
-
-__count_apple_mail() {
- count=$(${TMUX_POWERLINE_DIR_SEGMENTS}/mailcount_apple_mail.script)
- echo "$count"
-}
-
-__count_gmail() {
- local tmp_file="${TMUX_POWERLINE_DIR_TEMPORARY}/gmail_count.txt"
- local tmp_wgetrc="${TMUX_POWERLINE_DIR_TEMPORARY}/tmp_wgetrc.txt"
- local override_passget="false" # When true a force reloaded will be done.
-
- # Create the cache file if it doesn't exist.
- if [ ! -f "$tmp_file" ]; then
- touch $tmp_file
- override_passget=true
- fi
-
- # Refresh mail count if the tempfile is older than $interval minutes.
- let interval=60*$TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL
- if shell_is_osx || shell_is_bsd; then
- last_update=$(stat -f "%m" ${tmp_file})
- elif shell_is_linux; then
- last_update=$(stat -c "%Y" ${tmp_file})
- fi
- if [ "$(( $(date +"%s") - ${last_update} ))" -gt "$interval" ] || [ "$override_passget" == true ]; then
- if [ -z "$TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_PASSWORD" ]; then # Get password from keychain if it isn't already set.
- if shell_is_osx; then
- __mac_keychain_get_pass "${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_USERNAME}@${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER}" "$TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER"
- else
- echo "Implement your own sexy password fetching mechanism here."
- return 1
- fi
- fi
-
- # Check for wget before proceeding.
- which wget 2>&1 > /dev/null
- if [ $? -ne 0 ]; then
- echo "This script requires wget." 1>&2
- return 1
- fi
-
- # Hide password from command line (visible with e.g. ps(1)).
- echo -e "user=${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_USERNAME}@${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER}\npassword=${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_PASSWORD}" > "$tmp_wgetrc"
- mail=$(wget -q -O - https://mail.google.com/a/${TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER}/feed/atom --config "$tmp_wgetrc" | grep fullcount | sed 's/<[^0-9]*>//g')
- rm "$tmp_wgetrc"
-
- if [ "$mail" != "" ]; then
- echo $mail > $tmp_file
- else
- return 1
- fi
- fi
-
- count=$(cat $tmp_file)
- echo "$count"
- return 0;
-}
-
-__count_maildir() {
- if [ ! -d "$TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX" ]; then
- return 1
- fi
-
- count=$(ls "$TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX" | wc -l)
-
- # Fix for mac, otherwise whitespace is left in output
- if shell_is_osx; then
- count=$(echo "$count" | sed -e "s/^[ \t]*//")
- fi
-
- echo "$count"
- return 0;
-}
-
-__count_mbox() {
- if [ ! -f "${TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX}" ]; then
- return 1
- fi
-
- # This matches the From_ line (see man 5 mbox) e.g.
- # From noreply@github.com Sun Dec 2 03:52:25 2012
- # See https://github.com/erikw/tmux-powerline/pull/91#issuecomment-10926053 for discussion.
- count=$(grep -c '^From [^[:space:]]\+ ... ... .. ..:..:.. ....$' ${TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX})
-
- echo "$count"
- return 0;
-}
-
-__mac_keychain_get_pass() {
- result="$(security 2>&1 > /dev/null find-internet-password -ga $1 -s $2)"
- if [ $? -eq 0 ]; then
- TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_PASSWORD=$(echo "$result" | sed -e 's/password: \"\(.*\)\"/\1/g')
- return 0
- fi
- return 1
-}
-
-__count_mailcheck() {
- count=$(mailcheck -f ${TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC} | awk '{ if (/new/) { print $3; exit } else { print 0; exit } }')
- if [ $? -eq 0 ]; then
- echo "$count"
- return 0
- fi
- return 1;
-}
diff --git a/segments/mailcount_apple_mail.script b/segments/mailcount_apple_mail.script
deleted file mode 100755
index fca8acb..0000000
--- a/segments/mailcount_apple_mail.script
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env osascript
-# Returns the number of unread mails in the INBOX of Apple Mail.
-
-tell application "System Events"
- set process_list to (name of every process)
-end tell
-
-if process_list contains "Mail" then
- tell application "Mail"
- if unread count of inbox > 0 then
- set a to unread count of inbox
- end if
- end tell
-end if
diff --git a/segments/now_playing.sh b/segments/now_playing.sh
deleted file mode 100755
index 6fdf251..0000000
--- a/segments/now_playing.sh
+++ /dev/null
@@ -1,274 +0,0 @@
-# Print current playing song in your music player of choice.
-
-source "${TMUX_POWERLINE_DIR_LIB}/text_roll.sh"
-
-TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN_DEFAULT="40"
-TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD_DEFAULT="trim"
-TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED_DEFAULT="2"
-TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST_DEFAULT="localhost"
-TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT_DEFAULT="6600"
-TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD_DEFAULT="30"
-TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT_DEFAULT="%artist% - %title%"
-TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR_DEFAULT="♫"
-
-generate_segmentrc() {
- read -d '' rccontents << EORC
-# Music player to use. Can be any of {audacious, banshee, cmus, itunes, lastfm, mocp, mpd, mpd_simple, pithos, rdio, rhythmbox, spotify, spotify_wine}.
-export TMUX_POWERLINE_SEG_NOW_PLAYING_MUSIC_PLAYER=""
-# Maximum output length.
-export TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN="${TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN_DEFAULT}"
-# How to handle too long strings. Can be {trim, roll}.
-export TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD="${TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD_DEFAULT}"
-# Charcters per second to roll if rolling trim method is used.
-export TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED="${TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED_DEFAULT}"
-
-# Hostname for MPD server in the format "[password@]host"
-export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST="${TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST_DEFAULT}"
-# Port the MPD server is running on.
-export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT="${TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT_DEFAULT}"
-# Song display format for mpd_simple. See mpc(1) for delimiters.
-export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT="${TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT_DEFAULT}"
-
-# Username for Last.fm if that music player is used.
-export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_USERNAME=""
-# How often in seconds to update the data from last.fm.
-export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD="${TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD_DEFAULT}"
-# Fancy char to display before now playing track
-export TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR="${TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR_DEFAULT}"
-EORC
- echo "$rccontents"
-}
-
-run_segment() {
- __process_settings
-
- if [ -z "$TMUX_POWERLINE_SEG_NOW_PLAYING_MUSIC_PLAYER" ]; then
- return 1
- fi
-
- local np
- case "$TMUX_POWERLINE_SEG_NOW_PLAYING_MUSIC_PLAYER" in
- "audacious") np=$(__np_audacious) ;;
- "banshee") np=$(__np_banshee) ;;
- "cmus") np=$(__np_cmus) ;;
- "itunes") np=$(__np_itunes) ;;
- "lastfm") np=$(__np_lastfm) ;;
- "mocp") np=$(__np_mocp) ;;
- "mpd") np=$(__np_mpd) ;;
- "mpd_simple") np=$(__np_mpd_simple) ;;
- "pithos") np=$(__np_pithos) ;;
- "rdio") np=$(__np_rdio) ;;
- "rhythmbox") np=$(__np_rhythmbox) ;;
- "spotify") np=$(__np_spotify) ;;
- "spotify_wine") np=$(__np_spotify_native) ;;
- *)
- echo "Unknown music player type [${TMUX_POWERLINE_SEG_NOW_PLAYING_MUSIC_PLAYER}]";
- return 1
- esac
- local exitcode="$?"
- if [ "${exitcode}" -ne 0 ]; then
- return ${exitcode}
- fi
- if [ -n "$np" ]; then
- case "$TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD" in
- "roll")
- np=$(roll_text "${np}" ${TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN} ${TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED_DEFAULT})
- ;;
- "trim")
- np=${np:0:TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN}
- ;;
- esac
- echo "${TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR} ${np}"
- fi
- return 0
-}
-
-__process_settings() {
- if [ -z "$TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN" ]; then
- export TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN="${TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD" ]; then
- export TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD="${TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED" ]; then
- export TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED="${TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST" ]; then
- export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST="${TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT" ]; then
- export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT="${TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT" ]; then
- export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT="${TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD" ]; then
- export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD="${TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR" ]; then
- export TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR="${TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR_DEFAULT}"
- fi
-}
-
-__np_mpd() {
- cd "$TMUX_POWERLINE_DIR_SEGMENTS"
-
- if [ ! -x "np_mpd" ]; then
- make clean np_mpd &>/dev/null
- fi
-
- if [ ! -x "np_mpd" ]; then
- return 2
- fi
-
- np=$(MPD_HOST="$TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST" MPD_PORT="$TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT" ./np_mpd)
- echo "$np"
-}
-
-__np_mpd_simple() {
- np=$(MPD_HOST="$TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST" MPD_PORT="$TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT" mpc current -f "$TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT" 2>&1)
- if [ $? -eq 0 ] && [ -n "$np" ]; then
- mpc | grep "paused" > /dev/null
- if [ $? -eq 0 ]; then
- return 1
- fi
- echo "$np"
- fi
-}
-
-
-__np_audacious() {
- audacious_pid=$(pidof audacious)
- if [ -n "$audacious_pid" ]; then
- if $(audtool playback-playing); then
- np=$(audtool current-song)
- echo "$np"
- fi
- fi
-}
-
-__np_banshee() {
- banshee_pid=$(pidof banshee)
- if [ -n "$banshee_pid" ]; then
- banshee_status=$(banshee --query-current-state 2> /dev/null)
- if [[ "$banshee_status" == "current-state: playing" ]]; then
- np=$(banshee --query-artist --query-title | cut -d ":" -f2 | sed -e 's/ *$//g' -e 's/^ *//g'| sed -e ':a;N;$!ba;s/\n/ - /g' )
- echo "$np"
- fi
- fi
-}
-
-__np_cmus() {
- #cmus-remote returns EXIT_FAILURE/EXIT_SUCCESS depending on whether or not cmus is running.
- if cmus-remote -Q > /dev/null 2>&1; then
- status=$(cmus-remote -Q | grep "status" | cut -d ' ' -f 2)
- artist=$(cmus-remote -Q | grep -m 1 "artist" | cut -d ' ' -f 3-)
- title=$(cmus-remote -Q | grep "title" | cut -d ' ' -f 3-)
- #The lines below works fine. Just uncomment them and add them
- # in np below if you want the track number or album name.
- #tracknumber=$(cmus-remote -Q | grep "tracknumber" | cut -d ' ' -f 3)
- #album=$(cmus-remote -Q | grep "album" | cut -d ' ' -f 3-)
-
- np=$(echo "${artist} - ${title}")
-
- if [ "$status" == "playing" ]; then
- echo "$np"
- fi
- fi
-}
-
-__np_itunes() {
- [ ! shell_is_osx ] && return 1
- np=$(${TMUX_POWERLINE_DIR_SEGMENTS}/np_itunes.script)
- echo "$np"
-}
-
-__np_lastfm() {
- local tmp_file="${TMUX_POWERLINE_DIR_TEMPORARY}/np_lastfm.txt"
- if [ -f "$tmp_file" ]; then
- if shell_is_osx || shell_is_bsd; then
- last_update=$(stat -f "%m" ${tmp_file})
- elif shell_is_linux; then
- last_update=$(stat -c "%Y" ${tmp_file})
- fi
- time_now=$(date +%s)
-
- up_to_date=$(echo "(${time_now}-${last_update}) < ${TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD}" | bc)
- if [ "$up_to_date" -eq 1 ]; then
- np=$(cat ${tmp_file})
- fi
- fi
-
- if [ -z "$np" ]; then
- np=$(curl --max-time 2 -s http://ws.audioscrobbler.com/1.0/user/${TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_USERNAME}/recenttracks.txt | head -n 1 | sed -e 's/^[0-9]*,//' | sed 's/\xe2\x80\x93/-/')
- if [ "$?" -eq "0" ] && [ -n "$np" ]; then
- echo "${np}" > $tmp_file
- fi
- fi
- echo "$np"
-}
-
-__np_pithos() {
- if [ "$(dbus-send --reply-timeout=10 --print-reply --dest=net.kevinmehall.Pithos /net/kevinmehall/Pithos net.kevinmehall.Pithos.IsPlaying 2>/dev/null | grep boolean | cut -d' ' -f5)" == "true" ]; then
- np=$(${TMUX_POWERLINE_DIR_SEGMENTS}/np_pithos.py)
- echo "$np"
- fi
-}
-
-__np_mocp() {
- mocp_pid=$(pidof mocp)
- if [ -n "$mocp_pid" ]; then
- np=$(mocp -i | grep ^Title | sed "s/^Title://")
- mocp_paused=$(mocp -i | grep ^State | sed "s/^State: //")
- if [ -n "$np" -a "$mocp_paused" != "PAUSE" ]; then
- echo "$np"
- fi
- fi
-}
-
-__np_rdio() {
- [ ! shell_is_osx ] && return 1
- np=$(osascript ${TMUX_POWERLINE_DIR_SEGMENTS}/np_rdio_mac.script)
- echo "$np"
-}
-
-__np_rhythmbox() {
- rhythmbox_pid=$(pidof rhythmbox)
- if [ -n "$rhythmbox_pid" ]; then
- np=$(rhythmbox-client --no-start --print-playing) # Does not tell if the music is playing or paused.
- rhythmbox_paused=$(xwininfo -root -tree | grep "$np" | sed "s/${np}//;s/ //g" | cut -f2 -d '"')
- # TODO I cant produce the output "Not playing", using rhythmbox 2.97.
- #STATUS=$(rhythmbox-client --no-start --print-playing)
- if [[ "$rhythmbox_paused" != "(Paused)" ]]; then
- echo "$np"
- fi
- fi
-}
-
-__np_spotify() {
- if shell_is_linux; then
- metadata=$(dbus-send --reply-timeout=42 --print-reply --dest=org.mpris.MediaPlayer2.spotify / org.freedesktop.MediaPlayer2.GetMetadata 2>/dev/null)
- if [ "$?" -eq 0 ] && [ -n "$metadata" ]; then
- # TODO how do one express this with dbus-send? It works with qdbus but the problem is that it's probably not as common as dbus-send.
- state=$(qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player PlaybackStatus)
- if [[ $state == "Playing" ]]; then
- artist=$(echo "$metadata" | grep -PA2 "string\s\"xesam:artist\"" | tail -1 | grep -Po "(?<=\").*(?=\")")
- track=$(echo "$metadata" | grep -PA1 "string\s\"xesam:title\"" | tail -1 | grep -Po "(?<=\").*(?=\")")
- np=$(echo "${artist} - ${track}")
- fi
- fi
- elif shell_is_osx; then
- np=$(${TMUX_POWERLINE_DIR_SEGMENTS}/np_spotify_mac.script)
- fi
- echo "$np"
-}
-
-__np_spotify_wine() {
- [ ! shell_is_linux ] && return 1
- spotify_id=$(xwininfo -root -tree | grep '("spotify' | cut -f1 -d'"' | sed 's/ //g')
- echo $spotify_id
- if [ -n "$spotify_id" ]; then
- np=$(xwininfo -id "$spotify_id" | grep "xwininfo.*Spotify -" | grep -Po "(?<=\"Spotify - ).*(?=\"$)")
- echo "$np"
- fi
-}
diff --git a/segments/np_itunes.script b/segments/np_itunes.script
deleted file mode 100755
index 8ac66bd..0000000
--- a/segments/np_itunes.script
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env osascript
-# Returns the current playing song in iTunes for OSX
-
-tell application "System Events"
- set process_list to (name of every process)
-end tell
-
-if process_list contains "iTunes" then
- tell application "iTunes"
- if player state is playing then
- set track_name to name of current track
- set artist_name to artist of current track
- # set album_name to album of current track
- set trim_length to 40
- set now_playing to artist_name & " - " & track_name
- if length of now_playing is less than trim_length then
- set now_playing_trim to now_playing
- else
- set now_playing_trim to characters 1 thru trim_length of now_playing as string
- end if
- end if
- end tell
-end if
-
diff --git a/segments/np_mpd.c b/segments/np_mpd.c
deleted file mode 100644
index 97c4a6a..0000000
--- a/segments/np_mpd.c
+++ /dev/null
@@ -1,179 +0,0 @@
-#include <stdbool.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <mpd/client.h>
-
-#ifdef DEBUG
- #define DO_DEBUG DEBUG
-#else
- #define DO_DEBUG 0
-#endif
-#define DEBUG_PRINTF(...) do{ if (DO_DEBUG) { printf(__VA_ARGS__);} } while(0)
-
-/* Output the current song if MPD is in a playing state. The connection password, host and port is
- * specified like for mpc with environment variables
- * MPD_HOST=[password@]host
- * MPD_PORT=port
- * If they are empty they defaults to localhost on port 6600.
- */
-int main(int argc, const char *argv[])
-{
- char *mpd_host = NULL;
- char *mpd_password = NULL;
- unsigned int mpd_port = 0;
-
- char *mpd_host_m = NULL;
- char *mpd_password_m = NULL;
-
- const char *mpd_host_str = getenv("MPD_HOST");
- if (mpd_host_str == NULL || strlen(mpd_host_str) == 0) {
- DEBUG_PRINTF("No envvar MPD_HOST set or empty. Using default value (localhost).\n");
- mpd_host = "localhost";
- } else {
- size_t mpd_host_len = strlen(mpd_host_str);
- char mpd_host_env[mpd_host_len + 1];
- strncpy(mpd_host_env, mpd_host_str, mpd_host_len);
- mpd_host_env[mpd_host_len] = '\0';
-
- char *pch = strtok(mpd_host_env, "@");
- char *first = NULL;
- char *second = NULL;
- if (pch != NULL) {
- first = pch;
- }
- pch = strtok(NULL, "@");
- if (pch != NULL) {
- second = pch;
- }
-
- if (first != NULL && second != NULL) {
- DEBUG_PRINTF("%s - %s\n", first, second);
- size_t first_len = strlen(first);
- size_t second_len = strlen(second);
- mpd_password_m = (char *) malloc(first_len + 1);
- mpd_host_m= (char *) malloc(second_len + 1);
- if (mpd_password_m == NULL || mpd_host_m == NULL) {
- DEBUG_PRINTF("Failed alloc password/host.\n");
- return EXIT_FAILURE;
- }
- strncpy(mpd_password_m, first, first_len);
- mpd_password_m[first_len] = '\0';
- strncpy(mpd_host_m, second, second_len);
- mpd_host_m[second_len] = '\0';
- } else if (first != NULL) {
- DEBUG_PRINTF("%s\n", first);
- size_t first_len = strlen(first);
- mpd_host_m = (char *) malloc(first_len + 1);
- if (mpd_host_m == NULL ) {
- DEBUG_PRINTF("Failed alloc host.\n");
- return EXIT_FAILURE;
- }
- strncpy(mpd_host_m, first, first_len);
- mpd_host_m[first_len] = '\0';
- }
- }
-
- if (mpd_host_m != NULL) {
- mpd_host = mpd_host_m;
- }
-
- if (mpd_password_m != NULL) {
- mpd_password = mpd_password_m;
- }
-
- const char *mpd_port_env = getenv("MPD_PORT");
- if (mpd_port_env == NULL || strlen(mpd_port_env) == 0) {
- DEBUG_PRINTF("No envvar MPD_PORT set or empty. Using default value (6600).\n");
- mpd_port = 6600;
- } else {
- int mpd_port_m = atoi(mpd_port_env);
- if (mpd_port_m == 0) {
- DEBUG_PRINTF("Could not convert MPD_PORT to int.\n");
- return EXIT_FAILURE;
- } else if (mpd_port_m < 0) {
- DEBUG_PRINTF("Negative port?!\n");
- return EXIT_FAILURE;
- } else {
- mpd_port = mpd_port_m;
- DEBUG_PRINTF("Using port %i\n", mpd_port);
- }
- }
-
-
- struct mpd_connection *mpd_connection = mpd_connection_new(mpd_host, mpd_port, 1000);
- if (mpd_connection == NULL) {
- DEBUG_PRINTF("%s\n", "Could Not connect");
- return EXIT_FAILURE;
- }
-
- if (mpd_password != NULL) {
- bool authenticated = mpd_run_password(mpd_connection, mpd_password);
- if (!authenticated) {
- DEBUG_PRINTF("Failed to authenticate.\n");
- return EXIT_FAILURE;
- }
- }
-
- free(mpd_host_m);
- free(mpd_password_m);
-
- bool sent_status = mpd_send_status(mpd_connection);
- if (!sent_status) {
- DEBUG_PRINTF("Could not send status request.");
- return EXIT_FAILURE;
- }
- struct mpd_status *mpd_status = mpd_recv_status(mpd_connection);
- if (mpd_status == NULL) {
- DEBUG_PRINTF("Could not get mpd status.\n");
- return EXIT_FAILURE;
- }
-
- enum mpd_state mpd_state = mpd_status_get_state(mpd_status);
- DEBUG_PRINTF("State: ");
- if (mpd_state == MPD_STATE_PLAY) {
- DEBUG_PRINTF("Playing.");
- } else if (mpd_state == MPD_STATE_PAUSE) {
- DEBUG_PRINTF("Paused.");
- } else if (mpd_state == MPD_STATE_UNKNOWN) {
- DEBUG_PRINTF("Unknown state.");
- } else if (mpd_state == MPD_STATE_STOP) {
- DEBUG_PRINTF("Stopped.");
- }
- DEBUG_PRINTF("\n");
-
- if (mpd_state != MPD_STATE_PLAY) {
- // Nothing to do.
- mpd_status_free(mpd_status);
- mpd_connection_free(mpd_connection);
- return EXIT_SUCCESS;
- }
-
- int song_id = mpd_status_get_song_id(mpd_status);
- DEBUG_PRINTF("songid = %i\n", song_id);
-
- mpd_status_free(mpd_status);
-
- struct mpd_song *song = mpd_run_get_queue_song_id(mpd_connection, song_id);
- if (song == NULL) {
- DEBUG_PRINTF("Could not get song.\n");
- return EXIT_FAILURE;
- }
-
- const char *song_artist = mpd_song_get_tag(song, MPD_TAG_ARTIST, 0);
- if (song_artist == NULL) {
- DEBUG_PRINTF("Could not get song artist.");
- return EXIT_FAILURE;
- }
-
- const char *song_title = mpd_song_get_tag(song, MPD_TAG_TITLE, 0);
- if (song_title == NULL) {
- DEBUG_PRINTF("Could not get song title.");
- return EXIT_FAILURE;
- }
- printf("%s - %s\n", song_artist, song_title);
-
- mpd_song_free(song);
- mpd_connection_free(mpd_connection);
- return EXIT_SUCCESS;
-}
diff --git a/segments/np_pithos.py b/segments/np_pithos.py
deleted file mode 100755
index 9d022e6..0000000
--- a/segments/np_pithos.py
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env python
-import dbus
-
-pithos_bus = dbus.SessionBus()
-
-pithos = pithos_bus.get_object('net.kevinmehall.Pithos', '/net/kevinmehall/Pithos')
-props = pithos.get_dbus_method('GetCurrentSong', 'net.kevinmehall.Pithos')
-
-print props()["artist"] + " - " + props()["title"]
diff --git a/segments/np_rdio_mac.script b/segments/np_rdio_mac.script
deleted file mode 100755
index d46bd0f..0000000
--- a/segments/np_rdio_mac.script
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env osascript
-# Returns the current playing song in Rdio for OS X.
-
-tell application "System Events"
- set process_list to (name of every process)
-end tell
-
-if process_list contains "Rdio" then
- tell application "Rdio"
- if player state is playing then
- set track_name to name of current track
- set artist_name to artist of current track
- set album_name to album of current track
- set now_playing to artist_name & " - " & track_name
- # Uncomment if Album name is wanted
- #set now_playing to now_playing & " - " & album_name
- end if
- end tell
-end if
-
diff --git a/segments/np_spotify_mac.script b/segments/np_spotify_mac.script
deleted file mode 100755
index 91fbb63..0000000
--- a/segments/np_spotify_mac.script
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env osascript
-# Returns the current playing song in Spotify for OSX
-
-tell application "System Events"
- set process_list to (name of every process)
-end tell
-
-if process_list contains "Spotify" then
- tell application "Spotify"
- if player state is playing then
- set track_name to name of current track
- set artist_name to artist of current track
- #set album_name to album of current track
- set trim_length to 40
- set now_playing to artist_name & " - " & track_name
- if length of now_playing is less than trim_length then
- set now_playing_trim to now_playing
- else
- set now_playing_trim to characters 1 thru trim_length of now_playing as string
- end if
- end if
- end tell
-end if
diff --git a/segments/pwd.sh b/segments/pwd.sh
deleted file mode 100755
index 2499762..0000000
--- a/segments/pwd.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-# Print the current working directory (trimmed to max length).
-# NOTE The trimming code's stolen from the web. Courtesy to who ever wrote it.
-
-# Source lib to get the function get_tmux_pwd
-source "${TMUX_POWERLINE_DIR_LIB}/tmux_adapter.sh"
-
-TMUX_POWERLINE_SEG_PWD_MAX_LEN_DEFAULT="40"
-
-generate_segmentrc() {
- read -d '' rccontents << EORC
-# Maximum length of output.
-export TMUX_POWERLINE_SEG_PWD_MAX_LEN="${TMUX_POWERLINE_SEG_PWD_MAX_LEN_DEFAULT}"
-EORC
- echo "$rccontents"
-}
-
-__process_settings() {
- if [ -z "$TMUX_POWERLINE_SEG_PWD_MAX_LEN" ]; then
- export TMUX_POWERLINE_SEG_PWD_MAX_LEN="${TMUX_POWERLINE_SEG_PWD_MAX_LEN_DEFAULT}"
- fi
-}
-
-run_segment() {
- __process_settings
- # Truncate from the left.
- tcwd=$(get_tmux_cwd)
- trunc_symbol="···"
- dir=${tcwd##*/}
- local max_len="$TMUX_POWERLINE_SEG_PWD_MAX_LEN"
- max_len=$(( ( max_len < ${#dir} ) ? ${#dir} : max_len ))
- ttcwd=${tcwd/#$HOME/\~}
- pwdoffset=$(( ${#ttcwd} - max_len ))
- if [ ${pwdoffset} -gt "0" ]; then
- ttcwd=${ttcwd:$pwdoffset:$max_len}
- ttcwd=${trunc_symbol}/${ttcwd#*/}
- fi
- echo "$ttcwd"
- return 0
-}
diff --git a/segments/rainbarf.sh b/segments/rainbarf.sh
deleted file mode 100755
index a9c6c1f..0000000
--- a/segments/rainbarf.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-# Print out Memory and CPU using https://github.com/creaktive/rainbarf
-
-run_segment() {
- type rainbarf >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
-
- # Customize via ~/.rainbarf.conf
- stats=$(rainbarf --tmux)
- if [ -n "$stats" ]; then
- echo "$stats";
- fi
- return 0
-}
diff --git a/segments/time.sh b/segments/time.sh
deleted file mode 100755
index e307399..0000000
--- a/segments/time.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-# Prints the current time.
-
-TMUX_POWERLINE_SEG_TIME_FORMAT_DEFAULT="%H:%M"
-
-generate_segmentrc() {
- read -d '' rccontents << EORC
-# date(1) format for the time. Americans might want to have "%I:%M %p".
-export TMUX_POWERLINE_SEG_TIME_FORMAT="${TMUX_POWERLINE_SEG_TIME_FORMAT_DEFAULT}"
-EORC
- echo "$rccontents"
-}
-
-__process_settings() {
- if [ -z "$TMUX_POWERLINE_SEG_TIME_FORMAT" ]; then
- export TMUX_POWERLINE_SEG_TIME_FORMAT="${TMUX_POWERLINE_SEG_TIME_FORMAT_DEFAULT}"
- fi
-}
-
-run_segment() {
- __process_settings
- date +"$TMUX_POWERLINE_SEG_TIME_FORMAT"
- return 0
-}
diff --git a/segments/tmux_mem_cpu_load.sh b/segments/tmux_mem_cpu_load.sh
deleted file mode 100755
index c05be3e..0000000
--- a/segments/tmux_mem_cpu_load.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-# Print out Memory, cpu and load using https://github.com/thewtex/tmux-mem-cpu-load
-
-run_segment() {
- type tmux-mem-cpu-load >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
-
- stats=$(tmux-mem-cpu-load)
- if [ -n "$stats" ]; then
- echo "$stats";
- fi
- return 0
-}
diff --git a/segments/tmux_session_info.sh b/segments/tmux_session_info.sh
deleted file mode 100755
index fbfddc2..0000000
--- a/segments/tmux_session_info.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-# Prints tmux session info.
-# Assuems that [ -n "$TMUX"].
-
-run_segment() {
- tmux display-message -p '#S'
- return 0
-}
diff --git a/segments/uptime.sh b/segments/uptime.sh
deleted file mode 100755
index 276cfbe..0000000
--- a/segments/uptime.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-# Prints the uptime.
-
-run_segment() {
- uptime | grep -PZo "(?<=up )[^,]*"
- return 0
-}
diff --git a/segments/utc_time.sh b/segments/utc_time.sh
deleted file mode 100755
index 4da6149..0000000
--- a/segments/utc_time.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-# Prints the current time in UTC.
-
-run_segment() {
- date -u +"%H:%M"
- return 0
-}
diff --git a/segments/vcs_branch.sh b/segments/vcs_branch.sh
deleted file mode 100755
index f8d973d..0000000
--- a/segments/vcs_branch.sh
+++ /dev/null
@@ -1,90 +0,0 @@
-# Prints current branch in a VCS directory if it could be detected.
-
-# Source lib to get the function get_tmux_pwd
-source "${TMUX_POWERLINE_DIR_LIB}/tmux_adapter.sh"
-
-branch_symbol="⭠"
-git_colour="5"
-svn_colour="220"
-hg_colour="45"
-
-
-run_segment() {
- 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##*/}
-
- echo -n "#[fg=colour${git_colour}]${branch_symbol} #[fg=colour${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}" | egrep -o '[^/]+$')
- echo "#[fg=colour${svn_colour}]${branch_symbol} #[fg=colour${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)
- echo "#[fg=colour${hg_colour}]${branch_symbol} #[fg=colour${TMUX_POWERLINE_CUR_SEGMENT_FG}]${branch}"
-}
diff --git a/segments/vcs_compare.sh b/segments/vcs_compare.sh
deleted file mode 100755
index 988751c..0000000
--- a/segments/vcs_compare.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-# This checks if the current branch is ahead of
-# or behind the remote branch with which it is tracked
-
-# Source lib to get the function get_tmux_pwd
-source "${TMUX_POWERLINE_DIR_LIB}/tmux_adapter.sh"
-
-flat_symbol="⤚"
-
-run_segment() {
- tmux_path=$(get_tmux_cwd)
- cd "$tmux_path"
- stats=""
- if [ -n "${git_stats=$(__parse_git_stats)}" ]; then
- stats="$git_stats"
- elif [ -n "${svn_stats=$(__parse_svn_stats)}" ]; then
- stats="$svn_stats"
- elif [ -n "${hg_stats=$(__parse_hg_stats)}" ]; then
- stats="$hg_stats"
- fi
-
- if [ -n "$stats" ]; then
- echo "${stats}"
- fi
- return 0
-}
-
-__parse_git_stats() {
- type git >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
-
- # check if git
- [[ -z $(git rev-parse --git-dir 2> /dev/null) ]] && return
-
- tracking_branch=$(git for-each-ref --format='%(upstream:short)' $(git symbolic-ref -q HEAD))
-
- # creates global variables $1 and $2 based on left vs. right tracking
- set -- $(git rev-list --left-right --count $tracking_branch...HEAD)
-
- behind=$1
- ahead=$2
-
- # print out the information
- if [[ $behind -gt 0 ]] ; then
- local ret="↓ $behind"
- fi
- if [[ $ahead -gt 0 ]] ; then
- local ret="${ret}↑ $ahead"
- fi
- echo "$ret"
-}
-
-__parse_hg_stats() {
- type hg >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
- # not yet implemented
-}
-
-__parse_svn_stats() {
- type svn >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
- # not yet implemented
-}
diff --git a/segments/vcs_modified.sh b/segments/vcs_modified.sh
deleted file mode 100755
index ebec1f4..0000000
--- a/segments/vcs_modified.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-# This checks if the current branch is ahead of
-# or behind the remote branch with which it is tracked
-
-# Source lib to get the function get_tmux_pwd
-source "${TMUX_POWERLINE_DIR_LIB}/tmux_adapter.sh"
-
-mod_symbol="﹢"
-
-run_segment() {
- tmux_path=$(get_tmux_cwd)
- cd "$tmux_path"
-
- stats=""
- if [ -n "${git_stats=$(__parse_git_stats)}" ]; then
- stats="$git_stats"
- elif [ -n "${svn_stats=$(__parse_svn_stats)}" ]; then
- stats="$svn_stats"
- elif [ -n "${hg_stats=$(__parse_hg_stats)}" ]; then
- stats="$hg_stats"
- fi
- if [[ -n "$stats" && $stats -gt 0 ]]; then
- echo "${mod_symbol}${stats}"
- fi
-}
-
-__parse_git_stats(){
- type git >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
-
- # check if git
- [[ -z $(git rev-parse --git-dir 2> /dev/null) ]] && return
-
- # return the number of staged items
- staged=$(git ls-files --modified | wc -l)
- echo $staged
-}
-__parse_hg_stats(){
- type hg >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
- # not yet implemented
-}
-__parse_svn_stats() {
- 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_wcroot=$(echo "${svn_info}" | sed -ne 's#^Working Copy Root Path: ##p')
- local svn_st=$(cd "${svn_wcroot}"; svn st)
- local modified=$(echo "${svn_st}" | egrep '^M' | wc -l)
- local conflicted=$(echo "${svn_st}" | egrep '^!?\s*C' | wc -l)
-
- #print
- if [[ $modified -gt 0 ]] ; then
- local ret="#[fg=colour${TMUX_POWERLINE_CUR_SEGMENT_FG}]±${modified}"
- fi
- if [[ $conflicted -gt 0 ]] ; then
- local ret="#[fg=colour${svn_colour}]ϟ${conflicted} ${ret}"
- fi
- echo "${ret}"
-}
diff --git a/segments/vcs_others.sh b/segments/vcs_others.sh
deleted file mode 100755
index 0911468..0000000
--- a/segments/vcs_others.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-# This checks if the current branch is ahead of or behind the remote branch with which it is tracked.
-
-# Source lib to get the function get_tmux_pwd
-source "${TMUX_POWERLINE_DIR_LIB}/tmux_adapter.sh"
-
-other_symbol="⋯ "
-
-run_segment() {
- tmux_path=$(get_tmux_cwd)
- cd "$tmux_path"
- stats=""
- if [ -n "${git_stats=$(__parse_git_stats)}" ]; then
- stats="$git_stats"
- elif [ -n "${svn_stats=$(__parse_svn_stats)}" ]; then
- stats="$svn_stats"
- elif [ -n "${hg_stats=$(__parse_hg_stats)}" ]; then
- stats="$hg_stats"
- fi
- if [[ -n "$stats" && $stats -gt 0 ]]; then
- echo "${other_symbol}${stats}"
- fi
- return 0
-}
-
-__parse_git_stats(){
- type git >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
-
- # check if git
- [[ -z $(git rev-parse --git-dir 2> /dev/null) ]] && return
-
- # return the number of staged items
- other=$(git ls-files --others --exclude-standard | wc -l)
- echo $other
-}
-__parse_hg_stats(){
- type svn >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
- # not yet implemented
-}
-__parse_svn_stats(){
- type hg >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
- # not yet implemented
-}
diff --git a/segments/vcs_revision.sh b/segments/vcs_revision.sh
deleted file mode 100755
index 0ff0f74..0000000
--- a/segments/vcs_revision.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-# This prints the vcs revision in the working directory
-# currently only used in SVN
-
-# Source lib to get the function get_tmux_pwd
-source "${TMUX_POWERLINE_DIR_LIB}/tmux_adapter.sh"
-
-run_segment() {
- tmux_path=$(get_tmux_cwd)
- cd "$tmux_path"
-
- stats=""
- if [[ -n "${svn_stats=$(__parse_svn_stats)}" ]]; then
- stats="$svn_stats"
- elif [[ -n "${hg_stats=$(__parse_hg_stats)}" ]]; then
- stats="$hg_stats"
- fi
- if [[ -n "$stats" ]]; then
- echo "${stats}"
- fi
-}
-
-__parse_hg_stats(){
- type hg >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
- # not yet implemented
-}
-__parse_svn_stats(){
- 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_ref=$(echo "${svn_info}" | sed -ne 's#^Revision: ##p')
-
- echo "r${svn_ref}"
-}
diff --git a/segments/vcs_staged.sh b/segments/vcs_staged.sh
deleted file mode 100755
index 8818b3c..0000000
--- a/segments/vcs_staged.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-# This checks if the current branch is ahead of
-# or behind the remote branch with which it is tracked
-
-# Source lib to get the function get_tmux_pwd
-source "${TMUX_POWERLINE_DIR_LIB}/tmux_adapter.sh"
-
-staged_symbol="⊕ "
-
-run_segment() {
- tmux_path=$(get_tmux_cwd)
- cd "$tmux_path"
-
- stats=""
- if [ -n "${git_stats=$(__parse_git_stats)}" ]; then
- stats="$git_stats"
- elif [ -n "${svn_stats=$(__parse_svn_stats)}" ]; then
- stats="$svn_stats"
- elif [ -n "${hg_stats=$(__parse_hg_stats)}" ]; then
- stats="$hg_stats"
- fi
- if [[ -n "$stats" && $stats -gt 0 ]]; then
- stats=$(echo $stats | sed -e "s/^[ \t]*//")
- echo "${staged_symbol}${stats}"
- fi
- return 0
-}
-
-
-__parse_git_stats(){
- type git >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
-
- # Check if git.
- [[ -z $(git rev-parse --git-dir 2> /dev/null) ]] && return
-
- # Return the number of staged items.
- staged=$(git diff --staged --name-status | wc -l)
- echo "$staged"
-}
-
-__parse_hg_stats(){
- type svn >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
- # not yet implemented
-}
-
-__parse_svn_stats(){
- type hg >/dev/null 2>&1
- if [ "$?" -ne 0 ]; then
- return
- fi
- # not yet implemented
-}
diff --git a/segments/wan_ip.sh b/segments/wan_ip.sh
deleted file mode 100755
index 811d100..0000000
--- a/segments/wan_ip.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-# Prints the WAN IP address. The result is cached and updated according to $update_period.
-
-run_segment() {
- local tmp_file="${TMUX_POWERLINE_DIR_TEMPORARY}/wan_ip.txt"
- local wan_ip
-
- if [ -f "$tmp_file" ]; then
- if shell_is_osx || shell_is_bsd; then
- stat >/dev/null 2>&1 && is_gnu_stat=false || is_gnu_stat=true
- if [ "$is_gnu_stat" == "true" ];then
- last_update=$(stat -c "%Y" ${tmp_file})
- else
- last_update=$(stat -f "%m" ${tmp_file})
- fi
- elif shell_is_linux || [ -z $is_gnu_stat]; then
- last_update=$(stat -c "%Y" ${tmp_file})
- fi
-
- time_now=$(date +%s)
- update_period=900
- up_to_date=$(echo "(${time_now}-${last_update}) < ${update_period}" | bc)
-
- if [ "$up_to_date" -eq 1 ]; then
- wan_ip=$(cat ${tmp_file})
- fi
- fi
-
- if [ -z "$wan_ip" ]; then
- wan_ip=$(curl --max-time 2 -s http://whatismyip.akamai.com/)
-
- if [ "$?" -eq "0" ]; then
- echo "${wan_ip}" > $tmp_file
- elif [ -f "${tmp_file}" ]; then
- wan_ip=$(cat "$tmp_file")
- fi
- fi
-
- if [ -n "$wan_ip" ]; then
- echo "ⓦ ${wan_ip}"
- fi
-
- return 0
-}
diff --git a/segments/weather.sh b/segments/weather.sh
deleted file mode 100755
index 74e352e..0000000
--- a/segments/weather.sh
+++ /dev/null
@@ -1,182 +0,0 @@
-# Prints the current weather in Celsius, Fahrenheits or lord Kelvins. The forecast is cached and updated with a period of $update_period.
-
-# The update period in seconds.
-update_period=600
-
-TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER_DEFAULT="yahoo"
-TMUX_POWERLINE_SEG_WEATHER_UNIT_DEFAULT="c"
-TMUX_POWERLINE_SEG_WEATHER_UPDATE_PERIOD_DEFAULT="600"
-if shell_is_bsd; then
- TMUX_POWERLINE_SEG_WEATHER_GREP_DEFAULT="/usr/local/bin/grep"
-else
- TMUX_POWERLINE_SEG_WEATHER_GREP_DEFAULT="grep"
-fi
-
-
-generate_segmentrc() {
- read -d '' rccontents << EORC
-# The data provider to use. Currently only "yahoo" is supported.
-export TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER="${TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER_DEFAULT}"
-# What unit to use. Can be any of {c,f,k}.
-export TMUX_POWERLINE_SEG_WEATHER_UNIT="${TMUX_POWERLINE_SEG_WEATHER_UNIT_DEFAULT}"
-# How often to update the weather in seconds.
-export TMUX_POWERLINE_SEG_WEATHER_UPDATE_PERIOD="${TMUX_POWERLINE_SEG_WEATHER_UPDATE_PERIOD_DEFAULT}"
-# Name of GNU grep binary if in PATH, or path to it.
-export TMUX_POWERLINE_SEG_WEATHER_GREP="${TMUX_POWERLINE_SEG_WEATHER_GREP_DEFAULT}"
-
-# Your location. Find a code that works for you:
-# 1. Go to Yahoo weather http://weather.yahoo.com/
-# 2. Find the weather for you location
-# 3. Copy the last numbers in that URL. e.g. "http://weather.yahoo.com/united-states/california/newport-beach-12796587/" has the numbers "12796587"
-export TMUX_POWERLINE_SEG_WEATHER_LOCATION="8691"
-EORC
- echo "$rccontents"
-}
-
-run_segment() {
- __process_settings
- local tmp_file="${TMUX_POWERLINE_DIR_TEMPORARY}/weather_yahoo.txt"
- local weather
- case "$TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER" in
- "yahoo") weather=$(__yahoo_weather) ;;
- *)
- echo "Unknown weather provider [${$TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER}]";
- return 1
- esac
- if [ -n "$weather" ]; then
- echo "$weather"
- fi
-}
-
-__process_settings() {
- if [ -z "$TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER" ]; then
- export TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER="${TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_WEATHER_UNIT" ]; then
- export TMUX_POWERLINE_SEG_WEATHER_UNIT="${TMUX_POWERLINE_SEG_WEATHER_UNIT_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_WEATHER_UPDATE_PERIOD" ]; then
- export TMUX_POWERLINE_SEG_WEATHER_UPDATE_PERIOD="${TMUX_POWERLINE_SEG_WEATHER_UPDATE_PERIOD_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_WEATHER_GREP" ]; then
- export TMUX_POWERLINE_SEG_WEATHER_GREP="${TMUX_POWERLINE_SEG_WEATHER_GREP_DEFAULT}"
- fi
- if [ -z "$TMUX_POWERLINE_SEG_WEATHER_LOCATION" ]; then
- echo "No weather location specified.";
- exit 8
- fi
-}
-
-__yahoo_weather() {
- degree=""
- if [ -f "$tmp_file" ]; then
- if shell_is_osx || shell_is_bsd; then
- last_update=$(stat -f "%m" ${tmp_file})
- elif shell_is_linux; then
- last_update=$(stat -c "%Y" ${tmp_file})
- fi
- time_now=$(date +%s)
-
- up_to_date=$(echo "(${time_now}-${last_update}) < ${update_period}" | bc)
- if [ "$up_to_date" -eq 1 ]; then
- __read_tmp_file
- fi
- fi
-
- if [ -z "$degree" ]; then
- weather_data=$(curl --max-time 4 -s "http://weather.yahooapis.com/forecastrss?w=${TMUX_POWERLINE_SEG_WEATHER_LOCATION}&u=${TMUX_POWERLINE_SEG_WEATHER_UNIT}")
- if [ "$?" -eq "0" ]; then
- error=$(echo "$weather_data" | grep "problem_cause\|DOCTYPE");
- if [ -n "$error" ]; then
- echo "error"
- exit 1
- fi
-
- # Assume latest grep is in PATH
- gnugrep="${TMUX_POWERLINE_SEG_WEATHER_GREP}"
-
- # <yweather:units temperature="F" distance="mi" pressure="in" speed="mph"/>
- unit=$(echo "$weather_data" | "$gnugrep" -PZo "<yweather:units [^<>]*/>" | sed 's/.*temperature="\([^"]*\)".*/\1/')
- condition=$(echo "$weather_data" | "$gnugrep" -PZo "<yweather:condition [^<>]*/>")
- # <yweather:condition text="Clear" code="31" temp="66" date="Mon, 01 Oct 2012 8:00 pm CST" />
- degree=$(echo "$condition" | sed 's/.*temp="\([^"]*\)".*/\1/')
- condition=$(echo "$condition" | sed 's/.*text="\([^"]*\)".*/\1/')
- # Pull the times for sunrise and sunset so we know when to change the day/night indicator
- # <yweather:astronomy sunrise="6:56 am" sunset="6:21 pm"/>
- sunrise=$(date -d"$(echo "$weather_data" | "$gnugrep" "yweather:astronomy" | sed 's/^\(.*\)sunset.*/\1/' | sed 's/^.*sunrise="\(.*m\)".*/\1/')" +%H%M)
- sunset=$(date -d"$(echo "$weather_data" | "$gnugrep" "yweather:astronomy" | sed 's/^.*sunset="\(.*m\)".*/\1/')" +%H%M)
- elif [ -f "${tmp_file}" ]; then
- __read_tmp_file
- fi
- fi
-
- if [ -n "$degree" ]; then
- if [ "$TMUX_POWERLINE_SEG_WEATHER_UNIT" == "k" ]; then
- degree=$(echo "${degree} + 273.15" | bc)
- fi
- condition_symbol=$(__get_condition_symbol "$condition" "$sunrise" "$sunset")
- echo "${condition_symbol} ${degree}°$(echo "$TMUX_POWERLINE_SEG_WEATHER_UNIT" | tr '[:lower:]' '[:upper:]')" | tee "${tmp_file}"
- fi
-}
-
-# Get symbol for condition. Available conditions: http://developer.yahoo.com/weather/#codes
-__get_condition_symbol() {
- local condition=$(echo "$1" | tr '[:upper:]' '[:lower:]')
- local sunrise="$2"
- local sunset="$3"
- case "$condition" in
- "sunny" | "hot")
- hourmin=$(date +%H%M)
- if [ "$hourmin" -ge "$sunset" -o "$hourmin" -le "$sunrise" ]; then
- #echo "☽"
- echo "☾"
- else
- #echo "☀"
- echo "☼"
- fi
- ;;
- "rain" | "mixed rain and snow" | "mixed rain and sleet" | "freezing drizzle" | "drizzle" | "light drizzle" | "freezing rain" | "showers" | "mixed rain and hail" | "scattered showers" | "isolated thundershowers" | "thundershowers" | "light rain with thunder" | "light rain" | "rain and snow")
- #echo "☂"
- echo "☔"
- ;;
- "snow" | "mixed snow and sleet" | "snow flurries" | "light snow showers" | "blowing snow" | "sleet" | "hail" | "heavy snow" | "scattered snow showers" | "snow showers" | "light snow" | "snow/windy" | "snow grains" | "snow/fog")
- #echo "☃"
- echo "❅"
- ;;
- "cloudy" | "mostly cloudy" | "partly cloudy" | "partly cloudy/windy")
- echo "☁"
- ;;
- "tornado" | "tropical storm" | "hurricane" | "severe thunderstorms" | "thunderstorms" | "isolated thunderstorms" | "scattered thunderstorms")
- #echo "⚡"
- echo "☈"
- ;;
- "dust" | "foggy" | "fog" | "haze" | "smoky" | "blustery" | "mist")
- #echo "♨"
- #echo "﹌"
- echo "〰"
- ;;
- "windy" | "fair/windy")
- #echo "⚐"
- echo "⚑"
- ;;
- "clear" | "fair" | "cold")
- hourmin=$(date +%H%M)
- if [ "$hourmin" -ge "$sunset" -o "$hourmin" -le "$sunrise" ]; then
- echo "☾"
- else
- echo "〇"
- fi
- ;;
- *)
- echo "?"
- ;;
- esac
-}
-
-__read_tmp_file() {
- if [ ! -f "$tmp_file" ]; then
- return
- fi
- cat "${tmp_file}"
- exit
-}
diff --git a/segments/xkb_layout.c b/segments/xkb_layout.c
deleted file mode 100644
index 7c94f96..0000000
--- a/segments/xkb_layout.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* xkb_layout
- * Description:
- * This program will connect to the X Server and print the id of the currently
- * active keyboard layout.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdbool.h>
-#include <X11/XKBlib.h>
-
-#ifdef DEBUG
- #define DO_DEBUG DEBUG
-#else
- #define DO_DEBUG 0
-#endif
-#define DEBUG_PRINTF(...) do{ if (DO_DEBUG) { printf(__VA_ARGS__);} } while(0)
-
-int main() {
- // Get X display
- char *displayName = "";
- int eventCode;
- int errorReturn;
- int major = XkbMajorVersion;
- int minor = XkbMinorVersion;;
- int reasonReturn;
- Display *_display = XkbOpenDisplay(displayName, &eventCode, &errorReturn,
- &major, &minor, &reasonReturn);
- bool error = false;
- switch (reasonReturn) {
- case XkbOD_BadLibraryVersion:
- DEBUG_PRINTF("Bad XKB library version.\n");
- error = true;
- break;
- case XkbOD_ConnectionRefused:
- DEBUG_PRINTF("Connection to X server refused.\n");
- error = true;
- break;
- case XkbOD_BadServerVersion:
- DEBUG_PRINTF("Bad X11 server version.\n");
- error = true;
- break;
- case XkbOD_NonXkbServer:
- DEBUG_PRINTF("XKB not present.\n");
- error = true;
- break;
- case XkbOD_Success:
- break;
- }
-
- if (error) {
- return EXIT_FAILURE;
- }
-
- // Get current state of keyboard.
- int _deviceId = XkbUseCoreKbd;
- XkbStateRec xkbState;
- XkbGetState(_display, _deviceId, &xkbState);
- // print the groupnumber, may be used with setxkbmap -query to get name
- // of current layout
- printf("%d\n", xkbState.group);
- return 0;
- return EXIT_SUCCESS;
-}
diff --git a/segments/xkb_layout.sh b/segments/xkb_layout.sh
deleted file mode 100755
index c8f38c1..0000000
--- a/segments/xkb_layout.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-# Print the currently used keyboard layout
-# This depends on a specifically developed program which prints the group id of
-# the currently used layout.
-# I developed the simple program myself with some guidance as I was unable to
-# find anything already developed.
-# Some people might suggest:
-# $ setxkbmod -query -v | awk -F "+" '{print $2}'
-# this will only work if you have set up XKB with a single layout which is true
-# for some.
-
-# This script will print the correct layout even if layout is set per window.
-# Exit if platform is not linux as this script is dependant on X11
-
-run_segment() {
- if ! shell_is_linux; then
- return 1
- fi
-
- cd "$TMUX_POWERLINE_DIR_SEGMENTS"
- if [ ! -x "xkb_layout" ]; then
- make clean xkb_layout &>/dev/null
- fi
-
- if [ -x ./xkb_layout ]; then
- cur_layout_nbr=$(($(./xkb_layout)+1));
- cur_layout=$(setxkbmap -query | grep layout | sed 's/layout:\s\+//g' | \
- awk -F ',' '{print $'$(echo "$cur_layout_nbr")'}')
- echo "⌨ $cur_layout"
- else
- return 1
- fi
-}