Kawaii Terminal
ターミナルを可愛く便利にしてストレスレス
ある日、後輩が特殊フォントまで入れてターミナルをかっこよくクールにカスタマイズしているのをみて、私もやってみたくなりました
わたしも先輩としてのプライドがあります。その辺のちょっとしたプラグインに負けたくないのでフルスクラッチです。
今回作成したファイルとプログラムをgitにあげました
今回実装した機能一覧
- 任意の文字列の表示
- 空きメモリの表示
- CPU使用率
- Diskの使用状況
- 天気の表示
- 一部のコマンドのオーバーライド[1]
- ビッグデータ用のコマンド[2]
動作を確認しているOS
- Ubuntu Linux (zesty, x86_64, armhf, arm64)
- Debian Linux (sid, armhf, arm64)
- Arch Linux (x86_64)
Requrements
python3が以下のパスに通っている必要があります
$ which python3
/usr/bin/python3
Ubuntu Linux, Debian Linuxでは以下のようにインストールしてください
$ sudo apt install python3
curlもインストールされている必要があります
$ which curl
/usr/bin/curl
Ubuntu Linux, Debian Linuxでは以下のようにインストールしてください
$ sudo apt install curl
Install
HOMEディレクトリにこのプロジェクトをgit cloneで配置する必要があります
$ git clone https://github.com/GINK03/kawaii-term
template.bashrcを~/.bashrcに追加します(アップデート時は計算時間が無駄にならないように適切に、重複等を消すなどして、軽くしてください)
$ cd kawaii-term
$ cat templte.bashrc >> ~/.bashrc
画面イメージ
template.bashrcのPS1というところを編集することで、ターミナルのテキストや詳細は変更できますが、デフォルトではこのような感じです
標準コマンドのオーバーライド
いくつかのコマンドにて、機能を上書きしたり、追加したりして任意の動作をさせています
- ls (l -CFにエイリアスされています)
- clear
- explosion
ls
lだけで入力できるようにしています
$ l
はわわ〜〜〜!💦
22/ cuda/ go/ keras-skip-though-vector/ metas/ td2.pem テンプレート/ ビデオ/ 公開/
NVIDIA_CUDA-8.0_Samples/ cudnn-8.0-linux-x64-v5.1.tgz go1.8.3.linux-amd64.tar.gz keras-unstructured-data minimize.zip v/
aws/ examples.desktop kawaii-term/ kotlin-headlessbrowser-selenium-jsoup-parser/ sdb/
clear
clearはバッファがおかしくなった時にリセットをしますが、上の方にカーソルが行ってしまい、視線を動かす必要があるので、アスキーアートを前方に投入することで、カーソルの場所の調整を行います
$ clear
explosion(ex)
ビッグデータなどを扱い、大きなデータセットを消そうとすると、rmコマンドでは消せません
そこでexplosionという長めのコマンドで、警告なしで、OSがファイルとして認識できるのであれば、問題なく消せるコマンドを新たに追加します
(無警告なので、注意してください)
$ explosion target/*
めぐみんというキャラクタのAAをみることができます
terminal中の天気に関して
openweathermap.orgの無料プランを用いています
サンプルに私のAPIキーがバンドルされていますが、無料で利用できるので、適切にご自身のAPIキーに書き換えてください(私がバンされてしまいます)
kawaii-term/weather.pyを編集して、中のAPIキーを変えてください
また、お住いの都市にURLを書き換えてご利用ください
これを、
raw = os.popen('curl -s "http://api.openweathermap.org/data/2.5/weather?q=Tokoy,jp&appid=1e240e732347c23472274dc188cd39d6"').read()
このようにします
raw = os.popen('curl -s "http://api.openweathermap.org/data/2.5/weather?q=${YOUR_CITY}&appid=${YOUT_API}"').read()
左のプロンプトと右のプロンプトの幅について
自動で幅を計算してたのですが、tmux経由で使用すると微妙にずれるので、ハードコードしました
お使いのディスプレイによっては適切に表示されないかもしれません
template.bashrcの$YOUR_WIDTHを任意の値にしてみてください
RIGHT_PRONPT() {
# パディング幅を%*s ${COLUMNS}で指定できるが、tmux経由だと、よく破綻しているので、ハードコードでもいいかもしれない
printf "%*s" {{$YOUR_WIDTH}} "$(tput setaf 199)$(tput bold)$(CPU_USAGE)$(tput sgr0) $(tput setaf 2)$(DISK_USAGE) $(tput setaf 123)[TENKI:$(GET_WEATHER)]$(tput sgr0)"
}
アスキーアートの差し替えや追加
asciiartsのディレクトリの中にcatでアスキーアートになっているようなファイルを追加 or 変更していただければOKです
ライセンス
WTFPL (Do What The Fuck You Want To Public License)
いろんな人からプルリク送ってもらえるというお言葉、いただきました。ちょくちょくアップデートすると思いますが、よろしくお願いします
Author And Source
この問題について(Kawaii Terminal), 我々は、より多くの情報をここで見つけました https://qiita.com/nardtree/items/28fbb33515454aa375cf著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .