Help us understand the problem. What is going on with this article?

WTF the terminal dashboardでターミナル上にいろいろ表示する

WTF the terminal dashboardでiterm2にいろいろ表示する

はじめに

WTFはターミナル上(iterm2など)で個人用のダッシュボードを表示するツールです。Googleカレンダー、天気、PCのバッテリー残量、ニュースフィード、Githubのリポジトリ情報など様々な情報をターミナル上に表示できます。
社内のTypetalk上にある技術情報を共有するトピックで紹介されていて、「これは便利そう」と思ったのでさっそく使ってみました。

前提条件

  • macOS上で操作すること。
    • バイナリでインストールすれば、LinuxやFreeBSD上でも動作するようです。

参考情報

WTFをインストール

INSTALLATION を参考にインストールします。

Homebrewの場合

brew tap wtfutil/wtfutil
brew install wtfutil

wtfutil

バイナリの場合

https://github.com/wtfutil/wtf/releases から自分の環境にあう最新版を取得し、展開。そのディレクトリに移動し、以下コマンドを実行。

./wtfutil

WTFを起動

すでにインストールの手順で書いてあるとおり、Homebrewでインストールした場合はwtfutil、バイナリでインストールした場合はバイナリがあるディレクトリで./wtfutilを実行するとWTFが起動します。

初回起動時に設定ファイル ~/.config/wtf/confg.yml が生成され、この内容に従ってダッシュボードが表示されます。(v0.21.0以前は手動での作成が必要です)
ダッシュボードにはWTFのモジュールを組み合わせることで様々な情報を表示することができます。
Screen_Shot_2019-09-01_at_18_49_48 2.png

左の縦長の列が~/.config/wtf/confg.ymlの内容。1 とキーボードフォーカスがついています。 1 を入力すると、このカラムにフォーカスが移動します。Enterでデフォルトのテキストエディタが開きconfg.ymlが編集できます。
Screen_Shot_2019-09-01_at_19_01_38.png

1行目に2つ並んだカラムは、各種都市・タイムゾーンの時計です。表示したい都市・タイムゾーンはconfg.ymlで定義可能です。

2行目のFeed Readerには、ニュースフィード(RSSやatom)から取得した情報が表示されます。ここには 2 とキーボードフォーカスがついています。
フォーカスを移動したあと、キーボードの↑↓で行の移動ができ、Enterでそのフィードをブラウザで開きます。
Screen_Shot_2019-09-01_at_19_04_39.png

3行目には左側にインターネット接続時のグローバルIPアドレス、プロバイダー名、都市名などの情報が表示されています。右側にはバッテリーの充電状況や残り稼働時間などが表示されています。

4行目には、uptimeコマンドの結果が表示されています。

config.ymlのカスタマイズ

上記のスクリーンショットではClocksのカラム内で行が途中で折り返しているため、幅の設定が合っていないようです。(wtf/grid/columnsの設定)
そのほか、自分に必要なモジュールを並べて全体的にカスタマイズしてみました。

TodoリストやPCのリソース情報、ニュースフィード、天気予報などを並べています。
Screen Shot 2019-09-01 at 20.05.51.png

~/.config/wtf/confg.yml は以下のように定義しています。

wtf:
  colors:
    border:
      focusable: darkslateblue
      focused: orange
      normal: gray
  grid:
    columns: [35, 35, 35]
    rows: [10, 10, 10, 10]
  refreshInterval: 1
  mods:
    clocks:
      colors:
        rows:
          even: "lightblue"
          odd: "white"
      enabled: true
      locations:
        UTC: "Etc/UTC"
        New York: "America/New_York"
        Amsterdam: "Europe/Amsterdam"
        Paris: "Europe/Paris"
        Tokyo: "Asia/Tokyo"
        Singapore: "Asia/Singapore"
      position:
        top: 0
        left: 1
        height: 1
        width: 1
      refreshInterval: 15
      sort: "alphabetical"
      title: "🕗 World Clocks"
      type: "clocks"
    feedreader:
      enabled: true
      feeds:
      - http://www.publickey1.jp/atom.xml
      feedLimit: 10
      position:
        top: 3
        left: 0
        height: 1
        width: 3
      title: "📰 News"
      updateInterval: 14400
    prettyweather:
      colors:
        name: "lightblue"
        value: "white"
      enabled: true
      position:
        top: 1
        left: 1
        height: 1
        width: 1
      title: "☀️ Weather"
      City: "Fukuoka" 
      refreshInterval: 150
    power:
      enabled: true
      position:
        top: 0
        left: 2
        height: 1
        width: 1
      refreshInterval: 15
      title: "⚡️"
    hackernews:
      enabled: true
      numberOfStories: 10
      storytype: top
      position:
        top: 2
        left: 0
        height: 1
        width: 3
      title: "🗞 HackerNews"
      refreshInterval: 300
    resourceusage:
      enabled: true
      position:
        top: 1
        left: 2
        height: 1
        width: 1
      title: "💻 Resouce"
      refreshInterval: 1
    todo:
      checkedIcon: "X"
      colors:
        checked: gray
        highlight:
          fore: "black"
          back: "orange"
      enabled: true
      filename: "todo.yml"
      position:
        top: 0
        left: 0
        height: 2
        width: 1
      title: "📋 ToDo"
      refreshInterval: 3600

モジュール

MODULESに様々なモジュールが公開されていたり、オリジナルのモジュールも開発できるようなのでカスタマイズの幅は広そうです。

Googleカレンダーを表示するサンプルは、WTF the terminal dashboard でターミナル上にGoogleカレンダーを表示する に記載しました。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away