我正在使用带有 dmenu 的 dwm,但正在尝试用 fzf 替换 dmenu 作为应用程序启动器。我看过例子在 fzf wiki 中没有找到有关特定问题的信息。
问题是我无法使用示例中的设置启动 PhpStorm。因此,由于缺乏 Linux 知识,我只能提出部分且不完整的解决方案。
这是我的菜单脚本:
#!/usr/bin/env bash
st -c phpstorm -n phpstorm -e sh -c "storm" & disown
sleep 5; kill $!;
这是我的辅助脚本,名为 storm:
#!/bin/bash
result=$(find ~/www -type d | fzf )
[ -z $result ] && exit
nohup phpstorm $result >/dev/null 2>&1
在 phpstorm 启动后,我必须终止 suckless 终端会话,否则 fzf 选择后的终端窗口将保持打开状态,我必须手动将其关闭。另一方面,PhpStorm 的操作方式与 vscode 或 sublime 不同,因为它以 jvm 启动。即使我这样做,phpstorm dir &
它也会不断将 java 输出扔进日志中。我无法让它在后台正确启动,有人知道如何以更好的方式做到这一点吗?
答案1
我已经使用以下两个脚本取得了成果
fzfmenu
脚本:
#!/usr/bin/env bash
st -c fzfmenu -n fzfmenu -g "100x12" -e sh -c "storm" & disown
storm
脚本:
#!/bin/bash
result=$(find ~/www -type d | fzf)
[ -z $result ] && exit
(nohup phpstorm $result >/dev/null 2>&1 &)
pkill -f fzfmenu