markam/conkeror/linkwave.js

53 lines
1.8 KiB
JavaScript
Raw Normal View History

define_variable("linkwave_program", "/home/slash/projects/nlinkwave/src/linkwave",
"The location of the linkwave executable.");
function linkwave_add_url(I, url, title)
{
let url_string = load_spec_uri_string(load_spec(url));
let title = yield I.minibuffer.read($prompt="name (required): ",
$initial_value=title);
let description = yield I.minibuffer.read(
$prompt="extended description: "
);
let tags = yield I.minibuffer.read(
$prompt="tags (comma delimited): "
);
let command = linkwave_program + ' "' + url_string + '" "' + title
+ '" "' + description + '" \''
+ tags.split(',').map(function (str)
{ return str.trim(); }).join("' '")
+ "'";
yield shell_command(command);
}
function linkwave_add(I) {
check_buffer(I.buffer, content_buffer);
let result = yield linkwave_add_url(I, I.buffer.top_frame,
I.buffer.title);
if (!result)
I.window.minibuffer.message('Added to linkwave');
else
I.window.minibuffer.message('Couldn\'t add to linkwave');
}
interactive("linkwave-add",
"Bookmark a page in linkwave",
linkwave_add);
function linkwave_add_link(I) {
check_buffer(I.buffer, content_buffer);
bo = yield read_browser_object(I);
let result = yield linkwave_add_url(I, encodeURIComponent(bo),
bo.textContent);
if (!result)
I.window.minibuffer.message('Added to linkwave');
else
I.window.minibuffer.message('Couldn\'t add to linkwave');
}
interactive("linkwave-add-link",
"Bookmark a link in linkwave",
linkwave_add_link);
provide("linkwave");