GithubHelp home page GithubHelp logo

kawaii-term's Introduction

What About Kawaii-Term

kawaii-termは主にエンジニアに対して適切に精神的な癒しを与えることで、ストレスを低減するものです  

この世界が可愛ければ戦争は無くなるのに

機能一覧

  • 任意の文字列の表示
  • 空きメモリの表示
  • $の書き換え
  • 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

画面イメージ

図1. ログイン時にスプラッシュでアスキーアートが流れます

template.bashrcのPS1というところを編集することで、ターミナルのテキストや詳細は変更できますが、デフォルトではこのような感じです

図2. 項目の入れ替えは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

図3. clearを押すと、比較的大きなAAが表示され、結果としてカーソルが下の方にくる

explosion(ex)

ビッグデータなどを扱い、大きなデータセットを消そうとすると、rmコマンドでは消せません   そこでexplosionという長めのコマンドで、警告なしで、OSがファイルとして認識できるのであれば、問題なく消せるコマンドを新たに追加します
(無警告なので、注意してください)

$ explosion target/*

めぐみんというキャラクタのAAをみることができます

図4. めぐみん

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)"
}

ライセンス

WTFPL (Do What The Fuck You Want To Public License)

kawaii-term's People

Contributors

gink03 avatar kuenishi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

kawaii-term's Issues

Support small window?

I have same small windows in tmux.

image

megumin is too huge, can't see explosion ,so sad .

PS: I think it would be a good idea to add a small pic(below) at last

image

or this

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.