-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fzf support? #48
Comments
It should be possible to integrate fzf and dmenu without changing this application. Maybe fzf even supports a "pipe-through" mode? (maybe something like |
Yeah, I think something like that. FZF is a standard UNIX pipe. On Fri, Nov 6, 2015, 19:01 enkore [email protected] wrote:
|
Please excuse me this little necrobump, but I'm struggling with this approach:
It works, but the selected process is not being started in background and therefore it blocks the launcher terminal from exiting. The same approach works 100% fine using
... but it's noticeably (painfully) slower :( @enkore, is there a reason those two behave differently? Can I get somehow |
IIRC i3dd uses some proprietary i3 stuff (i3-sendmsg or so) to have i3 start the process on its behalf, j4dd stopped doing that years ago to be independent of i3. Try
|
Adding simple ampersand at the end of command results in:
and nothing shows up. I believe that Would it be possible to just return the selection from
|
Is this going to be resolved? I would also like to use fzf as an app launcher, but i3dd + fzf is too slow for my liking. For me, j4dd just doesn't detach from the terminal. Would this be possible to implement? |
@ritobanrc see my comment above - someone would have to implement a switch to disable automatic selection execution 🙏 |
That seems reasonable to me. It should then just output the command line on stdout? |
My solution is to override the Create a file which will be used as the fake shell: #!/bin/bash
function run_dmenu {
while test $# -gt 0; do
[[ $1 == fzf ]] && return 0
shift
done
return 1
}
if run_dmenu $*; then
SHELL=/bin/bash exec /bin/bash "$@"
else
shift
[[ $1 == -c ]] && shift
exec echo "$@"
fi Then use j4dd like this: cmd=$(SHELL=/path/to/fake_shell j4-dmenu-desktop --dmenu=fzf | sed -n 2p)
[[ -n "$cmd" ]] && i3-msg exec "$cmd" |
That'd be great! |
so I got this to work with two scripts like this: (on sway) ----------$HOME/scripts/dmenu-fzf.sh-------------------- its not perfect though, I'm not sure if the Path part of .desktop files is being respected like this... would be much nicer, if the launched program would just be disowned by j4-dmenu automatically, so the terminal could close afterwards |
Nevermind I just found out about the wrapper part: #!/bin/bash |
FYI: The code for |
I don't quite understand the difference to --wrapper. Right now you would use with --no-exec you would do Am I missing something? This would still involve swaymsg / i3msg or any other program to spawn the program. What I'd have thought would be a good solution is a --bg / --disown flag, that spawns the program in the background and then terminates j4-dmenu-desktop. That way you could just do |
That would be pretty simple, just fork+setsid before executing. if(background)
switch(fork()) {
case 0:
setsid();
break;
case -1:
perror("fork");
return 1;
default:
return 0;
}
exec(...); |
Fast forward from 2017 to 2024 😄 If someone finds this over Google, here is how I ended up solving this:
@enkore I think that this issue can be closed, can't it? |
@b0ch3nski I haven't investigated this issue in depth, but I believe that
or
Support for i3 IPC was introduced in r3.0, but it contains some bugs which prevent it from being used on Sway. Full support for Sway is not in any released version of j4-dmenu-desktop yet, but you could try out the r3.1 release candidate released yesterday. |
The next version of Fuzzel will include |
Would be great if one could do fuzzy search. Maybe you can detect and perform fuzzy search if
fzf
is present in the system. The implementation should be as easy as adding two pipes, aroundfzf
.The text was updated successfully, but these errors were encountered: