summaryrefslogtreecommitdiff
path: root/.stumpwm.d/keybindings.lisp
blob: db0b5217afb357c06a4eeb03b9ea6ab3bd148169 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
(in-package :stumpwm)

(defcommand colon1 (&optional (initial "")) (:rest)
  (let ((cmd (read-one-line (current-screen) ": " :initial-input initial)))
    (when cmd
      (eval-command cmd t))))

;; Flaoting window control
(setf *mouse-focus-policy*    :click
      *float-window-modifier* :SUPER)

;; Float
(define-key *top-map* (kbd "s-f") "float-this")
(define-key *top-map* (kbd "s-F") "unfloat-this")

(define-key *root-map* (kbd "C-r") "exec rofi -show drun -modi drun -show-icons")
(define-key *root-map* (kbd ",") "exec flameshot gui")
(define-key *root-map* (kbd "M-r") "restart-hard")
(define-key *root-map* (kbd "p") "exec emacsclient -e '(thanos/pass-launcher)'")
(define-key *root-map* (kbd "b") "windowlist")
(define-key *root-map* (kbd "d") "delete-window")
(define-key *root-map* (kbd "C-d") "remove")
;; Focus 
(define-key *root-map* (kbd "C-f") "move-focus right")
(define-key *root-map* (kbd "C-b") "move-focus left")

(defvar *thanos-buffers-map*
  (let ((m (make-sparse-keymap)))
    (define-key m (kbd "0") "delete-window-and-frame")
    (define-key m (kbd "3") "hsplit-and-focus")
    (define-key m (kbd "b") "windowlist")
    m))

(define-key *root-map* (kbd "C-x") *thanos-buffers-map*)
(define-key *root-map* (kbd "s") "hsplit-and-focus")
(define-key *root-map* (kbd "k") "delete-window-and-frame")
(define-key *root-map* (kbd "S") "vsplit")
(define-key *root-map* (kbd "b") "global-windowlist")

(define-key *root-map* (kbd "e") "exec emacsclient -c")

(define-key *root-map* (kbd "C-e") "exec emacs")

;; Lock screen
(define-key *root-map* (kbd "C-l") "exec slock")

(define-key *top-map* (kbd "F11") "fullscreen")
;; Audio
(define-key *top-map* (kbd "XF86AudioLowerVolume") "exec amixer sset Master 5%-")
(define-key *top-map* (kbd "XF86AudioRaiseVolume") "exec amixer sset Master 5%+")

;; x220 specific
(define-key *top-map* (kbd "F1") "exec brightnessctl --device='intel_backlight' set 5%-")
(define-key *top-map* (kbd "F2") "exec brightnessctl --device='intel_backlight' set +5%")
(define-key *top-map* (kbd "F3") "exec ~/.scripts/keyboard-light-x220.sh")

;; Next
(define-key *top-map* (kbd "s-n") "fnext")

;;Groups
;; Switch to group
;; Root map
(define-key *root-map* (kbd "1") "gselect 1")
(define-key *root-map* (kbd "2") "gselect 2")
(define-key *root-map* (kbd "3") "gselect 3")
(define-key *root-map* (kbd "4") "gselect 4")
(define-key *root-map* (kbd "5") "gselect 5")
(define-key *root-map* (kbd "0") "gselect")
;; Move winodw
(define-key *root-map* (kbd "M-1") "gmove 1")
(define-key *root-map* (kbd "M-2") "gmove 2")
(define-key *root-map* (kbd "M-3") "gmove 3")
(define-key *root-map* (kbd "M-4") "gmove 4")
(define-key *root-map* (kbd "M-5") "gmove 5")
(define-key *root-map* (kbd "M-0") "gmove")
;; Top map, using super
(define-key *top-map* (kbd "s-1") "gselect 1")
(define-key *top-map* (kbd "s-2") "gselect 2")
(define-key *top-map* (kbd "s-3") "gselect 3")
(define-key *top-map* (kbd "s-4") "gselect 4")
(define-key *top-map* (kbd "s-5") "gselect 5")
(define-key *top-map* (kbd "s-6") "gselect 6")
(define-key *top-map* (kbd "s-7") "gselect 7")
(define-key *top-map* (kbd "s-0") "gselect 5")
(define-key *top-map* (kbd "s-9") "gselect")
;; Move window to group
(define-key *top-map* (kbd "s-!") "gmove 1")
(define-key *top-map* (kbd "s-@") "gmove 2")
(define-key *top-map* (kbd "s-#") "gmove 3")
(define-key *top-map* (kbd "s-$") "gmove 4")
(define-key *top-map* (kbd "s-%") "gmove 5")
(define-key *top-map* (kbd "s-^") "gmove 6")
(define-key *top-map* (kbd "s-)") "gmove 5")
(define-key *top-map* (kbd "s-(") "gmove")

(define-key *root-map* (kbd "C-w") "gselect")

;; Focus
(define-key *root-map* (kbd "M-b") "move-window left")
(define-key *root-map* (kbd "M-f") "move-window right")
(define-key *root-map* (kbd "M-n") "move-window down")

;; Split & Focus
(define-key *root-map* (kbd "s") "hsplit-and-focus")

;; Groups
(define-key *groups-map* (kbd "g") "gselect")

;; Nyxt
;; (defvar *nyxt-map* (make-sparse-keymap))
;; (define-key *root-map* (kbd "s") *nyxt-map*)

;; (define-key *nyxt-map* (kbd "M-d") "nyxt-duck-newb")
;; (define-key *nyxt-map* (kbd "h") "nyxt-http")
;; (define-key *nyxt-map* (kbd "d") "nyxt-duck")
;; (define-key *nyxt-map* (kbd "g") "nyxt-gh")



;; Productivity
(load-module "productivity")
(define-key *top-map* (kbd "F7") "productivity-mode-toggle")