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
|
## Store selected content to a temp file
|
||||||
choice_temp_file="$(mktemp -t ${PROGNAME}-XXXXXX.tmp)"
|
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() { # {{{
|
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 − \
|
## Clear previous buffers list
|
||||||
Search in Qutebrowser's bookmarks."
|
[ -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
|
if [ -s "${choice_temp_file}" ]; then
|
||||||
debug_message "search_qb_bookmark − \
|
debug_message "search_qb_content − \
|
||||||
Store results in ${choice_temp_file}."
|
Store results in ${choice_temp_file}."
|
||||||
return_search_qb_bookmark="0"
|
return_search_qb_content="0"
|
||||||
|
|
||||||
else
|
else
|
||||||
debug_message "search_qb_bookmark − \
|
debug_message "search_qb_content − \
|
||||||
Search aborded or can't find matching bookmark."
|
Search aborded or can't find matching bookmark."
|
||||||
return_search_qb_bookmark="1"
|
return_search_qb_content="1"
|
||||||
fi
|
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 − \
|
debug_message "get_url − \
|
||||||
URL from quickmark ${RED}${url}${COLOR_DEBUG}."
|
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 − \
|
debug_message "get_url − \
|
||||||
Content not yet managed."
|
Content not yet managed."
|
||||||
|
@ -265,7 +306,7 @@ goto_existing_qutebrowser() { # {{{
|
||||||
Try to open content in existing instance."
|
Try to open content in existing instance."
|
||||||
|
|
||||||
## Try to open Qutebrowser content
|
## Try to open Qutebrowser content
|
||||||
search_qb_bookmark \
|
search_qb_content \
|
||||||
&& get_url \
|
&& get_url \
|
||||||
&& open_in_qutebrowser
|
&& open_in_qutebrowser
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue