blob: 978b6b7b6a4869cfdb2345b0c9f6116f68d6d515 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/usr/bin/env sh
# log_() { echo "$@" >> ~/dump/log; }
set -e;
screen_width=$(xdotool getdisplaygeometry 2>/dev/null | cut -d' ' -f1)
width_px=1000
height_lines=25
top_offset=0
font_width=7
win_width=$(($width_px / $font_width))
win_offset=$((($screen_width - $width_px) / 2))
fzf_args=$([ -z "$*" ] && echo "" || printf "'%s' " "$@")
stdin_pipe=$(mktemp -u /tmp/fzfmenu-input-XXXX)
stdout_pipe=$(mktemp -u /tmp/fzfmenu-output-XXXX)
mkfifo "$stdin_pipe" "$stdout_pipe"
trap "rm -f '$stdin_pipe' '$stdout_pipe'" EXIT
cat >"$stdin_pipe" <&0 &
cat "$stdout_pipe" &
cmd="fzf --height=100% $fzf_args <'$stdin_pipe' >'$stdout_pipe'"
st \
-i -g "=${win_width}x${height_lines}+${win_offset}+${top_offset}" \
-e sh -c "$cmd" \
>/dev/null 2>&1;
wait;
|