blob: 579e6b25e5bd88bc125e6bfe2048d01316c88e11 (
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
|
(defun jd/exwm-update-class ()
(exwm-workspace-rename-buffer exwm-class-name))
(defun jd-exwm/run-in-background (command)
(let ((command-parts (split-string command "[ ]+")))
(apply #'call-process `(,(car command-parts) nil 0 nil ,@(cdr command-parts)))))
(defun jd-exwm/exwm-init-hook ()
(display-battery-mode t)
(display-time-mode t)
(jd-exwm/run-in-background "nm-applet")
(jd-exwm/run-in-background "pasystray")
(jd-exwm/run-in-background "blueman-applet"))
(defun jd-exwm/exwm-update-title ()
(exwm-workspace-rename-buffer exwm-title))
(defun jd-exwm/configure-window-by-class ()
(interactive)
(pcase exwm-class-name
("firefox" (exwm-workspace-move-window 2))
("qutebrowser" (exwm-workspace-move-window 2))
("discord" (exwm-workspace-move-window 5))
("obs" (exwm-workspace-move-window 5))
("Virt-manager" (exwm-workspace-move-window 4))))
(use-package exwm
:config
(setq exwm-workspace-number 9)
(add-hook 'exwm-init-hook #'jd-exwm/exwm-init-hook)
(add-hook 'exwm-update-class-hook #'jd/exwm-update-class)
(add-hook 'exwm-update-title-hook #'jd-exwm/exwm-update-title)
(add-hook 'exwm-manage-finish-hook #'jd-exwm/configure-window-by-class)
(start-process-shell-command "xmodmap" nil "xmodmap ~/dotfiles/.Xmodmap")
(start-process-shell-command "nitrogen" nil "nitrogen --restore")
(start-process-shell-command "xinput" nil "xinput set-prop 11 336 1")
(require 'exwm-randr)
(exwm-randr-enable)
;; (start-process-shell-command "xrandr" nil "xrandr --output DP-1-8 --primary --mode 1920x1080 --output eDP-1 --off")
(require 'exwm-systemtray)
(exwm-systemtray-enable)
(setq exwm-input-simulation-keys
'(([?\C-l] . [left])
([?\C-h] . [right])
([?\C-k] . [up])
([?\C-j] . [down])))
(setq exwm-input-prefix-keys
'(?\C-x
?\C-u
?\C-h
?\M-x
?\M-`
?\M-&
?\M-:
?\C-\M-j
?\C-\ ))
(define-key exwm-mode-map [?\C-q] 'exwm-input-send-next-key)
(exwm-input-set-key (kbd "s-p") 'counsel-linux-app)
(setq exwm-input-global-keys
`(([?\s-R] . exwm-reset)
([?\s-r] . (lambda (command)
(interactive (list (read-shell-command "$ ")))
(start-process-shell-command command nil command)))
([?\s-W] . exwm-workspace-move-window)
([?\s-w] . exwm-workspace-switch)
,@(mapcar (lambda (i)
`(,(kbd (format "s-%d" i)) .
(lambda ()
(interactive)
(exwm-workspace-switch-create ,i))))
(number-sequence 1 9))))
(exwm-enable))
(use-package desktop-environment
:after exwm
:config (desktop-environment-mode)
:custom
(desktop-environment-brightness-small-increment "2%+")
(desktop-environment-brightness-small-decrement "2%-")
(desktop-environment-brightness-normal-increment "5%+")
(desktop-environment-brightness-normal-decrement "5%-"))
(set-frame-parameter (selected-frame) 'alpha '(95 . 95))
(add-to-list 'default-frame-alist `(alpha . (95 . 95)))
(set-frame-parameter (selected-frame) 'fullscreen 'maximized)
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|