gri3-wm/etc/config.scm

87 lines
2.5 KiB
Scheme

(use-modules (ice-9 match))
(use-modules (ice-9 popen))
(use-modules (ice-9 rdelim))
(use-modules (gri3 wm))
(use-modules (gri3 bindings))
(use-modules (gri3 hooks))
(define mode "default")
(define devel #t)
(display "-- GUILE CONFIGURATION START LOADING --\n")
(define (run-shell-command c)
(system (string-concatenate
(list c " &"))))
;; (include "i3.scm")
(define font "pango:Hack 8")
;; (run-shell-command "./i3bar -b 0")
;; xkb_keysym_from_name(symbol, XKB_KEYSYM_NO_FLAGS)
(define (reload)
(display "Reloading (with refresh)!\n")
(load "config.scm")
(refresh))
(define (urxvt)
(if devel
(run-shell-command "urxvt")
(run-shell-command "urxvtc")))
(define (run-and-read command)
(let* ((port (open-input-pipe command))
(str (read-line port))) ; from (ice-9 rdelim)
(close-pipe port)
str))
;; (define (urxvt) (display "URXVT"))
(define (eval-expr) (run-shell-command (format #f "./i3-msg ~S" (run-and-read "echo '' | dmenu"))))
(define (run-program) (run-shell-command "dmenu_run"))
(define-mode-map "M-SPC" 'program-launcher)
(add-key-binding (kbd "M-m") urxvt)
(add-key-binding (kbd "M-RET") urxvt)
(add-key-binding (kbd "M-SPC") run-program)
(add-key-binding (kbd "M-q") kill-window)
(add-key-binding (kbd "M-r") reload)
(add-key-binding (kbd "M-r") reload)
;; Change layout
(add-key-binding (kbd "M-w") (lambda () (layout "tabbed")))
(add-key-binding (kbd "M-s") (lambda () (layout "stacked")))
(add-key-binding (kbd "M-e") (lambda () (toggle-layout "split")))
;; Split
(add-key-binding (kbd "M-v") (lambda () (split "vertical")))
(add-key-binding (kbd "M-h") (lambda () (split "horizontal")))
;; Add workspaces
(for-each
(lambda (num)
(add-key-binding
(kbd (format #f "M-~s" num))
(lambda () (change-workspace (number->string num))))
(add-key-binding
(kbd (format #f "M-S-~s" num))
(lambda () (move-to-workspace (number->string num)))))
'(0 1 2 3 4 5 6 7 8 9))
;; Move windows
(add-key-binding (kbd "M-f") (lambda () (focus-direction "right")))
(add-key-binding (kbd "M-b") (lambda () (focus-direction "left")))
(add-key-binding (kbd "M-p") (lambda () (focus-direction "up")))
(add-key-binding (kbd "M-n") (lambda () (focus-direction "down")))
(when (and (not (defined? 'loaded)) (not devel))
(run-shell-command "setxkbmap && xmodmap ~/.Xmodmap")
(run-shell-command "emacs --daemon")
(run-shell-command "mcron")
(run-shell-command "urxvtd"))
(define loaded #t)
(run-shell-command "feh --randomize --bg-fill ~/memories/incipit/laptop/wallpapers/")