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
|
## List of process pattern to monitor
|
||||||
qutebrowser_proc_pattern="(qutebrowser)"
|
qutebrowser_proc_pattern="(qutebrowser)"
|
||||||
|
|
||||||
|
## Store selected content to a temp file
|
||||||
|
choice_temp_file="$(mktemp -t ${PROGNAME}-XXXXXX.tmp)"
|
||||||
|
|
||||||
}
|
}
|
||||||
# }}}
|
# }}}
|
||||||
debug_message() { # {{{
|
debug_message() { # {{{
|
||||||
|
@ -100,6 +103,66 @@ Start qutebrowser from ${RED}Git repository${COLOR_DEBUG}."
|
||||||
~/repos/qutebrowser/qutebrowser.py --backend webengine
|
~/repos/qutebrowser/qutebrowser.py --backend webengine
|
||||||
fi
|
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
|
### Then exit with success
|
||||||
is_proc_running "${qutebrowser_proc_pattern}" \
|
is_proc_running "${qutebrowser_proc_pattern}" \
|
||||||
|| launch_qutebrowser \
|
|| launch_qutebrowser \
|
||||||
&& exit 0
|
|| exit 0
|
||||||
|
|
||||||
|
## Manage existing instance
|
||||||
|
goto_existing_qutebrowser
|
||||||
|
|
||||||
}
|
}
|
||||||
# }}}
|
# }}}
|
||||||
|
|
Loading…
Reference in New Issue