タイトルに書いたものとかを取得/表示します.tmux-powerlineとかは使いません.
tmuxで扱えるように回りくどい書き方しているものもあります.
(音量はosascript -e (get volume settings)'s output volume
で取れたりとか)
#実験環境
Mac
iTerm2
tmux
#シェルで値を取得してみる
今回は
- IME
- 音量
- WiFiの信号強度
- WiFiのSSID
- バッテリー残量
- iTunesで再生されてるトラック名
を取りました.
##IME
/usr/libexec/PlistBuddy -c "Print AppleSelectedInputSources" ~/Library/Preferences/com.apple.HIToolbox.plist|grep -Eo 'Japanese|Roman'
見やすくするとこんな感じ
if /usr/libexec/PlistBuddy -c 'Print AppleSelectedInputSources' ~/Library/Preferences/com.apple.HIToolbox.plist|grep -Eo 'Japanese'>/dev/null; then echo 'あ'; else echo 'A'; fi
##音量
osascript -e 'get Volume settings'|tr ':,' '\n'|head -n 2|tail -n 1
##Wi-Fi信号強度(RSSI値)
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I|grep 'agrCtlRSSI:'|cut -d ' ' -f7
##Wi-FiのESSID
en0
部分は使用環境に合わせて変更してください
networksetup -getairportnetwork en0|tr ': ' '\n'|tail -n 1
##バッテリー残量
ioreg -l|grep CurrentCapacity|tr '= ' '\n'|tail -n 1
…だとmAhの値が出てきちゃうので,以下のコマンドでパーセント表示させます.(追記)
pmset -g batt|tr '\t;' '\n'|tail -n 3|head -n 1
##再生中の曲名
osascript -e 'tell application "iTunes"' -e 'the name of current track' -e 'end tell'
#status-lineに表示してみる
見栄えのためにemojify使ってます.
set -g status-right "#(if pmset -g batt|grep 'AC'>/dev/null; then emojify :electric_plug:; else emojify :battery:; fi):#(pmset -g batt|tr '\t;' '\n'|tail -n 3|head -n 1) #(if osascript -e 'get volume settings'|grep false>/dev/null; then emojify :sound:; else emojify :mute:; fi):#(osascript -e 'get Volume settings'|tr ':,' '\n'|head -n 2|tail -n 1) #(emojify :musical_note:):#(osascript -e 'tell application "iTunes"' -e 'the name of current track' -e 'end tell') #(emojify :signal_strength:):#(networksetup -getairportnetwork en1|tr ': ' '\n'|tail -n 1)(#(if [ `/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I|grep 'agrCtlRSSI:'|cut -d ' ' -f7` -gt -60 ]; then echo 強; elif [ `/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I|grep 'agrCtlRSSI:'|cut -d ' ' -f7` -gt -80 ]; then echo 中; else echo 弱; fi)) #(if /usr/libexec/PlistBuddy -c 'Print AppleSelectedInputSources' ~/Library/Preferences/com.apple.HIToolbox.plist|grep -Eo 'Japanese'>/dev/null; then echo 'あ'; else echo 'A'; fi) %m/%d(%a)%H:%M"
長いなぁ
#参考