Материал из Linux Wiki
Перейти к навигацииПерейти к поиску


;; -*-lisp-*-
;; Here is a sample .stumpwmrc file
(in-package :stumpwm)

;; change the prefix key to something else
(set-prefix-key (kbd "C-z"))

;; prompt the user for an interactive command. The first arg is an
;; optional initial contents.
;;(defcommand colon1 (&optional (initial "")) (:rest)
;;  (let ((cmd (read-one-line (current-screen) ": " initial)))
;;    (when cmd
;;      (eval-command cmd t))))

;; Read some doc
;;(define-key *root-map* (kbd "d") "exec gv")
;; Browse somewhere
;;(define-key *root-map* (kbd "b") "colon1 exec x-www-browser http://www.")
;; Ssh somewhere
;;(define-key *root-map* (kbd "C-s") "colon1 exec x-terminal-emulator -e ssh ")
;;(define-key *root-map* (kbd "C-t") "exec x-terminal-emulator")
;; Lock screen
;;(define-key *root-map* (kbd "C-l") "exec xlock")

;; Web jump (works for Google and Imdb)
;;(defmacro make-web-jump (name prefix)
;;  `(defcommand ,name (search) ((:rest ,(concatenate 'string name " search: ")))
;;    (substitute #\+ #\Space search)
;;    (run-shell-command (concatenate 'string ,prefix search))))

;;(make-web-jump "google" "x-www-browser http://www.google.fr/search?q=")
;;(make-web-jump "imdb" "x-www-browser http://www.imdb.com/find?q=")

;; C-t M-s is a terrble binding, but you get the idea.
;;(define-key *root-map* (kbd "M-s") "google")
;;(define-key *root-map* (kbd "i") "imdb")

;; Message window font
;;(set-font "-xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso10646-1")
(set-font "-*-terminus-*-*-*-*-*-*-*-*-*-*-iso10646-1")
;(set-frame-outline-width 1)
(set-focus-color "gray26")
(set-unfocus-color "gray24")
(set-bg-color "black")
;(setf *frame-indicator-text* " Current frame ")
(setf *message-window-gravity* :top-right)
(setf *new-window-preferred-frame* '(:empty :focused))
(setf *menu-maximum-height* 50)
(setf *menu-scrolling-step* 1)
(setf *suppress-frame-indicator* nil)
(setf *normal-border-width* 1)
(setf *window-border-style* :none)
;; change window numbers
;; (setf *frame-number-map* "1234567890")
;;(defun kill-empty-group-hook (win)
;;  (declare (ignore win))
;;  (unless (group-windows (current-group))
;;    (gkill)))
(setf *mode-line-position* :bottom)
;;(add-hook *destroy-window-hook* 'kill-empty-group-hook)

;;; Define window placement policy...

;; Clear rules

;; Last rule to match takes precedence!
;; TIP: if the argument to :title or :role begins with an ellipsis, a substring
;; match is performed.
;; TIP: if the :create flag is set then a missing group will be created and
;; restored from *data-dir*/create file.
;; TIP: if the :restore flag is set then group dump is restored even for an
;; existing group using *data-dir*/restore file.
;;(define-frame-preference "Default"
;; frame raise lock (lock AND raise == jumpto)
;;  (0 t nil :class "Konqueror" :role "...konqueror-mainwindow")
;;  (1 t nil :class "XTerm"))

(run-commands "gnewbg web" "gnewbg IM" "gnewbg Media")

(define-frame-preference "IM"
    (0 t t :title "mcabber")
  (1 t t :title "Tkabber"))
;;  (2 t t :class "psi")
;;  (2 t t :class "psi" :role "ChatDlg"))
(define-frame-preference "web"
    (0 t t :class "Arora"))

;(define-frame-preference "Ardour"
;  (0 t   t   :instance "ardour_editor" :type :normal)
;  (0 t   t   :title "Ardour - Session Control")
;  (0 nil nil :class "XTerm")
;  (1 t   nil :type :normal)
;  (1 t   t   :instance "ardour_mixer")
;  (2 t   t   :instance "jvmetro")
;  (1 t   t   :instance "qjackctl")
;  (3 t   t   :instance "qjackctl" :role "qjackctlMainForm"))

;(define-frame-preference "Shareland"
;  (0 t   nil :class "XTerm")
;  (1 nil t   :class "aMule"))

;(define-frame-preference "Emacs"
;  (1 t t :restore "emacs-editing-dump" :title "...xdvi")
;  (0 t t :create "emacs-dump" :class "Emacs"))