程式 · 雜談 | 僅花一天時間,開發者重製 32 年前經典 Mac 應用!

J_ssst發表於2024-08-19

導讀:在這個快節奏的技術世界裡,重溫過去並從中汲取靈感總是一件有趣的事情。今天要介紹的是一款僅用一天時間重製的經典 Macintosh 應用——Stapler。這款應用最初釋出於1992年,現在由一位充滿激情的開發者重新打造,不僅保留了原汁原味的功能,還加入了現代化的改進和特性,使其更適合現代 macOS 使用者的需求。

作者 | Matt Sephton
翻譯 | Jonathan Ssst

幾天前,我在 Hacker News 上讀到一些 Linux 視窗管理器的一項功能,它們允許從不同的應用程式中收集標籤頁。

這讓我想起了 BeOS,但同時也讓我想起了 1992 年的一款經典 Macintosh 應用程式——Stapler,以及我過去是如何談論過它和它的精神繼承者 LaunchList 的。它們都是類似的應用程式,允許你收集並啟動與特定任務相關的所有應用程式、檔案、資料夾和文件,從而節省時間。正如阿里·蘭塔卡里(Ali Rantakari)在 2009 年所說的那樣,“在 Mac 上同時開啟一堆東西”。

因此,在過去的一天多時間裡,我為現代 macOS 構建了自己的這一概念!

雖然我的應用受到了 Stapler(連名字都是)和 LaunchList 的啟發,但我的應用增加了自己的改進和功能,更像是兩者的混合體。例如,Stapler 沒有拖放功能,LaunchList 沒有零點選自動啟動功能。我的目標是儘可能簡單,但不能更簡單。

詳情、下載和使用方法請參閱 GitHub 軟體倉庫:https://github.com/gingerbeardman/stapler

image

圖:Stapler,適用於現代 macOS(12.0 或更新版本)

告訴我更多

其原理是為每個專案設定一個 Stapler 文件,其中包含相關的應用程式、檔案、資料夾等。然後,你就可以透過啟動單個文件一次性開啟它們。每個文件都包含一個別名列表,可以使用該應用程式進行管理、檢查和啟動。省時的關鍵在於,如果直接啟動訂書機文件,其列表中的所有專案都會自動啟動。酷斃了!

  • 工作:文字編輯器、執行當前遊戲、畫素藝術編輯器、點陣圖字型應用程式、待辦事項列表
  • 播放:音樂應用程式、Hacker News 應用程式、Twitter 應用程式、定位視窗的指令碼
  • 電影:執行 Caffeine 以保持計算機開機狀態、讓顯示器進入休眠狀態的快捷方式

在電腦上工作,這是一種奇怪的思維方式——它以任務為基礎,而不是以應用程式或文件為基礎。的確,有人可能會說這是一種過時的工作方式。但我一直在鼓吹,有很多好東西都隨著 System 7(雖然我還在用它)、BeOS、OS/2、Amiga Workbench、GEM 和雅達利 ST 等眾多替代桌面的記憶被過早地拋在了腦後。因此,我想看看我是否能說到做到。

詳細資訊

它是用 Swift 和 SwiftUI 編寫的,大小為 640KB,其中約三分之一是許多不同大小和解析度的圖示檔案。透過建立基於文件的應用程式,您可以免費獲得大量功能,例如文件/標籤/視窗管理、撤銷/重做(不過我還是需要注意並重新整理應用程式視窗)等等。

編輯器是一個本地 macOS 視窗,有點像檔案管理器中的列表檢視、電子表格或小資料夾......這取決於你的觀點。此外還有一些選單命令和鍵盤對應功能。您可以同時開啟多個視窗,例如為所有常用任務各開啟一個視窗,這樣就能以最小的代價啟動全部或部分任務。

每個列表中的專案都是 macOS 書籤(有時也稱為安全範圍書籤),是一種經過授權/驗證/安全的別名(事實上,它們在程式碼中仍被稱為別名),已經存在了大約 10-15 年。它們包含路徑和更多資訊。隨著 macOS 的封鎖程度越來越高,建議訪問檔案的方式是透過正常的系統許可權和安全層檢索這些書籤。如果沒有書籤,例如只使用純文字路徑,我就無法在快速檢視中顯示完整影像,也無法輕鬆啟動列表項。這樣做的一個主要好處是,即使檔案被移動到同一磁碟的其他地方,甚至是不同的卷中,書籤仍然可以解析!

我在儲存的檔案中將專案儲存為 JSON 格式,只是因為比起 XML(這是主要/預設選項),我更喜歡 JSON 格式。我希望檔案在一定程度上仍然是可讀和可編輯的。

檔案使用該檔案指定的預設應用程式啟動,因此可以根據每個檔案進行更改。單個影像可能會在影像編輯器、影像檢視器、執行 OCR 的應用程式、執行 OCR 的指令碼等中開啟。

處理檔案既酷又煩,酷的是你可以如此輕鬆地將書籤指向檔案,煩的是你必須跳過這麼多圈才能繞過安全和沙盒保護,最終不得不以一種囉嗦的方式進行檔案請求,然後還必須調整 plist 條目,以便為應用提供正確的許可權。我正在使用 SwiftUI 的某些功能,這意味著應用程式無法在 macOS 14 Sonoma 之前的版本上執行。總而言之,我認為現代 macOS 開發有點喜憂參半。要麼接受,要麼放棄。

圖示

由於這是一個週末的快速專案,我在設計圖示時有點力不從心。我希望能有一個更好的應用程式圖示,以及一個特定的文件圖示,所以任何圖示設計師都可以加入進來(https://github.com/gingerbeardman/stapler/issues/1)。

額外提示

確保取消選中: System Settings > Desktop & Dock > Windows > Close windows when quitting an application

然後,在退出應用程式時讓其視窗保持開啟狀態。 當您下次啟動應用程式時,其視窗將恢復到以前的大小和位置。 如果您先關閉視窗,那麼應用程式將恢復到未開啟視窗的狀態。

感謝:

我的好朋友戴夫-羅伯茨(Serendipity App Company)的集思廣益,讓我明白了為什麼讓應用程式在從 Finder 開啟文件時做出不同的反應會如此困難。 撕掉它,重新開始! 感謝 Dustin Mierau 為現代 macOS 重塑已被遺忘的舊版應用程式,開啟了這一潮流。 永遠感謝 Chris Patterson 和 Ali Rantakari 提供的應用程式。

其他

  • 駭客新聞

相關文章