Get buffers list from Qutebrowser
This commit is contained in:
parent
18d39a2834
commit
05ddce993a
61
qb
61
qb
|
@ -61,6 +61,11 @@ define_vars() { # {{{
|
|||
## Store selected content to a temp file
|
||||
choice_temp_file="$(mktemp -t ${PROGNAME}-XXXXXX.tmp)"
|
||||
|
||||
## Variables to get Qutebrowser currents buffers
|
||||
QUTEBROWSER_SESSION_FILE="/tmp/qutebrowser_buffers_zsbd"
|
||||
QUTEBROWSER_SOCKET_FILE="${XDG_RUNTIME_DIR}/qutebrowser/ipc-$(echo -n "$USER" | md5sum | cut -d' ' -f1)"
|
||||
QUTEBROWSER_GLOBAL_CONTENT="/tmp/qutebrowser_global_content"
|
||||
|
||||
}
|
||||
# }}}
|
||||
debug_message() { # {{{
|
||||
|
@ -196,25 +201,55 @@ Qutebrowser window ID : ${RED}${qutebrowser_window_id}${COLOR_DEBUG} on deskto
|
|||
|
||||
}
|
||||
# }}}
|
||||
search_qb_bookmark() { # {{{
|
||||
get_qutebrowser_buffers() { # {{{
|
||||
|
||||
debug_message "search_qb_bookmark − \
|
||||
Search in Qutebrowser's bookmarks."
|
||||
## Clear previous buffers list
|
||||
[ -f "${QUTEBROWSER_SESSION_FILE}" ] && rm -f -- "${QUTEBROWSER_SESSION_FILE}"
|
||||
|
||||
st -g 90x30+0+540 -n QuteBrowser -t QuteBrowser -e sh -c "cat ~/.config/qutebrowser/quickmarks ~/.config/qutebrowser/bookmarks/urls | fzf +m > ${choice_temp_file}"
|
||||
## Run save_buffers.py in Qutebrowser
|
||||
echo '{"args":[":save-window-and-buffers"], "target_arg":"", "protocol_version":1}' |\
|
||||
socat - UNIX-CONNECT:"$QUTEBROWSER_SOCKET_FILE"
|
||||
|
||||
## Wait to get the buffers list
|
||||
i="0"
|
||||
while [ "${i}" -lt "5" ]; do
|
||||
if [ -f "${QUTEBROWSER_SESSION_FILE}" ]; then
|
||||
break
|
||||
else
|
||||
sleep 0.01
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
|
||||
sed "s/^/ff /g" "${QUTEBROWSER_SESSION_FILE}" >> "${QUTEBROWSER_GLOBAL_CONTENT}"
|
||||
|
||||
}
|
||||
# }}}
|
||||
search_qb_content() { # {{{
|
||||
|
||||
debug_message "search_qb_content − \
|
||||
Search in Qutebrowser's content (*marks, buffers,…)."
|
||||
|
||||
## Get current buffers from Qutebrowser
|
||||
get_qutebrowser_buffers
|
||||
## Add quickmarks and bookmarks to global Qutebrowser content
|
||||
cat "${HOME}/.config/qutebrowser/quickmarks" >> "${QUTEBROWSER_GLOBAL_CONTENT}"
|
||||
cat "${HOME}/.config/qutebrowser/bookmarks/urls" >> "${QUTEBROWSER_GLOBAL_CONTENT}"
|
||||
|
||||
st -g 90x30+0+540 -n QuteBrowser -t QuteBrowser -e sh -c "cat ${QUTEBROWSER_GLOBAL_CONTENT} | fzf +m > ${choice_temp_file}"
|
||||
|
||||
if [ -s "${choice_temp_file}" ]; then
|
||||
debug_message "search_qb_bookmark − \
|
||||
debug_message "search_qb_content − \
|
||||
Store results in ${choice_temp_file}."
|
||||
return_search_qb_bookmark="0"
|
||||
return_search_qb_content="0"
|
||||
|
||||
else
|
||||
debug_message "search_qb_bookmark − \
|
||||
debug_message "search_qb_content − \
|
||||
Search aborded or can't find matching bookmark."
|
||||
return_search_qb_bookmark="1"
|
||||
return_search_qb_content="1"
|
||||
fi
|
||||
|
||||
return "${return_search_qb_bookmark}"
|
||||
return "${return_search_qb_content}"
|
||||
|
||||
}
|
||||
# }}}
|
||||
|
@ -240,6 +275,12 @@ URL from classic bookmark ${RED}${url}${COLOR_DEBUG}."
|
|||
debug_message "get_url − \
|
||||
URL from quickmark ${RED}${url}${COLOR_DEBUG}."
|
||||
;;
|
||||
ff* ) ## Buffer
|
||||
url=""
|
||||
return_get_url="1"
|
||||
debug_message "get_url − \
|
||||
Buffer not yet managed."
|
||||
;;
|
||||
* )
|
||||
debug_message "get_url − \
|
||||
Content not yet managed."
|
||||
|
@ -265,7 +306,7 @@ goto_existing_qutebrowser() { # {{{
|
|||
Try to open content in existing instance."
|
||||
|
||||
## Try to open Qutebrowser content
|
||||
search_qb_bookmark \
|
||||
search_qb_content \
|
||||
&& get_url \
|
||||
&& open_in_qutebrowser
|
||||
|
||||
|
|
Loading…
Reference in New Issue