summaryrefslogtreecommitdiffstats
path: root/conkeror/.conkerorrc/ext_restore.js
diff options
context:
space:
mode:
authorGravatar Tom Willemse2013-11-03 21:21:21 +0100
committerGravatar Tom Willemse2013-11-03 21:21:21 +0100
commit5c6cd059e8395d7f24d4b199e59c8c2f562dc438 (patch)
tree2e108e0724b5f5248de11c515312fa8c7c04ab4c /conkeror/.conkerorrc/ext_restore.js
parentcca8771d855a3c8ba67bcb43a45967d9e4b6dd15 (diff)
downloaddotfiles-5c6cd059e8395d7f24d4b199e59c8c2f562dc438.tar.gz
dotfiles-5c6cd059e8395d7f24d4b199e59c8c2f562dc438.zip
New stow hierarchy
Diffstat (limited to 'conkeror/.conkerorrc/ext_restore.js')
-rw-r--r--conkeror/.conkerorrc/ext_restore.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/conkeror/.conkerorrc/ext_restore.js b/conkeror/.conkerorrc/ext_restore.js
new file mode 100644
index 0000000..39b125e
--- /dev/null
+++ b/conkeror/.conkerorrc/ext_restore.js
@@ -0,0 +1,33 @@
+/// From http://conkeror.org/Tips#Restore_Killed_Buffer_Url
+// I think by the time kill_buffer_hook runs the buffer is gone so I
+// patch kill_buffer
+
+var kill_buffer_original = kill_buffer_original || kill_buffer;
+
+var killed_buffer_urls = [];
+
+kill_buffer = function (buffer, force) {
+ if (buffer.display_uri_string) {
+ killed_buffer_urls.push(buffer.display_uri_string);
+ }
+
+ kill_buffer_original(buffer,force);
+};
+
+interactive("restore-killed-buffer-url", "Loads url from a previously killed buffer",
+ function restore_killed_buffer_url (I) {
+ if (killed_buffer_urls.length !== 0) {
+ var url = yield I.minibuffer.read(
+ $prompt = "Restore killed url:",
+ $completer = all_word_completer($completions = killed_buffer_urls),
+ $default_completion = killed_buffer_urls[killed_buffer_urls.length - 1],
+ $auto_complete = "url",
+ $auto_complete_initial = true,
+ $auto_complete_delay = 0,
+ $match_required);
+
+ load_url_in_new_buffer(url);
+ } else {
+ I.window.minibuffer.message("No killed buffer urls");
+ }
+ });