unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#19863: 20.0.50; browse-url.el: Add support for Conkeror
@ 2015-02-14  6:36 vibhavp
  2015-03-17 17:45 ` Glenn Morris
  2015-03-18  0:56 ` bug#19863: (no subject) vibhavp
  0 siblings, 2 replies; 3+ messages in thread
From: vibhavp @ 2015-02-14  6:36 UTC (permalink / raw)
  To: 19863

[-- Attachment #1: Type: text/plain, Size: 264 bytes --]


Conkeror[1] is a web browser with an Emacs-like navigation interface. The
following patch add's support for Conkeror to browse-url.el. The code
uses the words "buffer" instead of "tabs", to keep consistency with
Conkeror's interface. 

[1]: http://conkeror.org/


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: browse-url-conkeror.patch --]
[-- Type: text/x-diff, Size: 4975 bytes --]

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 24cf80a..cccd57f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,12 @@
+2015-02-14  Vibhav Pant  <vibhavp@gmail.com>
+
+	* net/browse-url.el (browse-url-browser-function): Add "Conkeror".
+	(browse-url-conkeror-program, browse-url-conkeror-arguments)
+	(browse-url-conkeror-new-window-is-buffer): New defcustoms.
+	(browse-url-default-browser): Check for `browse-url-conkeror'
+	and call `browse-url-conkeror-program'.
+	(browse-url-conkeror): New command.
+
 2015-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* emacs-lisp/cl-preloaded.el (cl-struct-define): Register as children
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 42fb954..6cbf393 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -42,6 +42,7 @@
 ;; browse-url-netscape                Netscape    1.1b1
 ;; browse-url-mosaic                  XMosaic/mMosaic <= 2.4
 ;; browse-url-cci                     XMosaic     2.5
+;; browse-url-conkeror                Conkeror    Dont know
 ;; browse-url-w3                      w3          0
 ;; browse-url-w3-gnudoit              w3 remotely
 ;; browse-url-text-*	              Any text browser     0
@@ -236,6 +237,7 @@ regexp should probably be \".\" to specify a default browser."
 	  (function-item :tag "Netscape" :value  browse-url-netscape)
 	  (function-item :tag "Mosaic" :value  browse-url-mosaic)
 	  (function-item :tag "Mosaic using CCI" :value  browse-url-cci)
+	  (function-item :tag "Conkeror" :value  browse-url-conkeror)
 	  (function-item :tag "Text browser in an xterm window"
 			 :value browse-url-text-xterm)
 	  (function-item :tag "Text browser in an Emacs window"
@@ -413,6 +415,13 @@ functionality is not available there."
   :type 'boolean
   :group 'browse-url)
 
+(defcustom browse-url-conkeror-new-window-is-buffer nil
+  "Whether to open up new windows in a buffer or a new window.
+If non-nill, then open the URL in a new buffer rather than a new window if
+`browse-url-conkeror' is asked to open it in a new window"
+  :type 'boolean
+  :group 'browse-url)
+
 (defcustom browse-url-galeon-new-window-is-tab nil
   "Whether to open up new windows in a tab or a new window.
 If non-nil, then open the URL in a new tab rather than a new window if
@@ -459,6 +468,17 @@ commands reverses the effect of this variable.  Requires Netscape version
   :type 'string
   :group 'browse-url)
 
+(defcustom browse-url-conkeror-program "conkeror"
+  "The name by which to invoke Conkeror."
+  :type 'string
+  :version "25.1"
+  :group 'browse-url)
+
+(defcustom browse-url-conkeror-arguments nil
+  "A list of strings to pass to Conkeror as arguments."
+  :type '(repeat (string :tag "Argument"))
+  :group 'browse-url)
+
 (defcustom browse-url-filename-alist
   `(("^/\\(ftp@\\|anonymous@\\)?\\([^:]+\\):/*" . "ftp://\\2/")
     ;; The above loses the username to avoid the browser prompting for
@@ -933,6 +953,7 @@ used instead of `browse-url-new-window-flag'."
     ((executable-find browse-url-kde-program) 'browse-url-kde)
     ((executable-find browse-url-netscape-program) 'browse-url-netscape)
     ((executable-find browse-url-mosaic-program) 'browse-url-mosaic)
+    ((executable-find browse-url-conkeror-program) 'browse-url-conkeror)
     ((executable-find browse-url-xterm-program) 'browse-url-text-xterm)
     ((locate-library "w3") 'browse-url-w3)
     (t
@@ -1392,6 +1413,41 @@ used instead of `browse-url-new-window-flag'."
   (process-send-string "browse-url" "disconnect\r\n")
   (delete-process "browse-url"))
 
+;; --- Conkeror ---
+;;;###autoload
+(defun browse-url-conkeror (url &optional new-window)
+  "Ask the Conkeror WWW browser to load URL.
+Default to the URL around or before point. The strings in the variable
+`browse-url-conkeror-arguments' are also passed to Conkeror.
+
+When called interactively, if variable `browse-url-new-window-flag'
+is non-nil, load the document in a new Conkeror window, otherwise use a random
+existing one. A non-nil interactive prefix argument reverses the effect of
+`browse-url-new-window-flag'
+
+If `browse-url-conkeror-new-window-is-buffer' then whenever a document would
+otherwise be loaded in a new window, it is loaded in a new buffer in an existing
+window instead.
+
+When called non-interatively, optional second argument NEW-WINDOW is used instead of
+`browse-url-new-window-flag'"
+  (interactive (browse-url-interactive-arg "URL: "))
+  (setq url (browse-url-encode-url url))
+  (let* ((process-environment (browse-url-process-environment)))
+    (apply 'start-process (format "conkeror %s" url)
+	   nil
+	   browse-url-conkeror-program
+	   (append
+	    browse-url-conkeror-arguments
+	    (list
+	     "-e"
+	     (format "load_url_in_new_%s('%s')"
+		     (if (browse-url-maybe-new-window new-window)
+			 (if browse-url-conkeror-new-window-is-buffer
+			     "buffer"
+			   "window")
+		       "buffer")
+		     url))))))
 ;; --- W3 ---
 
 ;; External.

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#19863: 20.0.50; browse-url.el: Add support for Conkeror
  2015-02-14  6:36 bug#19863: 20.0.50; browse-url.el: Add support for Conkeror vibhavp
@ 2015-03-17 17:45 ` Glenn Morris
  2015-03-18  0:56 ` bug#19863: (no subject) vibhavp
  1 sibling, 0 replies; 3+ messages in thread
From: Glenn Morris @ 2015-03-17 17:45 UTC (permalink / raw)
  To: vibhavp; +Cc: 19863


I see you applied this.
Please now close this bug report by sending a mail to 19863-done@debbugs,
with "Version: 25.1" in the first line of the body. Thanks.





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#19863: (no subject)
  2015-02-14  6:36 bug#19863: 20.0.50; browse-url.el: Add support for Conkeror vibhavp
  2015-03-17 17:45 ` Glenn Morris
@ 2015-03-18  0:56 ` vibhavp
  1 sibling, 0 replies; 3+ messages in thread
From: vibhavp @ 2015-03-18  0:56 UTC (permalink / raw)
  To: 19863-done

Version: 25.1





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-03-18  0:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-14  6:36 bug#19863: 20.0.50; browse-url.el: Add support for Conkeror vibhavp
2015-03-17 17:45 ` Glenn Morris
2015-03-18  0:56 ` bug#19863: (no subject) vibhavp

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).