2019年12月12日
先日に引き続きリリース作業。12月に予定されていた大きなものは大方PRODに流れていったので、そろそろ仕事納めも近づいてきた感じがある。
帰宅して、森博嗣さんの笑わない数学者を読む。犀川創平の言葉の選び方と考え方が面白く、このシリーズは度々読み返してしまう。途中、算数の問題がでてきて1時間ほど挑戦してみたけどどうも解けない。明日また解いてみよう。
次に伴名練さんのなめらかな世界と、その敵を買って表題作を読む。世界設定を理解するのに少し時間がかかったけど、繊細さと終盤に一気に広がる情景のコントラストがとてもきれい。
pecoを使ったzshのhistory検索をもう少し便利にする
pecoを使うと,zshのhistoryをインクリメンタルサーチできるので便利.
[Mac][zsh]コマンドのインクリメンタルサーチツールpecoを使ってzshのhistory(Ctrl+r)をpeco表示 | Coffee Breakにプログラミング備忘録
でも,そのhisotryの中には,間違ったコマンドなんかもあって,そういうのをpecoの結果から引き当ててしまうと,コマンドは失敗するし,historyに失敗したコマンドが追加されてあまり良くない.
なので,historyに溜まっているコマンド列を数えて,多い順にソートして表示してやるようにした.
以下の設定を.zshrc内に記述
function peco-select-history() { local tac if which tac > /dev/null; then tac="tac" else tac="tail -r" fi BUFFER=$(\history -n 1 | \ eval $tac | \ sort | \ uniq -c | \ sort -r | \ sed -e 's/^[ ]*//g' | \ cut -d " " -f 2-100 | \ peco --query "$LBUFFER") CURSOR=$#BUFFER zle clear-screen } zle -N peco-select-history bindkey '^r' peco-select-history
調べてみると,uniqコマンドを使うと行の数も表示しながら重複した行をまとめてくれるらしいので,それを使ってソート.
sedとcutで,表示されている行数を削除してやるという方針で書いた.
terminalからWebauthに接続する
tmux-powerlineで複数のバッテリー残量表示をできるようにした
tmuxを使ってはいるもののそこまで設定をしていなかったので、これを機にいろいろと設定をすることにしました。
その中でtmux-powerlineの導入に少し手間取ったので、やったことをここにまとめます。
tmuxは1つの端末上で仮想端末を管理することのできるソフトです。
そして、tmux-powerlineはtmuxのステータスバーをカスタマイズすることができるプラグインです。
インストール方法では以下のサイトを見ながら行ったので、そちらを参考にするといいです。
本題
現在私の環境では、内蔵バッテリーの他に拡張バッテリーを使用しています。
しかしtmux-powerlineではバッテリー残量が1つしか表示してくれません。
バッテリー表示に関するスクリプトはtmux-powerline/segmentsの中にbattery.shがあります。
今回は、そこを書き換えることにしました。
複数のバッテリー表示に使ったもの
今回はacpiコマンドを用いて複数のバッテリー表示を行うことにしました。
acpiコマンドは、Debianの場合apt-getを用いることによってインストールすることができます。
$ apt-get install acpi
このコマンドによって出力されたものをcutコマンドを用いてバッテリー残量のみを切り取りました。
以下が新しく書いたbattery.shです。
HEART_FULL="♥" HEART_EMPTY="♡" run_segment() { output=$(__cutinate) if [ -n "$output" ]; then echo "$output" fi } __cutinate() { for i in `acpi | cut -f1 -d"%" | cut -f4 -d" "` do if test $i -gt 50; then #バッテリー残量が50%以下の場合はHEART_EMPTYを表示 echo -n $HEART_FULL else echo -n $HEART_EMPTY fi echo -n " $i% " done }
するとこのようにバッテリーが複数表示されたことがわかります。