.sawfish/rc

This commit is contained in:
Tom Willemsen 2012-11-19 23:23:22 +01:00
parent 07be108b4e
commit bef56b65d4

View file

@ -1,89 +1,17 @@
(setq user-apps-menu ;; -*- mode: sawfish; -*-
'(("Emacs" (system "emacsclient -c &"))
("Terminal" (system "urxvt &"))))
(define oni:window-packing-keymap (make-keymap))
(bind-keys oni:window-packing-keymap
"p" 'pack-window-up
"n" 'pack-window-down
"b" 'pack-window-left
"f" 'pack-window-right)
(define oni:window-growing-keymap (make-keymap))
(bind-keys oni:window-growing-keymap
"p" 'grow-window-up
"n" 'grow-window-down
"b" 'grow-window-left
"f" 'grow-window-right)
(define oni:window-shrinking-keymap (make-keymap))
(bind-keys oni:window-shrinking-keymap
"p" 'shrink-window-up
"n" 'shrink-window-down
"b" 'shrink-window-left
"f" 'shrink-window-right)
(define oni:window-yanking-keymap (make-keymap))
(bind-keys oni:window-yanking-keymap
"p" 'yank-window-up
"n" 'yank-window-down
"b" 'yank-window-left
"f" 'yank-window-right)
(define oni:window-management-keymap (make-keymap))
(bind-keys oni:window-management-keymap
"M" 'maximize-window-toggle
"p" oni:window-packing-keymap
"g" oni:window-growing-keymap
"s" oni:window-shrinking-keymap
"y" oni:window-yanking-keymap)
(bind-keys global-keymap
"XF86AudioPlay" '(run-shell-command "mpc toggle")
"XF86AudioStop" '(run-shell-command "mpc stop")
"XF86AudioMute" '(run-shell-command "amixer sset Master toggle")
"XF86AudioLowerVolume" '(run-shell-command "mpc volume -5")
"XF86AudioRaiseVolume" '(run-shell-command "mpc volume +5")
"XF86AudioPrev" '(run-shell-command "mpc prev")
"XF86AudioNext" '(run-shell-command "mpc next"))
(require 'sawfish.wm.util.prompt)
(define oni:extended-keymap (make-keymap))
(bind-keys oni:extended-keymap
"w" oni:window-management-keymap)
;; (ungrab-keymap global-keymap)
(bind-keys global-keymap
"Super-!" '(run-shell-command (prompt-for-string "Run: "))
"C-M-l" '(run-shell-command "i3lock -c \"#000000\"")
"Super-e" '(run-shell-command (getenv "EDITOR"))
"Super-w" '(run-shell-command (getenv "BROWSER"))
"Super-c" '(run-shell-command "urxvt")
"Super-TAB" 'cycle-windows
"Super-x" oni:extended-keymap
"Menu" 'popup-root-menu)
;; (grab-keymap global-keymap)
(setq prompt-color (cons (get-color "#eeeeec")
(get-color "#252e2b")))
(setq default-frame-style 'naquadah)
(require 'sawfish.wm.ext.match-window)
(add-window-matcher '((WM_CLASS . "^Firefox/Navigator$"))
'((position . north-east)))
(require 'rep.regexp) (require 'rep.regexp)
(require 'sawfish.wm.commands.grow-pack) (require 'sawfish.wm.commands.grow-pack)
(require 'sawfish.wm.commands.shrink-yank) (require 'sawfish.wm.commands.shrink-yank)
(require 'sawfish.wm.ext.match-window)
(require 'sawfish.wm.util.display-window)
(require 'sawfish.wm.util.prompt)
(define oni:window-packing-keymap (make-keymap))
(define oni:window-growing-keymap (make-keymap))
(define oni:window-shrinking-keymap (make-keymap))
(define oni:window-yanking-keymap (make-keymap))
(define oni:window-management-keymap (make-keymap))
(define oni:extended-keymap (make-keymap))
(defun oni:emacs-main-window-p (window) (defun oni:emacs-main-window-p (window)
"Check wether or not WINDOW is Emacs' main window." "Check wether or not WINDOW is Emacs' main window."
@ -115,5 +43,84 @@ way I like them."
(define-command 'oni:place-emacs-windows oni:place-emacs-windows) (define-command 'oni:place-emacs-windows oni:place-emacs-windows)
(defun oni:run-or-raise (command class)
"Either run COMMAND, or if a window with class CLASS is found,
raise it."
(let ((w (get-window-by-class class)))
(if w
(display-window w)
(run-shell-command command))))
(setq default-frame-style 'naquadah)
(setq prompt-color (cons (get-color "#eeeeec")
(get-color "#252e2b")))
(setq user-apps-menu
'(("Emacs" (system "emacsclient -c &"))
("Terminal" (system "urxvt &"))))
(bind-keys oni:window-packing-keymap
"p" 'pack-window-up
"n" 'pack-window-down
"b" 'pack-window-left
"f" 'pack-window-right)
(bind-keys oni:window-growing-keymap
"p" 'grow-window-up
"n" 'grow-window-down
"b" 'grow-window-left
"f" 'grow-window-right)
(bind-keys oni:window-shrinking-keymap
"p" 'shrink-window-up
"n" 'shrink-window-down
"b" 'shrink-window-left
"f" 'shrink-window-right)
(bind-keys oni:window-yanking-keymap
"p" 'yank-window-up
"n" 'yank-window-down
"b" 'yank-window-left
"f" 'yank-window-right)
(bind-keys oni:window-management-keymap (bind-keys oni:window-management-keymap
"M" 'maximize-window-toggle
"p" oni:window-packing-keymap
"g" oni:window-growing-keymap
"s" oni:window-shrinking-keymap
"y" oni:window-yanking-keymap
"E" 'oni:place-emacs-windows) "E" 'oni:place-emacs-windows)
(bind-keys global-keymap
"XF86AudioPlay" '(run-shell-command "mpc toggle")
"XF86AudioStop" '(run-shell-command "mpc stop")
"XF86AudioMute" '(run-shell-command "amixer sset Master toggle")
"XF86AudioLowerVolume" '(run-shell-command "mpc volume -5")
"XF86AudioRaiseVolume" '(run-shell-command "mpc volume +5")
"XF86AudioPrev" '(run-shell-command "mpc prev")
"XF86AudioNext" '(run-shell-command "mpc next"))
(bind-keys oni:extended-keymap
"w" oni:window-management-keymap)
;; (ungrab-keymap global-keymap)
(bind-keys global-keymap
"Super-!" '(run-shell-command (prompt-for-string "Run: "))
"C-M-l" '(run-shell-command "i3lock -c \"#000000\"")
"Super-e" '(oni:run-or-raise (getenv "EDITOR") "Emacs")
"Super-E" '(run-shell-command (getenv "EDITOR"))
"Super-w" '(run-shell-command (getenv "BROWSER"))
"Super-c" '(run-shell-command "urxvt")
"Super-TAB" 'cycle-windows
"Super-x" oni:extended-keymap
"Super-f" 'pack-window-right
"Super-b" 'pack-window-left
"Super-n" 'pack-window-down
"Super-p" 'pack-window-up
"Menu" 'popup-root-menu
"Super-M" 'maximize-window-toggle)
;; (grab-keymap global-keymap)
(add-window-matcher '((WM_CLASS . "^Firefox/Navigator$"))
'((position . north-east)))
(add-window-matcher '((WM_CLASS . "^Conkeror/Navigator$"))
'((position . north-east)))