Merge remote-tracking branch 'gitorious/master' into phoenix
This commit is contained in:
commit
a925132b75
1 changed files with 35 additions and 4 deletions
|
@ -2,9 +2,13 @@
|
||||||
(use-modules (ice-9 popen)
|
(use-modules (ice-9 popen)
|
||||||
(ice-9 rdelim))
|
(ice-9 rdelim))
|
||||||
|
|
||||||
;;; Modkey
|
;;; Variables
|
||||||
(define modkey 'mod4)
|
(define modkey 'mod4)
|
||||||
(define dmenu-cmd "dmenu -b -nb '#000000' -nf '#15abc3' -sb '#e0c625' -sf '#000000'")
|
(define font "-misc-tamsyn-medium-r-normal-*-17-*-*-*-*-*-iso8859-*")
|
||||||
|
(define dmenu-cmd "dmenu")
|
||||||
|
(define dmenu-args
|
||||||
|
(string-append "-b -nb '#000000' -nf '#15abc3' -sb '#e0c625' -sf '#000000' -fn '" font "'"))
|
||||||
|
(define dzen-pipe '())
|
||||||
|
|
||||||
;;; Macros
|
;;; Macros
|
||||||
(define-macro (cmd command)
|
(define-macro (cmd command)
|
||||||
|
@ -15,6 +19,7 @@
|
||||||
;;; Functions
|
;;; Functions
|
||||||
(define (reset-main-binding)
|
(define (reset-main-binding)
|
||||||
"reset first binding"
|
"reset first binding"
|
||||||
|
(close-gui-window)
|
||||||
(ungrab-all-keys)
|
(ungrab-all-keys)
|
||||||
(remove-all-keys)
|
(remove-all-keys)
|
||||||
(main-binding)
|
(main-binding)
|
||||||
|
@ -31,7 +36,7 @@
|
||||||
"Ask to choose a tag"
|
"Ask to choose a tag"
|
||||||
(let* ((file (open-input-pipe
|
(let* ((file (open-input-pipe
|
||||||
(string-append "echo '" (string-join tags "\n")
|
(string-append "echo '" (string-join tags "\n")
|
||||||
"' | " dmenu-cmd " -p '" prompt ":'")))
|
"' | " dmenu-cmd " " dmenu-args " -p '" prompt ":'")))
|
||||||
(tag (read-line file)))
|
(tag (read-line file)))
|
||||||
(close-port file)
|
(close-port file)
|
||||||
tag))
|
tag))
|
||||||
|
@ -68,10 +73,32 @@
|
||||||
(run-command (string-append "herbstclient move " tag))))
|
(run-command (string-append "herbstclient move " tag))))
|
||||||
(reset-main-binding)))
|
(reset-main-binding)))
|
||||||
|
|
||||||
|
(define (text-width font text)
|
||||||
|
(let* ((pipe (open-input-pipe (string-append "textwidth '" font "' '" text "'")))
|
||||||
|
(width (read-line pipe)))
|
||||||
|
(close-port pipe)
|
||||||
|
(if (string? width)
|
||||||
|
(string->number width)
|
||||||
|
-1)))
|
||||||
|
|
||||||
|
(define (gui-print text)
|
||||||
|
(let ((width (+ (text-width font text) 10)))
|
||||||
|
(set! dzen-pipe (open-output-pipe
|
||||||
|
(string-append "dzen2 -w " (number->string width)
|
||||||
|
" -fn '" font "' -x 5 -y 5 -bg '#000000' -fg '#15abc3'"))))
|
||||||
|
(display text dzen-pipe)
|
||||||
|
(newline dzen-pipe))
|
||||||
|
|
||||||
|
(define (close-gui-window)
|
||||||
|
(if (and (not (null? dzen-pipe))
|
||||||
|
(not (port-closed? dzen-pipe)))
|
||||||
|
(close-pipe dzen-pipe)
|
||||||
|
(set! dzen-pipe '())))
|
||||||
|
|
||||||
;;; Maps
|
;;; Maps
|
||||||
(define (main-binding)
|
(define (main-binding)
|
||||||
"First binding"
|
"First binding"
|
||||||
(xbindkey `(,modkey shift "1") "dmenu_run")
|
(xbindkey `(,modkey shift "1") (string-append "dmenu_run -p 'Run:' " dmenu-args))
|
||||||
(xbindkey-function `(,modkey x) X-functions)
|
(xbindkey-function `(,modkey x) X-functions)
|
||||||
(xbindkey-function `(,modkey w) W-functions)
|
(xbindkey-function `(,modkey w) W-functions)
|
||||||
(xbindkey-function `(,modkey s) S-functions)
|
(xbindkey-function `(,modkey s) S-functions)
|
||||||
|
@ -91,6 +118,7 @@
|
||||||
|
|
||||||
(define (X-functions)
|
(define (X-functions)
|
||||||
"Second binding"
|
"Second binding"
|
||||||
|
(gui-print "S-x")
|
||||||
(ungrab-all-keys)
|
(ungrab-all-keys)
|
||||||
(remove-all-keys)
|
(remove-all-keys)
|
||||||
(xbindkey-function '(b) switch-tags)
|
(xbindkey-function '(b) switch-tags)
|
||||||
|
@ -110,6 +138,7 @@
|
||||||
(grab-all-keys))
|
(grab-all-keys))
|
||||||
|
|
||||||
(define (W-functions)
|
(define (W-functions)
|
||||||
|
(gui-print "S-w")
|
||||||
(ungrab-all-keys)
|
(ungrab-all-keys)
|
||||||
(remove-all-keys)
|
(remove-all-keys)
|
||||||
(xbindkey-function '(k) (cmd "herbstclient close"))
|
(xbindkey-function '(k) (cmd "herbstclient close"))
|
||||||
|
@ -127,6 +156,7 @@
|
||||||
(grab-all-keys))
|
(grab-all-keys))
|
||||||
|
|
||||||
(define (S-functions)
|
(define (S-functions)
|
||||||
|
(gui-print "S-s")
|
||||||
(ungrab-all-keys)
|
(ungrab-all-keys)
|
||||||
(remove-all-keys)
|
(remove-all-keys)
|
||||||
(xbindkey-function '(o) (cmd "herbstclient cycle_monitor"))
|
(xbindkey-function '(o) (cmd "herbstclient cycle_monitor"))
|
||||||
|
@ -140,6 +170,7 @@
|
||||||
(grab-all-keys))
|
(grab-all-keys))
|
||||||
|
|
||||||
(define (resize-map)
|
(define (resize-map)
|
||||||
|
(gui-print "Resizing")
|
||||||
(ungrab-all-keys)
|
(ungrab-all-keys)
|
||||||
(remove-all-keys)
|
(remove-all-keys)
|
||||||
(xbindkey `(,modkey b) "herbstclient resize left +0.05")
|
(xbindkey `(,modkey b) "herbstclient resize left +0.05")
|
||||||
|
|
Loading…
Add table
Reference in a new issue