ruby - 告诉预览关闭窗口后保留控制权
问题描述
我在一个目录结构中有数百张图像,有时我想一张一张地查看它们以找到我想要的那张。
我想把每一个都打开,然后如果不是我想要的,关闭它并查看下一个,单击鼠标或在终端窗口中输入一个字母的命令。在执行一个applescript告诉Preview关闭最前面的窗口后,是否可以打开一个文件并保留控制权。当我尝试这个时,预览保持活动状态,我的脚本暂停,我需要 cmd-tab 返回 iTerm 窗口以使其继续。在对预览执行“告诉”之前,我尝试在 applescript 中设置超时,但这没有用。有没有解决的办法?这是我当前的 ruby 脚本:
#!/usr/bin/env ruby
require 'find'
def osascript(script)
system 'osascript', *script.split(/\n/).map { |line| ['-e', line] }.flatten
end
file_paths = []
Find.find('.') do |path|
file_paths << path if path =~ /.*\.png$/
end
file_paths.each do |f|
system "open '#{f}'"
decision = gets.chomp
if decision.eql? "s" then
exit
end
osascript <<-END
tell application "Preview"
close window 1
end tell
END
end
解决方案
为什么你不只是使用标准的 Finder 功能?使用 Finder 打开文件夹,选择第一个文件并键入空格键以快速查看。然后只需使用向上和向下箭头键即可显示该文件夹中的下一张/上一张图像。更快和内置。
另一种方法是在 Finder 窗口中选择每个缩略图的视图。您可以调整窗口右下角的大小。图像较小,但您可以在屏幕上同时看到更多图像。
推荐阅读
- python - 如何构造与 `tf.one_hot` 返回的相同类型的对象?
- delta-lake - 是否有用于转换为 Delta(Delta Lake)格式的 CDAP/Data Fusion 插件?
- ssh - 如何在我们通过 SSH 连接到的计算机中通过命令行安装东西
- asp.net - ASP.Net 中继器:复选框检查状态不会在表单提交时持续存在
- python - 更新 for 循环中的变量以从 Alpaca API 中提取时间步长 - Python
- session - Kong会话插件到期
- algorithm - 算法:随机化亮度和对比度值,有约束
- regex - 使用正则表达式和多个变量遍历文件
- python - Jupyter Notebook 中的内核错误;无法安装 pywin32-postinstall
- python-3.x - 使用 Scapy 的 Python 端口扫描器不起作用