Parse {quick,book}marks and open it in Qutebrowser
This commit is contained in:
parent
3e3c377035
commit
4885bd4ec9
68
qb
68
qb
|
@ -42,6 +42,9 @@ define_vars() { # {{{
|
|||
## List of process pattern to monitor
|
||||
qutebrowser_proc_pattern="(qutebrowser)"
|
||||
|
||||
## Store selected content to a temp file
|
||||
choice_temp_file="$(mktemp -t ${PROGNAME}-XXXXXX.tmp)"
|
||||
|
||||
}
|
||||
# }}}
|
||||
debug_message() { # {{{
|
||||
|
@ -100,6 +103,66 @@ Start qutebrowser from ${RED}Git repository${COLOR_DEBUG}."
|
|||
~/repos/qutebrowser/qutebrowser.py --backend webengine
|
||||
fi
|
||||
|
||||
}
|
||||
# }}}
|
||||
goto_existing_qutebrowser() { # {{{
|
||||
|
||||
debug_message "goto_existing_qutebrowser − \
|
||||
Try to open content in existing instance."
|
||||
|
||||
search_qb_bookmark \
|
||||
&& open_in_qutebrowser
|
||||
|
||||
}
|
||||
# }}}
|
||||
search_qb_bookmark() { # {{{
|
||||
|
||||
debug_message "search_qb_bookmark − \
|
||||
Search in Qutebrowser's bookmarks."
|
||||
|
||||
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}"
|
||||
|
||||
if [ -s "${choice_temp_file}" ]; then
|
||||
debug_message "search_qb_bookmark − \
|
||||
Store results in ${choice_temp_file}."
|
||||
local_search_qb_bookmark_return="0"
|
||||
|
||||
else
|
||||
debug_message "search_qb_bookmark − \
|
||||
Search aborded or can't find matching bookmark."
|
||||
local_search_qb_bookmark_return="1"
|
||||
fi
|
||||
|
||||
return "${local_search_qb_bookmark_return}"
|
||||
|
||||
}
|
||||
# }}}
|
||||
open_in_qutebrowser() { # {{{
|
||||
|
||||
local_content=$(cat "${choice_temp_file}")
|
||||
|
||||
debug_message "open_in_qutebrowser − \
|
||||
Try to manage ${RED}$(cat "${choice_temp_file}")${COLOR_DEBUG}."
|
||||
|
||||
case "${local_content}" in
|
||||
http* ) ## Classic bookmark
|
||||
local_url=$(printf "%s" "${local_content}" | sed -e "s;\(http.*\) .*;\1;")
|
||||
debug_message "open_in_qutebrowser − \
|
||||
Try to open classic bookmark URL ${RED}${local_url}${COLOR_DEBUG}."
|
||||
;;
|
||||
*http* ) ## Quickmark
|
||||
local_url=$(printf "%s" "${local_content}" | sed -e "s;.*\(http.*\);\1;")
|
||||
debug_message "open_in_qutebrowser − \
|
||||
Try to open quickbookmark URL ${RED}${local_url}${COLOR_DEBUG}."
|
||||
;;
|
||||
* )
|
||||
debug_message "open_in_qutebrowser − \
|
||||
Not yet managed."
|
||||
;;
|
||||
esac
|
||||
|
||||
~/src/qutebrowser-venv/bin/python3 -m qutebrowser "${local_url}"
|
||||
|
||||
}
|
||||
# }}}
|
||||
|
||||
|
@ -113,7 +176,10 @@ main() { # {{{
|
|||
### Then exit with success
|
||||
is_proc_running "${qutebrowser_proc_pattern}" \
|
||||
|| launch_qutebrowser \
|
||||
&& exit 0
|
||||
|| exit 0
|
||||
|
||||
## Manage existing instance
|
||||
goto_existing_qutebrowser
|
||||
|
||||
}
|
||||
# }}}
|
||||
|
|
Loading…
Reference in New Issue