WTF——碼農(nóng)專(zhuān)屬終端的儀表板

之前蟲(chóng)蟲(chóng)的文章中介紹過(guò)很多終端軟件毅糟,也介紹過(guò)分屏神器Screen和Tmux但是畢竟他們使用配置有一點(diǎn)點(diǎn)的難度栗竖。那么有沒(méi)有一款簡(jiǎn)單易用耿导,界面美觀的終端儀表板程序赎离,實(shí)現(xiàn)各種所需信息的展示呢晦攒,答案是肯定的闽撤,那就是本文我們要介紹的另一個(gè)神器WTF。

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

WTF是一個(gè)簡(jiǎn)單脯颜,易于配置的終端信息儀表板哟旗。使用Golang語(yǔ)言編寫(xiě)的,使用簡(jiǎn)單的一個(gè)YAML配置和各種模塊就可以從幾個(gè)不同的源中提取我們所需數(shù)據(jù)栋操。這些模塊包括系統(tǒng)信息闸餐、安全信息、電源信息矾芙、天氣舍沙、Git問(wèn)題跟蹤、國(guó)際時(shí)間剔宪,谷歌表格以及更多內(nèi)容拂铡。也能實(shí)現(xiàn)交互式窗格,進(jìn)行操作葱绒。

安裝

WTF的安裝很簡(jiǎn)單感帅,可以直接安裝下載適合你操作系統(tǒng)(Windows、Linux地淀、MacOS

)二進(jìn)制包失球,下載解壓就可以用。也可以下載源碼編譯安裝帮毁,安裝方法如下:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

運(yùn)行

安裝后運(yùn)行很簡(jiǎn)單只需輸入wtf就可以实苞,wtf會(huì)自動(dòng)加載默認(rèn)的配置文件~/.wtf/config.yml的模塊并渲染出終端界面璧微,界面數(shù)據(jù)也按照配置的模塊中設(shè)定的刷新時(shí)間自動(dòng)刷新界面數(shù)值。

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

上面是我做了點(diǎn)簡(jiǎn)單配置后的終端儀表盤(pán)界面硬梁,顯示了世界時(shí)間前硫、系統(tǒng)版本信息、安全項(xiàng)荧止、配置文件內(nèi)容和天氣以及Hacker 新聞客戶(hù)端(數(shù)據(jù)沒(méi)有加載出來(lái))屹电。

WTF配置

wtf的配置默認(rèn)是~/.wtf/config.yml,該文件為YAML配置的格式跃巡,儀表盤(pán)總所有顯示和數(shù)據(jù)項(xiàng)都是基于該配置文件危号,所以如果要真正的使用好WTF就必須熟悉該配置文件。

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

上面是我~/.wtf/config.yml默認(rèn)配置部分素邪,我們以此為例說(shuō)明WTF配置外莲。

屬性配置

屬性配置是WTF配置的第一部分,通過(guò)配置熟悉可以設(shè)置WTF全局性的顏色兔朦、背景色偷线、邊框等。下面列出常見(jiàn)的屬性:

colors.background

繪制應(yīng)用程序背景的顏色沽甥。使用此顏色來(lái)設(shè)置終端背景色顏色声邦。注意模塊中如果設(shè)置了背景色,會(huì)覆蓋這個(gè)全局設(shè)置

值:支持X11的所有顏色名稱(chēng)摆舟。

colors.border.focusable

繪制可接受鍵盤(pán)焦點(diǎn)的小部件邊框的顏色亥曹。

值:支持X11的所有顏色名稱(chēng)。

colors.border.focused

繪制當(dāng)前具有鍵盤(pán)焦點(diǎn)的窗口小部件邊框的顏色恨诱。

值:支持X11的所有顏色名稱(chēng)媳瞪。

colors.border.normal

繪制無(wú)法接受焦點(diǎn)的小部件邊框的顏色步鉴。

值:支持X11的所有顏色名稱(chēng)敛瓷。

grid.columns

一個(gè)數(shù)組,定義所有列的寬度邪铲。

值:詳見(jiàn)下一部分網(wǎng)格設(shè)置部分

grid.rows

一個(gè)數(shù)組硫豆,定義所有行的高度龙巨。

值:詳見(jiàn)下一部分網(wǎng)格設(shè)置部分

openFileUtil

用于打開(kāi)文件或URL的命令

refreshInterval

UI刷新數(shù)據(jù)的頻率。

值:正整數(shù)熊响,0..n旨别。

term

可選屬性

使用這個(gè)屬性設(shè)定自定義值的運(yùn)行終端。

注意:如果為此設(shè)置提供了無(wú)效值汗茄,程序會(huì)報(bào)"terminal entry not found"錯(cuò)誤而崩潰秸弛。

值:任何有效的終端類(lèi)型(比如:vt100,xterm,xterm-256color递览,ansi等)叼屠。

終端網(wǎng)格布局

全局設(shè)置部分除了colors部分外,就是grid部分的網(wǎng)格布局配置绞铃,以蟲(chóng)蟲(chóng)的設(shè)置頂為例:

grid:

columns: [40, 60]

rows: [7, 13, 8, 4]

網(wǎng)格設(shè)置中的數(shù)字表示每個(gè)塊的字符尺寸镜雨。默認(rèn)配置是兩列,寬度分別為40個(gè)字符和60個(gè)字符寬儿捧。共有4行(排)荚坞,行的寬度分別為7,13菲盾,8颓影,4個(gè)字符高。

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

模塊的布局則是通過(guò)相對(duì)的數(shù)值通過(guò)4個(gè)參數(shù)類(lèi)設(shè)置位置和大小的:

top: 2 // 上面從第3行開(kāi)始懒鉴,即第3個(gè)位置

left: 0 // 左邊從第1列開(kāi)始诡挂,即相對(duì)第1列的位置

height: 2 // 高度為兩個(gè)格子,即占第3和4行

width: 1 // 寬度為兩個(gè)格子临谱,即第1列的位置

該布局就是詳見(jiàn)上面的上面的示意圖璃俗,注意top和left的位置都是從0開(kāi)始的。

我喜歡在儀表板上看到當(dāng)天的天氣吴裤。有兩個(gè)天氣模塊可供選擇:天氣旧找,只顯示文本信息,和漂亮天氣麦牺,豐富多彩,在顯示屏中使用基于文本的圖形鞭缭。

WTF常見(jiàn)模塊介紹

當(dāng)然WTF最重要的就是模塊剖膳,這是所有內(nèi)容的來(lái)源,它自帶一些很實(shí)用的模塊岭辣,當(dāng)然如果你熟悉golang和WTF的結(jié)構(gòu)吱晒,你也可以自己DIY需要的模塊,這也是開(kāi)源軟件的優(yōu)勢(shì)之一沦童。

氣插件

首先是我們最常用的天氣插件仑濒,截圖如下:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

典型配置如下:

prettyweather:
     enabled: true
     position:
        top: 0
        left: 0
        height: 1
     width: 1

Bittrex

使用Bittrex獲取加密貨幣市場(chǎng)的最新24小時(shí)摘要。

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

典型配置:

bittrex:
   enabled: true
   position:
      top: 1
      left: 2
      height: 3
      width: 1
   refreshInterval: 5
   summary:
       BTC:
          displayName: Bitcoin
          market:
             - LTC
             - ETH
 colors:
     base:
        name: orange
        displayName: red
market:
     name: red
    field: white
     value: green

相似模塊還有Blockfolio

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

世界時(shí)間

可以根據(jù)你時(shí)區(qū)城市來(lái)偷遗,獲取當(dāng)前的時(shí)間墩瞳,比如:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

典型配置:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

CmdRunner

這個(gè)模塊是把一些cmd命令的執(zhí)行放到儀表盤(pán)中顯示,比如我們查看網(wǎng)絡(luò)信息:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

典型配置:

  args: ["-ie"]
  cmd: "netstat"
  enabled: true
  position:
    top: 0
    left: 0
    height: 1
    width: 1
  refreshInterval: 30

args數(shù)組用來(lái)設(shè)定命令的參數(shù)氏豌,cmd用來(lái)設(shè)置命令喉酌,如果是參數(shù)有值的參數(shù)比如curl -I 網(wǎng)址,agrs數(shù)組配置為["-I", "網(wǎng)址"]。

Git信息

該模塊可以顯示git倉(cāng)庫(kù)的信息泪电,效果如下:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

典型配置如下:

git:
   commitCount: 5
   commitFormat: "[forestgreen]%h [grey]%cd [white]%s [grey]%an[white]"
   dateFormat: "%H:%M %d %b %y"
   enabled: true
   position:
     top: 0
     left: 3
     height: 2
     width: 2
  refreshInterval: 8
  repositories:
    - "/Users/chris/go/src/wtfutil/wtf"

githbub

截圖如下:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

典型配置:

github:
   apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
   baseURL: ""
   enabled: true
   enableStatus: true
   position:
     top: 2
     left: 3
     height: 2
     width: 2
   refreshInterval: 300
   repositories:
   wesker-api: "UmbrellaCorp"
   wtf: "wtfutil"
   uploadURL: ""
   username: "wtfutil"

類(lèi)似的模塊還有g(shù)itlab:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

谷歌日歷

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

典型配置:

gcal:
  colors:
  title: "red"
  description: "lightblue"
  highlights:
    - ['1on1|1/11', 'green']
    - ['apple|google|aws', 'blue']
    - ['interview|meet', 'magenta']
    - ['lunch', 'yellow']
  past: "gray"
  conflictIcon: ""
  currentIcon: ""
  displayResponseStatus: true
  email: "chriscummer@me.com"
  enabled: true
  eventCount: 12
  multiCalendar: true
  position:
    top: 0
    left: 0
    height: 4
    width: 1
  refreshInterval: 300
  secretFile: "~/.config/wtf/gcal/client_secret.json"
  showDeclined: true
  withLocation: true

電源信息Power

當(dāng)使用筆記本電腦時(shí)候般妙,顯示你當(dāng)前的電源信息也是大有裨益的,WTF也內(nèi)置了這樣模塊那就是Power:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

典型配置:

power:
  enabled: true
  position:
    top: 5
    left: 0
    height: 2
    width: 1
  refreshInterval: 15

文件顯示模塊Textfile

可以模塊相速,可以在窗格中顯示文件內(nèi)容碟渺,比如你的程序源碼,例如:

WTF——碼農(nóng)專(zhuān)屬終端的儀表板

不過(guò)美中不足的是還不支持語(yǔ)法高亮突诬,不過(guò)這也是一個(gè)hack點(diǎn)苫拍,同學(xué)們可以在基礎(chǔ)是上做個(gè)顯示源碼的模塊。以上示意圖的典型配置:

textfile:
   enabled: true
   filePath: "git/git_repo.go"
   position:
      top: 0
      left: 0
      height: 2
      width: 1
   refreshInterval: 15

以上就是我們列舉了常見(jiàn)一些模塊攒霹,更多的信息可以參考官方模塊怯疤,或者自己DIY個(gè)性化的模塊。

總之催束,WTF是一個(gè)非常棒的終端儀表盤(pán)顯示工具集峦,非常適合那些需要在一個(gè)屏幕上查看大量不同來(lái)源的數(shù)據(jù)的人。注意這個(gè)模塊可以和screen和Tmux配合使用把自己的終端界面共享給其他人抠刺。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末塔淤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子速妖,更是在濱河造成了極大的恐慌高蜂,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件罕容,死亡現(xiàn)場(chǎng)離奇詭異备恤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)锦秒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)露泊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人旅择,你說(shuō)我怎么就攤上這事惭笑。” “怎么了生真?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵沉噩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我柱蟀,道長(zhǎng)川蒙,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任产弹,我火速辦了婚禮派歌,結(jié)果婚禮上弯囊,老公的妹妹穿的比我還像新娘。我一直安慰自己胶果,他們只是感情好匾嘱,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著早抠,像睡著了一般霎烙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蕊连,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天悬垃,我揣著相機(jī)與錄音,去河邊找鬼甘苍。 笑死尝蠕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的载庭。 我是一名探鬼主播看彼,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼囚聚!你這毒婦竟也來(lái)了靖榕?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤顽铸,失蹤者是張志新(化名)和其女友劉穎茁计,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體谓松,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡星压,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鬼譬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片租幕。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拧簸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情男窟,我是刑警寧澤盆赤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站歉眷,受9級(jí)特大地震影響牺六,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜汗捡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一淑际、第九天 我趴在偏房一處隱蔽的房頂上張望畏纲。 院中可真熱鬧,春花似錦春缕、人聲如沸盗胀。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)票灰。三九已至,卻和暖如春宅荤,著一層夾襖步出監(jiān)牢的瞬間屑迂,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工冯键, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惹盼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓惫确,卻偏偏與公主長(zhǎng)得像手报,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子雕薪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容