這兩天在研究如何在Mac的桌面背景上設置個人資訊的儀表板,像是天氣、時間、甚至是行事曆上的資訊等。調查一下後發現兩個不錯的工具可以達成這個目標,分別是Geektool跟Übersicht Widgets,這篇記錄一下兩種工具分別如何做到在桌面上顯示時間的功能。
方法一: Geektool
什麼是Geektool?
官網的介紹:
GeekTool is a macOS application that lets you customize your desktop with great flexibility. There are four modules available that you can use for different types of informations
簡單說,就是可以直接在桌面上呈現資訊的Mac應用,支持以下四種格式的檔案:
- Logs: 特別為log檔設計的格式,主要用來監控程式運行的狀況。
- Script:最常用的功能,直接執行輸入的指令,並將結果回傳到桌面上。
- Image:讀取圖片檔案(夾),支援自動更新以及跑馬燈播放等功能。
- Web:讀取某個特定的網址,或是自行編譯好的html檔案。
下載
到官方網頁點擊右上方的Download,下載檔案
基本介面
解壓縮後檔案丟到Application 檔案夾中,執行之後的介面會長這樣:
可以把他直接加到menu bar上面,直接調整。
因為這次只有設定時間,所以用Shell就夠了。直接拉著Shell這個圖示到桌面想要的地方,會出現一個空白的方框,那個方框就是打印出指令結果的地方。
同時你點擊想要編輯的方框時,會出現他的Properties,也就是那個物件的詳細內容,像是Command
就是輸入指令碼的地方,如果要調整排版、顏色、自行等都可以在這個面板中的Style
中調整。
時間設定
想像那個Command就是一個Terminal,只是他幫你把執行的結果打印到畫面上。那要如何印出時間呢?一般在Terminal中我們要查詢日期的指令是date
只要在Termianl中輸入date
,電腦就會以特定格式回傳當下的時間。像是:
當我輸入 date
,他就會回傳 Mon Jul 3 16:44:01 CST 2017
這樣格式的日期訊息給我。
知道這件事情之後就如法炮製,把指令輸入到Geektool的 Command
裡面:
如此一來時間就會如願出現在框框裡面了,另外別忘了設定自動更新的時間間隔,像我的時間最小間隔是1分鐘,那就會設定大概10~30秒自動更新。
詳細時間設定:
Q: 那如果我不想要用預設的時間呈現格式呢?
A: 也可以,只要在date
後面加上一些特殊的設定就可以完成,像是:
也可以一次打多個,把他們合併在一起,像是:
$ date '+%T %Y'
就會回傳 17:11:20 2017
放到Geektool中就會變成這樣:
常用到的指令如下:
日期
date '+%A'
- Monday(大寫星期)
date '+%a'
- Mon (簡寫星期)
date '+%B'
- July (大寫月份)
date '+%b'
- Jul(簡寫月份)
date '+%m'
- 3 (月份數字)
date '+%D'
- 07/03/17 (日期簡寫)
date '+%d'
- 03 (當天是幾號,含0)
date '+%e'
- 3 (當天是幾號,不含0)
date '+%Y'
- 2017 (四位數的年份)
date '+%y'
- 17 (兩位數的年份)
時間
date '+%T'
- 17:02:08
date '+%Z'
- CST (時區)
date '+%p'
- PM (AM/PM)
date '+%I'
- 05 (小時,12小時制,含0) <--大寫i
date '+%l'
- 5 (小時,12小時制,不含0) <--小寫L
date '+%k'
- 17 (小時,24小時制,含0)
date '+%H'
- 17 (小時,24小時制,不含0)
date '+%M'
- 02 (分)
date '+%S'
- 08 (秒)
合併在一起
可以用兩個(或以上的Shell拼出自己想要的樣式),例如一個數入日期 date '+%A, %b. %d'
另一個輸入時間 date +"%l:%M"
,就可以拼在一起了。像是這樣:
先記錄方法一,方法二之後再補上。