我正在使用(并且喜欢!)XMonad作为窗口管理器。然而,我不确定如何实现一个键盘快捷键,可以spawn一个新的进程/窗口与当前窗口的工作目录。
我认为这个问题有两个部分:确定当前活动窗口的工作目录,以及使用给定的工作目录产生一个进程。
对于进程派生,我目前使用的是一种方法,我派生/bin/sh,将cd放到想要的位置,然后启动程序,有没有更好的方法呢?
为了确定当前窗口的工作目录,我不知道该怎么做。快速搜索xmonad-contrib没有显示任何内容,尽管我可能遗漏了一些东西。这是X提供给窗口管理器的属性吗?也许我可以用/proc树做点什么?
发布于 2019-05-31 12:37:16
spawn已经调用了/bin/sh,所以您只需将cd放入您所产生的东西中,就像spawn "cd /very/good/directory && very-good-executable --very --good --arguments"一样。
甚至没有一种可靠的方法来检测哪个进程与给定的窗口相关联--即使可以,它也可能不在这台机器上运行!--更不用说它的工作目录了。但也请参阅偶尔可用的_NET_WM_PID原子和this question on the Unix stackexchange。
https://stackoverflow.com/questions/56387720
复制相似问题