【发布时间】:2010-11-21 11:07:30
【问题描述】:
我运行了一个 bash 脚本来切换桌面图标的可见性,如下所示:
#!/bin/bash
DESKTOP=$(defaults read com.apple.finder "CreateDesktop")
if [ $DESKTOP == 1 ]
then
defaults write com.apple.finder CreateDesktop -bool false
else
defaults write com.apple.finder CreateDesktop -bool true
fi
killall Finder
它有效,但这里有两个问题我不知道是否可以使用 bash。
运行此脚本时,它会打开终端运行应用程序并保持终端打开。
有什么方法可以让这个脚本运行而不需要打开终端? 我找到了这个链接Making an executable bash file run when clicked,它使用 Platypus 作为脚本的包装器,但我想知道是否可以在没有任何额外工具的情况下在本地做某事:)
运行脚本时,killall Finder 会重新启动所有内容,因此屏幕会闪烁,您会失去窗口的实际状态
是否可以只使桌面图标平滑淡入/淡出而不影响基于Finder的窗口和其他资源?
这个Camouflage 应用程序是这样工作的,所以基本上我想知道是否可以使用 bash 脚本复制这种行为。
就是这样,我希望它很容易理解。 你可以说我可以使用这个伪装应用程序来满足我的需要,但实际上我正在尝试了解它并尝试自己做(显然,在你的帮助下:)
提前致谢
更新
我正在查看第二个问题,但我不确定,但似乎有问题的应用程序并没有从 destkop 隐藏图标,而是在桌面上最前面的级别之间创建了一个叠加层(即位于图标上方)并生成与桌面图像相同的图像。因此褪色效果,因为它可以控制出现时的图像过渡。帮助我分析的原因是每次关闭应用程序时,图标都会重新出现。所以它一定与它有关。 如果我错了,真的有可能做其他方式,请分享您的意见:)
【问题讨论】:
-
您是否尝试过使用不同的信号?例如
killall -SIGHUP Finder。我不知道 Finder 会响应什么信号。 -
我也是,不幸的是我已经尝试过没有什么不同的事情发生:(
标签: macos bash scripting osx-snow-leopard