百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

仅花一天时间,开发者重制 32 年前经典 Mac 应用!

qiyuwang 2024-10-11 18:21 11 浏览 0 评论

【CSDN 编者按】在这个快节奏的技术世界里,重温过去并从中汲取灵感总是一件有趣的事情。今天要介绍的是一款仅用一天时间重制的经典 Macintosh 应用——Stapler。这款应用最初发布于1992年,现在由一位充满激情的开发者重新打造,不仅保留了原汁原味的功能,还加入了现代化的改进和特性,使其更适合现代 macOS 用户的需求。

原文链接:https://blog.gingerbeardman.com/2024/08/10/stapler-i-remade-a-32-year-old-classic-macintosh-app/

作者 | Matt Sephton 翻译 | 郑丽媛
出品 | CSDN(ID:CSDNnews)

几天前,我在 Hacker News 上看到了某些 Linux 窗口管理器中的一个功能,它们允许用户收集来自不同应用的标签页。

这让我想起了 BeOS,同时也让我想起了 1992 年经典 Macintosh 上的一款应用 Stapler,以及我过去曾讨论过的它的“精神继任者”LaunchList。这两个应用都类似,都允许用户收集并启动与特定任务相关的所有应用、文件、文件夹、文档,从而节省时间。

在这种灵感下,我花了大概一天的时间,在现代 macOS 上重现了 32 年前的这一应用概念!

虽然我的应用受到了 Stapler(连名字都一样)和 LaunchList 的启发,但我在应用里添加了自己的改进和功能,更像是两者的混合体。例如,Stapler 没有拖放功能,而 LaunchList 没有零点击自动启动功能。我的目标是让应用尽可能简单,但不过度简化。为此,应用中没有任何偏好设置或选项。

感兴趣的开发者,可前往我的 GitHub 查看完整详情和下载链接:https://github.com/gingerbeardman/stapler。


许多好东西总是过早地被遗忘了

这个应用的基本设想是,为每个项目创建一个 Stapler 文档,里面包含相关的应用、文件、文件夹等,然后你可以通过启动单个文档一次性打开它们。每个文档包含一个别名列表,这些别名可通过应用进行管理、检查和启动。最关键的时间节省点在于,如果你直接启动一个 Stapler 文档,它列表中的所有项目都会自动启动。

例如:

  • 工作:文本编辑器、运行当前游戏、像素艺术编辑器、位图字体应用、待办事项列表

  • 娱乐:音乐应用、Hacker News 应用、Twitter 应用、用于定位窗口的脚本

  • 电影:运行 Caffeine 保持计算机不断电,快捷方式让显示器进入休眠模式

这种工作方式与在计算机上常见的思维方式有所不同——它是基于任务的,而不是基于应用或文档的。确实,有些人可能会说这是一种过时的工作方式。但我一直坚持认为,许多好东西总是过早地被遗忘了,就像 System 7(我还在用它)、BeOS、OS/2、Amiga Workbench、GEM 以及 Atari ST 等平台上的许多替代桌面环境。

因此,我想看看我是否能在实践中验证这个想法,而不仅仅是空谈。Stapler


关于 Stapler 的详细信息

这个应用是用 Swift 和 SwiftUI 编写的,体积大小只有 640KB,其中大约三分之一是各种不同大小和分辨率的图标文件。通过创建一个基于文档的应用程序,你可以免费获得大量功能,比如文档/标签/窗口管理、撤销/重做(尽管我仍需要监控并刷新应用程序窗口)等更多功能。

编辑器是一个原生的 macOS 窗口,有点像文件管理器中的列表视图、电子表格或一个小文件夹……这主要取决于你的看法。此外,还有一些菜单命令和键盘快捷键。你可以同时打开多个窗口,例如每个常见任务都有一个窗口,这样你就可以轻松启动完整任务或部分任务。

每个列表中的项目都是 macOS 书签(有时称为安全范围内的书签),这是一种经过授权/验证/安全的别名类型,已经存在大约 10 到 15 年了。它们不仅包含文件路径,还包括许多其他信息。随着 macOS 的安全性不断提高,访问文件的推荐方式是通过正常的系统权限和安全层来检索这些书签。如果没有这些书签,仅使用纯文本路径,我将无法在 Quick Look 中显示完整的图像或轻松启动列表项。有一个关键好处是,即使文件被移动到同一个磁盘的其他地方,甚至是不同的卷上,书签仍然可以解析到正确的路径!

我将这些项目存储为 JSON 格式的文件,主要是因为我更喜欢 JSON 而不是 XML(XML 是主要/默认的选择)。我希望文件仍能在人类可读的范围内,并且可以在一定程度上进行编辑。

文件是使用该文件指定的默认应用来启动的,因此可以根据每个文件单独更改。比如,个别图像可能会在图像编辑器、图像查看器、运行 OCR 的应用、运行 OCR 的脚本等中打开。

处理文件既有趣又烦人,有趣的是你可以轻松获取文件的书签,烦人的是你必须跳过很多安全和沙盒保护的障碍,最终不得不以冗长的方式处理文件请求,还需要调整 plist 文件中的条目以赋予应用适当的权限。我使用了一些 SwiftUI 的特性,这意味着应用无法在 macOS 14 Sonoma 之前的操作系统上运行。我认为现代 macOS 的开发有些参差不齐,不过取舍由人吧。


图标 & 小贴士

由于这个项目是我在周末快速完成的,所以进行到设计图标时,我就有点动力不足了。我很希望能有一个更好的应用图标,以及一个专门的文档图标,欢迎任何图标设计师都可以参与进来(https://github.com/gingerbeardman/stapler/issues/1)。

最后,确保取消勾选:系统设置 > Desktop & Dock > Windows > 退出应用程序时关闭窗口。

然后在退出应用时保留应用的窗口打开状态。这样下次启动应用时,其窗口将恢复到之前的大小和位置。如果你先关闭窗口,那么应用将恢复到没有窗口打开的状态。

相关推荐

程序员都用什么电脑?适合编程笔记本电脑推荐

适合程序员的笔记本电脑首先应该满足小巧轻便这个需求,然后才是性能因素,一个标准的程序员必定能够随时随地改BUG,所以可以优先考虑苹果MacBookPro,由于其MacOS就是Linux内核,做开...

Linux(debian)内核编译(二)虚拟网卡实例

2.10.虚拟网卡TUN/TAP...

老毛子要上天 冬天竟然拿矿机当暖气

2017-12-2814:10:55作者:李鑫我们都知道矿机在实际工作当中会产生出大量的热能,近日俄罗斯就有人用Comino挖矿电脑来充当暖气的效果,这台电脑不需要特别安装,也没有多余的接口,同样...

qemu linux内核(5.10.209)开发环境搭建

版本信息宿主机:ubuntu20.04.6LTS(FocalFossa)虚拟机:ubuntu20.04.6LTS(FocalFossa)安装宿主机的步骤省略,和一般的在vmware中安...

Ubuntu 16.04 LTS现已正式支持IBM LinuxONE与z Systems

4月22号的时候,Canonical很高兴地宣布了Ubuntu16.04LTS(XenialXerus)已正式支持IBMzSystems和LinuxONE大型机的消息。该长期支持版本经历了六...

号称最强大深度学习笔电,雷蛇推出Lambda Tensorbook笔记本电脑

IT之家4月13日消息,深度学习公司Lambda与雷蛇合作,发布了新的LambdaTensorbook笔记本电脑,号称是世界上为深度学习设计的最强大的笔记本电脑,可以使用Linux...

电脑连 WiFi 全攻略!3 步搞定 + 疑难解答

电脑搜不到WiFi?输对密码却连不上?看视频卡、打游戏延迟高?别慌!不管你用Win/Mac还是Linux,这篇保姆级教程从连接步骤到故障排查全覆盖,10分钟让你告别“网络黑洞”!一、基础连...

linux 网卡bond模式

如何进行Linux网络绑定网络绑定简介在Debian10Buster(DHCP)上配置有线和无线网络绑定...

在 Ubuntu Server 上配置静态 IP 地址

Ubuntu17.10之前版本编辑/etc/network/interfaces文件重启网络服务或重启服务器来应用新的配置...

爬虫搞崩网站后,程序员自制“Zip炸弹”反击,6刀服务器成功扛住4.6万请求

...

Linux网络运维脚本实战示例:配置下发

在Linux网络运维场景中,自动化配置下发是提高效率的关键。一个示例展示如何编写一个Shell脚本,用于远程批量部署网络配置到多台服务器。本示例将使用SSH无密码登录和Ansible自动化工具来简化和...

KVM 虚拟机网络连接异常的排查方法

#KVM虚拟机网络连接异常的排查方法当KVM虚拟机出现网络连接问题时,可以按照以下系统化的方法进行排查和解决:##一、基础网络检查###1.检查虚拟机网络状态```bash#在虚拟机内部检...

技术宅教你linux开发板直连电脑ubuntu

1:我使用的是笔记本,台式机类似。原理:和开发板挂载到路由器或者交换机不一样。我们通过笔记本电脑直连,是将笔记本的物理网卡作为一个桥梁,把开发板和虚拟机ubuntu连接在一起。连接好以后可以使用NFS...

Ubuntu 25.04发行版登场:Linux 6.14内核,带来多项技术革新

IT之家4月18日消息,科技媒体linuxiac昨日(4月17日)发布博文,报道称代号为PluckyPuffin的Ubuntu25.04发行版正式上线,搭载最新Linu...

【故障解决】麒麟系统右下角网络图标取消显示叹号

原文链接:【故障解决】麒麟系统右下角网络图标取消显示叹号...

取消回复欢迎 发表评论: