Skip to content

Instantly share code, notes, and snippets.

@weissjeffm
Last active December 26, 2015 08:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save weissjeffm/7120435 to your computer and use it in GitHub Desktop.
Save weissjeffm/7120435 to your computer and use it in GitHub Desktop.
cflswm config
(in-package :clfswm)
(defun my-set-default-main-keys ()
(define-main-key ("F1" :mod-4) 'help-on-clfswm)
(define-main-key ("Home" :mod-4 :control :shift) 'exit-clfswm)
(define-main-key ("Right" :mod-4) 'select-next-brother)
(define-main-key ("Left" :mod-4) 'select-previous-brother)
(define-main-key ("Up" :mod-4) 'select-previous-level)
(define-main-key ("Down" :mod-4) 'select-next-level)
(define-main-key ("Left" :control :mod-4) 'select-brother-spatial-move-left)
(define-main-key ("Right" :control :mod-4) 'select-brother-spatial-move-right)
(define-main-key ("Up" :control :mod-4) 'select-brother-spatial-move-up)
(define-main-key ("Down" :control :mod-4) 'select-brother-spatial-move-down)
(define-main-key ("Tab" :mod-4) 'select-next-child)
(define-main-key ("Tab" :mod-4 :shift) 'select-previous-child)
(define-main-key ("Tab" :mod-4 :control) 'select-next-subchild)
(define-main-key ("Return" :mod-4) 'enter-frame)
(define-main-key ("Return" :mod-4 :shift) 'leave-frame)
(define-main-key ("Return" :mod-4 :control) 'frame-toggle-maximize)
(define-main-key ("Return" :mod-5) 'frame-toggle-maximize)
(define-main-key ("Page_Up" :mod-4) 'frame-select-previous-child)
(define-main-key ("Page_Down" :mod-4) 'frame-select-next-child)
(define-main-key ("Page_Up" :mod-4 :control) 'frame-lower-child)
(define-main-key ("Page_Down" :mod-4 :control) 'frame-raise-child)
;(define-main-key ("Home" :mod-4) 'switch-to-root-frame)
(define-main-key ("Home" :mod-4) 'switch-and-select-root-frame)
(define-main-key ("F10" :mod-4) 'fast-layout-switch)
(define-main-key ("F10" :shift :control) 'toggle-show-root-frame)
(define-main-key ("F10") 'expose-windows-mode)
(define-main-key ("F10" :control) 'expose-all-windows-mode)
(define-main-key ("L2" :control) 'present-clfswm-terminal)
(define-main-key ("L2" :shift) 'show-all-frames-info-key)
(define-main-key ("L2" :shift :mod-4) 'show-all-frames-info)
(define-main-key ("b" :mod-4) 'banish-pointer)
;; Escape
(define-main-key ("Escape" :control) 'ask-close/kill-current-window)
;; Second mode
(define-main-key ("t" :mod-4) 'second-key-mode)
(define-main-key ("less" :control) 'second-key-mode)
;; Bind or jump functions
(define-main-key ("1" :mod-4) 'bind-or-jump 1)
(define-main-key ("2" :mod-4) 'bind-or-jump 2)
(define-main-key ("3" :mod-4) 'bind-or-jump 3)
(define-main-key ("4" :mod-4) 'bind-or-jump 4)
(define-main-key ("5" :mod-4) 'bind-or-jump 5)
(define-main-key ("6" :mod-4) 'bind-or-jump 6)
(define-main-key ("7" :mod-4) 'bind-or-jump 7)
(define-main-key ("8" :mod-4) 'bind-or-jump 8)
(define-main-key ("9" :mod-4) 'bind-or-jump 9)
(define-main-key ("0" :mod-4) 'bind-or-jump 10)
;; my bindings
(define-main-key ("Delete" :mod-4) 'delete-current-child)
(define-main-key ("l" :mod-4) 'set-tile-left-layout)
(define-main-key ("p" :mod-4) 'run-program-from-query-string))
(defun my-set-default-main-mouse ()
(define-main-mouse (1) 'mouse-click-to-focus-and-move)
(define-main-mouse (2) 'mouse-middle-click)
(define-main-mouse (3) 'mouse-click-to-focus-and-resize)
(define-main-mouse (1 :mod-4) 'mouse-click-to-focus-and-move-window)
(define-main-mouse (3 :mod-4) 'mouse-click-to-focus-and-resize-window)
(define-main-mouse (1 :mod-4 :shift) 'mouse-click-to-focus-and-move-window-constrained)
(define-main-mouse (3 :mod-4 :shift) 'mouse-click-to-focus-and-resize-window-constrained)
(define-main-mouse (1 :control :mod-4) 'mouse-move-child-over-frame)
(define-main-mouse (4) 'mouse-select-next-level)
(define-main-mouse (5) 'mouse-select-previous-level)
(define-main-mouse (4 :mod-4) 'mouse-enter-frame)
(define-main-mouse (5 :mod-4) 'mouse-leave-frame)
(define-main-mouse (4 :mod-4 :control) 'dec-transparency)
(define-main-mouse (5 :mod-4 :control) 'inc-transparency)
(define-main-mouse (4 :mod-4 :control :shift) 'dec-transparency-slow)
(define-main-mouse (5 :mod-4 :control :shift) 'inc-transparency-slow))
(defun my-set-default-second-keys ()
(define-second-key ("F1" :mod-4) 'help-on-clfswm)
(define-second-key ("m") 'open-menu)
(define-second-key ("less") 'open-menu)
(define-second-key ("less" :control) 'open-menu)
(define-second-key ("f") 'open-frame-menu)
(define-second-key ("w") 'open-window-menu)
(define-second-key ("n") 'open-action-by-name-menu)
(define-second-key ("u") 'open-action-by-number-menu)
(define-second-key ("p") 'open-frame-movement-menu)
(define-second-key ("r") 'open-root-menu)
(define-second-key ("c") 'open-child-menu)
(define-second-key ("x") 'update-layout-managed-children-position)
(define-second-key ("g" :control) 'stop-all-pending-actions)
(define-second-key ("q") 'sm-delete-focus-window)
(define-second-key ("k") 'sm-ask-close/kill-current-window)
(define-second-key ("i") 'identify-key)
(define-second-key ("colon") 'eval-from-query-string)
;(define-second-key ("exclam") 'run-program-from-query-string)
(define-second-key ("Return") 'leave-second-mode)
(define-second-key ("Escape") 'leave-second-mode)
(define-second-key ("t" :shift) 'tile-current-frame)
(define-second-key ("Home" :mod-4 :control :shift) 'exit-clfswm)
(define-second-key ("Right" :mod-4) 'select-next-brother)
(define-second-key ("Left" :mod-4) 'select-previous-brother)
(define-second-key ("Down" :mod-4) 'select-previous-level)
(define-second-key ("Up" :mod-4) 'select-next-level)
(define-second-key ("Left" :control :mod-4) 'select-brother-spatial-move-left)
(define-second-key ("Right" :control :mod-4) 'select-brother-spatial-move-right)
(define-second-key ("Up" :control :mod-4) 'select-brother-spatial-move-up)
(define-second-key ("Down" :control :mod-4) 'select-brother-spatial-move-down)
(define-second-key ("j") 'swap-frame-geometry)
(define-second-key ("h") 'rotate-frame-geometry)
(define-second-key ("h" :shift) 'anti-rotate-frame-geometry)
(define-second-key ("Page_Up") 'select-next-root)
(define-second-key ("Page_Down") 'select-previous-root)
(define-second-key ("Page_Up" :control) 'rotate-root-geometry-next)
(define-second-key ("Page_Down" :control) 'rotate-root-geometry-previous)
(define-second-key ("Right") 'speed-mouse-right)
(define-second-key ("Left") 'speed-mouse-left)
(define-second-key ("Down") 'speed-mouse-down)
(define-second-key ("Up") 'speed-mouse-up)
(define-second-key ("Left" :control) 'speed-mouse-undo)
(define-second-key ("Up" :control) 'speed-mouse-first-history)
(define-second-key ("Down" :control) 'speed-mouse-reset)
(define-second-key ("Tab" :mod-4) 'select-next-child)
(define-second-key ("Tab" :mod-4 :shift) 'select-previous-child)
(define-second-key ("Tab" :mod-4 :control) 'select-next-subchild)
;(define-second-key ("Tab") 'switch-to-last-child)
(define-second-key ("Return" :mod-4) 'enter-frame)
(define-second-key ("Return" :mod-4 :shift) 'leave-frame)
(define-second-key ("Return" :mod-4 :control) 'frame-toggle-maximize)
(define-second-key ("Return" :mod-5) 'frame-toggle-maximize)
(define-second-key ("Page_Up" :mod-4) 'frame-lower-child)
(define-second-key ("Page_Down" :mod-4) 'frame-raise-child)
(define-second-key ("Home" :mod-4) 'switch-to-root-frame)
(define-second-key ("Home" :mod-4 :shift) 'switch-and-select-root-frame)
(define-second-key ("Menu") 'toggle-show-root-frame)
(define-second-key ("b" :mod-4) 'banish-pointer)
(define-second-key ("o") 'set-open-in-new-frame-in-parent-frame-nw-hook)
(define-second-key ("o" :control) 'set-open-in-new-frame-in-root-frame-nw-hook)
(define-second-key ("a") 'add-default-frame)
(define-second-key ("a" :control) 'add-frame-in-parent-frame)
(define-second-key ("plus") 'inc-tile-layout-size)
(define-second-key ("minus") 'dec-tile-layout-size)
(define-second-key ("plus" :control) 'inc-slow-tile-layout-size)
(define-second-key ("minus" :control) 'dec-slow-tile-layout-size)
;; Escape
(define-second-key ("Escape" :control) 'ask-close/kill-current-window)
;; Selection
(define-second-key ("x" :control) 'cut-current-child)
(define-second-key ("x" :control :mod-4) 'clear-selection)
(define-second-key ("c" :control) 'copy-current-child)
(define-second-key ("v" :control) 'paste-selection)
(define-second-key ("v" :control :shift) 'paste-selection-no-clear)
(define-second-key ("Delete" :control) 'remove-current-child)
(define-second-key ("Delete") 'delete-current-child)
(define-shell ("t") b-start-xterm "start an xterm" "cd $HOME && exec xterm")
(define-shell ("e") b-start-emacs "start emacs" "cd $HOME && exec emacs")
(define-shell ("e" :control) b-start-emacsremote
"start an emacs for another user"
"exec xterm -e emacsremote")
(define-second-key ("F10" :mod-4) 'fast-layout-switch)
(define-second-key ("F10" :shift :control) 'toggle-show-root-frame)
(define-second-key ("F10" :control) 'expose-windows-mode)
(define-second-key ("F10") 'expose-all-windows-mode)
(define-second-key ("L2" :shift) 'show-all-frames-info-key)
(define-second-key ("L2" :shift :mod-4) 'show-all-frames-info)
;; Bind or jump functions
(define-second-key ("1" :mod-4) 'bind-or-jump 1)
(define-second-key ("2" :mod-4) 'bind-or-jump 2)
(define-second-key ("3" :mod-4) 'bind-or-jump 3)
(define-second-key ("4" :mod-4) 'bind-or-jump 4)
(define-second-key ("5" :mod-4) 'bind-or-jump 5)
(define-second-key ("6" :mod-4) 'bind-or-jump 6)
(define-second-key ("7" :mod-4) 'bind-or-jump 7)
(define-second-key ("8" :mod-4) 'bind-or-jump 8)
(define-second-key ("9" :mod-4) 'bind-or-jump 9)
(define-second-key ("0" :mod-4) 'bind-or-jump 10)
;;; Transparency
(define-second-key ("t" :control :shift) 'key-inc-transparency)
(define-second-key ("t" :control) 'key-dec-transparency)
;;my bindings
(define-shell ("l" :control :alt) lock-screen "lock the screen" "exec xscreensaver-command -lock")
(define-second-key ("p" :mod-4) 'run-program-from-query-string))
(defun my-set-default-second-mouse ()
(define-second-mouse (1) 'sm-mouse-click-to-focus-and-move)
(define-second-mouse (2) 'sm-mouse-middle-click)
(define-second-mouse (3) 'sm-mouse-click-to-focus-and-resize)
(define-second-mouse (1 :mod-4) 'sm-mouse-click-to-focus-and-move-window)
(define-second-mouse (3 :mod-4) 'sm-mouse-click-to-focus-and-resize-window)
(define-second-mouse (1 :mod-4 :shift) 'sm-mouse-click-to-focus-and-move-window-constrained)
(define-second-mouse (3 :mod-4 :shift) 'sm-mouse-click-to-focus-and-resize-window-constrained)
(define-second-mouse (1 :control :mod-4) 'mouse-move-child-over-frame)
(define-second-mouse (4) 'sm-mouse-select-next-level)
(define-second-mouse (5) 'sm-mouse-select-previous-level)
(define-second-mouse (4 :mod-4) 'sm-mouse-enter-frame)
(define-second-mouse (5 :mod-4) 'sm-mouse-leave-frame))
;;; ### Internal variables definitions ### ;;;
;;; ### You can edit this part when clfswm is not running ### ;;;
;;; ### And you can remove this part to revert to the ### ;;;
;;; ### original configuration variables values. ### ;;;
(in-package :clfswm)
(setf
;; Gimp Layout Group:
;; Notify Window Group:
;; Fastswitch Mode Group:
;; Expose Mode Group:
;; Circulate Mode Group:
;; Info Mode Group:
;; Query String Group:
;; Identify Key Group:
;; Second Mode Group:
;; Frame Colors Group:
;; Root Group:
;; Corner Group:
;; Menu Group:
;; Placement Group:
;; Hook Group:
*QUERY-KEY-PRESS-HOOK* (quote (CLFSWM::QUERY-MODE-COMPLETE-SUGGEST-RESET))
*BINDING-HOOK* (quote (CLFSWM::INIT-*QUERY-KEYS* CLFSWM::SET-DEFAULT-QUERY-KEYS
CLFSWM::SET-DEFAULT-CIRCULATE-KEYS
CLFSWM::INIT-*INFO-KEYS*
CLFSWM::INIT-*INFO-MOUSE*
CLFSWM::SET-DEFAULT-INFO-KEYS
CLFSWM::SET-DEFAULT-INFO-MOUSE
CLFSWM::INIT-*MAIN-KEYS*
CLFSWM::INIT-*MAIN-MOUSE*
CLFSWM::MY-SET-DEFAULT-MAIN-KEYS
CLFSWM::MY-SET-DEFAULT-MAIN-MOUSE
CLFSWM::INIT-*SECOND-KEYS*
CLFSWM::INIT-*SECOND-MOUSE*
CLFSWM::MY-SET-DEFAULT-SECOND-KEYS
CLFSWM::MY-SET-DEFAULT-SECOND-MOUSE))
;; Main Mode Group:
;; Miscellaneous Group:
*NEVER-MANAGED-WINDOW-LIST* (quote ((CLFSWM::IS-NOTIFY-WINDOW-P CLFSWM::RAISE-WINDOW)
(CLFSWM::EQUAL-WM-CLASS-ROX-PINBOARD NIL)
(CLFSWM::EQUAL-WM-CLASS-XVKBD CLFSWM::RAISE-WINDOW)
(CLFSWM::EQUAL-CLFSWM-TERMINAL CLFSWM::RAISE-AND-FOCUS-WINDOW)))
*DEFAULT-MANAGED-TYPE* (quote (:NORMAL :MAXSIZE))
)
;;; ### End of internal variables definitions ### ;;;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment