May the Raycast be with you
你有沒有想過你能夠讓你用電腦的速度更快,讓你的效率提升。而進入心流的你,不會因為一些瑣碎的事情而中斷思緒。而這些瑣碎的事情包含在調整、控制的時間。舉例來說,如果我們希望將當下的視窗放在正中間,並且佔據一半的大小,你會花多久時間調整呢?
筆者使用的是 34吋曲面的螢幕,因為螢幕尺寸很大,所以同時間將多個視窗放在畫面上是常有的事,像我經常會將不同的視窗依照比例放在螢幕上,例如中間是開發使用的 IDE,右邊是參考文件,左邊可能是網頁,等等…,如果每次都需要調整視窗大小、位置,那麼每次需要作這個動作時,都會花費很多時間。
除了調整視窗大小外,我經常還會需要啟動某些程式,譬如當我需要使用固定 IP 時,我需要連線 PPPoE,但是因為這個功能是藏在設定頁的網路分頁裡,除了藏很深,每次進入都需要找一下外,啟動完成每次都需要好幾十秒。(你知道嗎?在非洲,每六十秒就有一分鐘過去XD)
那麼我們是不是有更快的方式能夠解決呢?(當然就是下指令啊XD)
初嚐 Raycast
如果你跟我一樣是使用 Mac 的使用者,你就可以跟我一樣使用本篇要介紹的 Raycast
來讓你的速度提升,從三輪車變成 F1 賽車。
那麼 Raycast 到底是什麼呢?使用 Mac 的朋友,一定對它提供的 Spotlight
不陌生,Spotlight 能夠讓我們快速的找到檔案、網頁、程式...,簡單來說。Raycast 就是它的加強版。
(安裝過程省略)
安裝完 Raycast 之後,不需要額外的操作來安裝套件、指令,因內建就包含了許多指令,其中包含我最常使用到的 Window Management(視窗管理)。
如同 Spotlight 能夠快速的輸入縮寫來搜尋,在 Raycast 也可以用縮寫來快速找到我們要找的東西,譬如我們希望讓視窗移至正中間,並且讓視窗寬度為畫面的一半,只要在 Raycast 輸入欄鍵入 CH
,其中 C 代表 Center,H 代表 Half,所以會快速的將 Center Half 的 Window Management 給列出來。而我們只需要移動游標,點擊一下即可。此時,就如同魔法般,視窗移動到正中間,並且將大小調整成一半。
當然 Window Management 不只有 Center Half 這個指令,還有很多已經設定好的指令,例如 First Third
將視窗放在最左邊,並且大小為 1/3。
了解更多 Raycast 的 Window Manage 功能,請參考官方網頁。
加入客製化腳本( Scripts) ,徹底解放你的原力
如前文所述,我因為需要固定 IP 所以需要使用 PPPoE 連線,在沒有使用 Raycast 之前,我需要手動進入系統設定,並進入網路子分頁,選擇 PPPoE 並點選連線,這樣的步驟,少說也需要點選滑鼠四下,花費時間大約十五秒。若太久沒啟動,又有可能會花更久的時間(因為找不到設定),也或許在某一版 OS 更新之後,設定的位置被改變了,那就會花費更久的時間。
若這件事情能夠使用指令方式來解決的話,我們就可以將其改為 Script 的方式。幸運的是,我們能夠使用 Mac 內建的指令 networksetup -connectpppoeservice PPPoE
來達成這件事(前提是,需要先在網路內建立 PPPoE 的連線)
Script 設定說明,以建立 PPPoE 為例
那麼,我們該如何將指令加入 Raycast 內呢?在設定頁面中,我們可以將 Script Command 對應一個資料夾,只需要在該資料夾更新 script,就能夠在 Raycast 看到該 Script 了。 ![[截圖 2025–02–22 上午10.35.06.png]] 如上圖所示,我的 Script Commands 列出三個指令,這三個指令都是存放在我的 ~/Documents/raycast/
資料夾底下。
接著,我們需要建立 Script,以連線 PPPoE 這個指令為例, 檔案的第一行 #!/bin/bash
,表示宣告使用 Bash Shell Script 來執行,
接著為必填的欄位:@raycast.schemaVersion
、@raycast.title
、@raycast.mode
,
@raycast.schemaVersion 為版本號(1)
@raycast.title 為顯示的名稱(Connect PPPoE)
@raycast.mode 則是表示 Script 的執行模式。 mode 的選擇有 compact
、silent
、fullOutput
。
- compact:腳本會簡潔地顯示執行結果。
- silent:不顯示任何輸出。
- fullOutput:顯示完整的輸出內容。
可選的參數則有@raycast.icon
、@raycast.packageName
。
這兩個參數主要是顯示在 Raycast 畫面上,幫助我們快速辨識指令。
每一行前面有 #
,表示是註解,而在註解之後,就是我們的程式碼了。 可以看到我們的程式碼相當的簡潔。
程式碼的第一行 networksetup -connectpppoeservice PPPoE
則是表示呼叫該指令連線 PPPoE, 後面的內容則是根據其指令的輸出來彈出對應的對話框。
其中 osascript
是 macOS 的 AppleScript 指令工具,使用它呼叫 display notification
來彈出一個對話框,其內容為 PPPoE 連線成功!/PPPoE 連線失敗!
標題為 Raycast
。
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Connect PPPoE
# @raycast.mode compact
# Optional parameters:
# @raycast.icon 👉🏻
# @raycast.packageName Utils
# Documentation:
# @raycast.author andy_lu
# @raycast.authorURL https://raycast.com/andy_lu
networksetup -connectpppoeservice PPPoE
# 顯示通知(可選)
if [[ $? -eq 0 ]]; then
osascript -e 'display notification "PPPoE 連線成功!" with title "Raycast"'
else
osascript -e 'display notification "PPPoE 連線失敗!" with title "Raycast"'
fi
當我們都設定完後,我們就可以在 Raycast 內找到 Connect PPPoE
指令了。
啟動 PPPoE 的時間從 15 秒,加快到只需要 2 秒就可以完成。足足減少了 87% 的時間。
Raycast script command 參考內容:Getting started with script commands
小結
現在的工作有很大部分都需要使用電腦,如果可以透過工具的幫助,提升工作效率,我認為是值得學習的。而本篇文章介紹的 Raycast 就是一款強大的工具,它可以加速我們日常電腦事務的處理,改善我們的專注力,讓工作的心流不間斷。
好的,今天的 Raycast 先介紹到這邊,之後也會不定期的介紹效率提升工具,我也會把 Raycast 的功能多介紹一些。