parent
50108948b0
commit
88a4e688bf
|
@ -1,19 +1,20 @@
|
||||||
;; The main client of this module is browser/external.ss
|
;; The main client of this module is browser/external.ss
|
||||||
;; (others just use the (send-url url [new?]) interface.)
|
;; (others just use the (send-url url [new?]) interface.)
|
||||||
|
|
||||||
(module sendurl mzscheme
|
#lang scheme/base
|
||||||
(require (lib "process.ss")
|
|
||||||
(lib "file.ss")
|
(require scheme/system
|
||||||
(lib "kw.ss")
|
scheme/file
|
||||||
(lib "port.ss")
|
scheme/promise
|
||||||
(lib "sendevent.ss"))
|
scheme/port)
|
||||||
|
|
||||||
(provide send-url unix-browser-list browser-preference? external-browser)
|
(provide send-url unix-browser-list browser-preference? external-browser)
|
||||||
|
|
||||||
(define separate-by-default?
|
(define separate-by-default?
|
||||||
(get-preference 'new-browser-for-urls (lambda () #t)))
|
(get-preference 'new-browser-for-urls (lambda () #t)))
|
||||||
|
|
||||||
(define unix-browser-list '(gnome-open firefox galeon opera netscape mozilla dillo))
|
(define unix-browser-list
|
||||||
|
'(gnome-open firefox galeon opera netscape mozilla dillo))
|
||||||
|
|
||||||
;; : any -> bool
|
;; : any -> bool
|
||||||
(define (custom-browser? x)
|
(define (custom-browser? x)
|
||||||
|
@ -42,9 +43,8 @@
|
||||||
'macosx]
|
'macosx]
|
||||||
[else t]))))
|
[else t]))))
|
||||||
|
|
||||||
; send-url : str [bool] -> void
|
;; send-url : str [bool] -> void
|
||||||
(define/kw (send-url url-str
|
(define (send-url url-str [separate-window? separate-by-default?])
|
||||||
#:optional [separate-window? separate-by-default?])
|
|
||||||
(define stupid-internal-define-syntax1
|
(define stupid-internal-define-syntax1
|
||||||
(unless (string? url-str)
|
(unless (string? url-str)
|
||||||
(error 'send-url "expected a string, got ~e" url-str)))
|
(error 'send-url "expected a string, got ~e" url-str)))
|
||||||
|
@ -96,8 +96,7 @@
|
||||||
=> (lambda (exe)
|
=> (lambda (exe)
|
||||||
(browser-process* exe (if separate-window? "-w" "-x") url-str))]
|
(browser-process* exe (if separate-window? "-w" "-x") url-str))]
|
||||||
[(use-browser 'gnome-open)
|
[(use-browser 'gnome-open)
|
||||||
=> (lambda (exe)
|
=> (lambda (exe) (browser-process* exe url-str))]
|
||||||
(browser-process* exe url-str))]
|
|
||||||
[(or (use-browser 'netscape)
|
[(or (use-browser 'netscape)
|
||||||
(use-browser 'mozilla)
|
(use-browser 'mozilla)
|
||||||
(use-browser 'firefox))
|
(use-browser 'firefox))
|
||||||
|
@ -139,4 +138,4 @@
|
||||||
(run-browser process*/ports args))
|
(run-browser process*/ports args))
|
||||||
|
|
||||||
(define (browser-process . args)
|
(define (browser-process . args)
|
||||||
(run-browser process/ports args)))
|
(run-browser process/ports args))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user