mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-11-30 20:16:17 +01:00
73 lines
2.9 KiB
Org Mode
73 lines
2.9 KiB
Org Mode
|
* EXVM
|
||
|
** Moving workspace
|
||
|
Theoretically it's possible to move workspace N to monitor M, by binding \s-C-[0-9], like many people do in i3. All that needs to be done is that a suitable plist needs to be build:
|
||
|
#+NAME: workspace-plist
|
||
|
#+BEGIN_SRC emacs-lisp :tangle no
|
||
|
(setq exwm-randr-workspace-output-plist `(1 "HDMI-0" 2 "HDMI-1" 3 "HDMI-1"))
|
||
|
#+END_SRC
|
||
|
And then this function must be called for EXWM to pick up any changes made
|
||
|
#+NAME:
|
||
|
#+BEGIN_SRC emacs-lisp :tangle no
|
||
|
(exwm-randr-refresh)
|
||
|
#+END_SRC
|
||
|
** Autostart
|
||
|
#+NAME: autostart
|
||
|
#+BEGIN_SRC emacs-lisp :tangle no
|
||
|
(call-process-shell-command "xmodmap ~/.xmodmap &" nil 0)
|
||
|
(call-process-shell-command "dunst &" nil 0)
|
||
|
(call-process-shell-command "picom &" nil 0)
|
||
|
(call-process-shell-command "/mnt/data3/Programs/bin/nextcloud &" nil 0)
|
||
|
(call-process-shell-command "setxkbmap -layout us,sk variant ,qwerty -option grp:lalt_lshift_toggle &" nil 0)
|
||
|
(when (string= (system-name) "heater")
|
||
|
(call-process-shell-command "feh --bg-max /mnt/data3/Nextcloud/Multimedia/Wallpapers/0126.jpg" nil 0)))
|
||
|
#+END_SRC
|
||
|
#+NAME: exwm
|
||
|
#+BEGIN_SRC emacs-lisp :noweb yes
|
||
|
(use-package exwm
|
||
|
:ensure t
|
||
|
:after hydra
|
||
|
:init
|
||
|
(require 'exwm-config)
|
||
|
(exwm-config-default)
|
||
|
(require 'exwm-randr)
|
||
|
(setq exwm-randr-workspace-output-plist '(1 "HDMI-0" 2 "HDMI-1"))
|
||
|
(add-hook 'exwm-randr-screen-change-hook
|
||
|
(lambda ()
|
||
|
(start-process-shell-command
|
||
|
"xrandr" nil "xrandr --output HDMI-1 --right-of HDMI-0 --auto")))
|
||
|
|
||
|
(setq exwm-input-global-keys
|
||
|
`(([?\s-r] . exwm-reset)
|
||
|
([?\s-w] . exwm-workspace-switch)
|
||
|
,@(mapcar (lambda (i)
|
||
|
`(,(kbd (format "s-%d" i)) .
|
||
|
(lambda ()
|
||
|
(interactive)
|
||
|
(exwm-workspace-switch-create ,i))))
|
||
|
(number-sequence 0 9))
|
||
|
([?\s-\)] . (lambda () (interactive) (exwm-workspace-move-window 0)))
|
||
|
([?\s-!] . (lambda () (interactive) (exwm-workspace-move-window 1)))
|
||
|
([?\s-@] . (lambda () (interactive) (exwm-workspace-move-window 2)))
|
||
|
([?\s-#] . (lambda () (interactive) (exwm-workspace-move-window 3)))
|
||
|
([?\s-$] . (lambda () (interactive) (exwm-workspace-move-window 4)))
|
||
|
([?\s-%] . (lambda () (interactive) (exwm-workspace-move-window 5)))
|
||
|
([?\s-^] . (lambda () (interactive) (exwm-workspace-move-window 6)))
|
||
|
([?\s-&] . (lambda () (interactive) (exwm-workspace-move-window 7)))
|
||
|
([?\s-8] . (lambda () (interactive) (exwm-workspace-move-window 8)))
|
||
|
([?\s-*] . (lambda () (interactive) (exwm-workspace-move-window 9)))
|
||
|
([<print>] . (call-process-shell-command "screenshot select &" nil 0))
|
||
|
([?\s-d] . (lambda (command)
|
||
|
(interactive (list (read-shell-command "$ ")))
|
||
|
(start-process-shell-command command nil command)))))
|
||
|
;; Make focus follow mouse
|
||
|
(setq mouse-autoselect-window t
|
||
|
focus-follows-mouse t)
|
||
|
|
||
|
<<autostart>>
|
||
|
|
||
|
(setq exwm-workspace-number 10)
|
||
|
|
||
|
|
||
|
(exwm-randr-enable))
|
||
|
#+END_SRC
|