hacking fugu
家里windows desktop已经太老了,老到我懒得开它
基本只有powerbook了
MAC上的软件往往可选择的余地不多,毕竟ecosystem不如windows多年经营
但是往往找到一个最好的就足矣,windows上的再多,你也不会装10个20个同类软件换着用
在MAC上的sftp/scp client我用fugu,其他的几个cyberduck什么的复制过去总是把permission也帮忙改了,导致其他问题,fugu就不会有这个问题
但是fugu的问题是当覆盖远端目录失败的时候会弹出一个对话框,需要点OK来确认
这也许只是设计哲学的问题,可是对于传多个目录文件的时候就有点不胜其烦
偶然发现其实fugu是开源的软件。
于是下载源代码在Xcode里打开并尝试编译。改了几个小问题编译成功,下一步就是找到显示对话框的代码。Find in project没找到,grep也没找到,于是尝试减少词句,找到一个,似乎就是它了,设断点,在debug方式跑起来。。。结果没停在预期的代码上。
实在是奇怪。静下心来继续看代码,找到相关处理的源文件中处理出错的函数,没有发现相关的字符串啊???想不通了,之后在该处下断点,运行之。成功被拦截到了,继续看变量的内容,
果然就是出错的那句话“Couldn’t create directory”,太奇怪了,代码的任何地方都没有这句话,也不在resource文件里,往回看代码,居然是从文件fd里读出来的。继续往回看代码,是SOCKET。也就是说这句话是ssh server那边发回来的,哈哈,怪不得。
剩下的是就比较简单,把这句话用一个条件变量控制一下,让丫不显示。编译,运行,成功。
继续研究,准备在preference里加一个checkbox控制这件事。看developer.apple.com上关于interface builder的文档看到半夜,改了并编译运行了。对不对只能再找时间验证一下。