diff options
| author | Amin Bandali <bandali@gnu.org> | 2019-09-05 08:30:15 -0400 | 
|---|---|---|
| committer | Amin Bandali <bandali@gnu.org> | 2019-09-05 08:30:15 -0400 | 
| commit | 212feb206d0d0a6891498030630b0d5da0b76dc9 (patch) | |
| tree | cf7822441385fe8c398f686129cf13eb470b2cc2 | |
| parent | 3fffeb0a2e296a0df296ac7080b974e4082ade84 (diff) | |
| download | configs-212feb206d0d0a6891498030630b0d5da0b76dc9.tar.gz configs-212feb206d0d0a6891498030630b0d5da0b76dc9.tar.xz configs-212feb206d0d0a6891498030630b0d5da0b76dc9.zip  | |
switch to exwm
Diffstat (limited to '')
| -rw-r--r-- | .emacs.d/init.el | 115 | ||||
| -rw-r--r-- | .profile | 2 | 
2 files changed, 85 insertions, 32 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 21d175d..2abf0fa 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -559,13 +559,13 @@ For disabling the behaviour for certain buffers and/or modes."  ;;; Essential packages  (use-package exwm -  :disabled    :demand    :config    (require 'exwm-config) -  ;; Set the initial workspace number. -  (setq exwm-workspace-number 4) +  (setq +   exwm-workspace-number 4 +   exwm-workspace-index-map (lambda (i) (number-to-string (1+ i))))    ;; Make class name the buffer name, truncating beyond 50 characters    (defun exwm-rename-buffer () @@ -577,6 +577,21 @@ For disabling the behaviour for certain buffers and/or modes."    (add-hook 'exwm-update-class-hook 'exwm-rename-buffer)    (add-hook 'exwm-update-title-hook 'exwm-rename-buffer) +  (defun b/exwm-ws-prev-index () +    "Return the index for the previous EXWM workspace, wrapping +around if needed." +    (if (= exwm-workspace-current-index 0) +        (1- exwm-workspace-number) +      (1- exwm-workspace-current-index))) + +  (defun b/exwm-ws-next-index () +    "Return the index for the next EXWM workspace, wrapping +around if needed." +    (if (= exwm-workspace-current-index +           (1- exwm-workspace-number)) +        0 +      (1+ exwm-workspace-current-index))) +    ;; 's-R': Reset    (exwm-input-set-key (kbd "s-R") #'exwm-reset)    ;; 's-\': Switch workspace @@ -587,7 +602,33 @@ For disabling the behaviour for certain buffers and/or modes."       (kbd (format "s-%d" i))       (lambda ()         (interactive) -       (exwm-workspace-switch-create i)))) +       (exwm-workspace-switch-create (1- i))))) +  ;; 's-[': Switch to previous workspace +  (defun b/exwm-ws-prev () +    "Switch to previous EXWM workspace, wrapping around if needed." +    (interactive) +    (exwm-workspace-switch-create (b/exwm-ws-prev-index))) +  (exwm-input-set-key (kbd "s-[") #'b/exwm-ws-prev) +  ;; 's-]': Switch to next workspace +  (defun b/exwm-ws-next () +    "Switch to next EXWM workspace, wrapping around if needed." +    (interactive) +    (exwm-workspace-switch-create (b/exwm-ws-next-index))) +  (exwm-input-set-key (kbd "s-]") #'b/exwm-ws-next) +  ;; 's-{': Move window to previous workspace +  (defun b/exwm-move-window-to-prev-ws () +    "Move window to previous EXWM workspace, wrapping around if +needed." +    (interactive) +    (exwm-workspace-move-window (b/exwm-ws-prev-index))) +  (exwm-input-set-key (kbd "s-{") #'b/exwm-move-window-to-prev-ws) +  ;; 's-}': Move window to next workspace +  (defun b/exwm-move-window-to-next-ws () +    "Move window to next EXWM workspace, wrapping around if +needed." +    (interactive) +    (exwm-workspace-move-window (b/exwm-ws-next-index))) +  (exwm-input-set-key (kbd "s-}") #'b/exwm-move-window-to-next-ws)    ;; 's-SPC': Launch application    ;; (exwm-input-set-key    ;;  (kbd "s-SPC") @@ -602,25 +643,25 @@ For disabling the behaviour for certain buffers and/or modes."    ;; Line-editing shortcuts    (setq exwm-input-simulation-keys -	'(;; movement -          ([?\C-b] . [left]) -          ([?\M-b] . [C-left]) -          ([?\C-f] . [right]) -          ([?\M-f] . [C-right]) -          ([?\C-p] . [up]) -          ([?\C-n] . [down]) -          ([?\C-a] . [home]) -          ([?\C-e] . [end]) -          ([?\M-v] . [prior]) -          ([?\C-v] . [next]) -          ([?\C-d] . [delete]) -          ([?\C-k] . [S-end delete]) -          ;; cut/copy/paste -          ;; ([?\C-w] . [?\C-x]) -          ([?\M-w] . [?\C-c]) -          ([?\C-y] . [?\C-v]) -          ;; search -          ([?\C-s] . [?\C-f]))) +    '(;; movement +      ([?\C-b] . [left]) +      ([?\M-b] . [C-left]) +      ([?\C-f] . [right]) +      ([?\M-f] . [C-right]) +      ([?\C-p] . [up]) +      ([?\C-n] . [down]) +      ([?\C-a] . [home]) +      ([?\C-e] . [end]) +      ([?\M-v] . [prior]) +      ([?\C-v] . [next]) +      ([?\C-d] . [delete]) +      ([?\C-k] . [S-end delete]) +      ;; cut/copy/paste +      ;; ([?\C-w] . [?\C-x]) +      ([?\M-w] . [?\C-c]) +      ([?\C-y] . [?\C-v]) +      ;; search +      ([?\C-s] . [?\C-f])))    ;; Enable EXWM    (exwm-enable) @@ -693,16 +734,26 @@ For disabling the behaviour for certain buffers and/or modes."    ;;    (interactive)    ;;    (start-process-shell-command "mpc" nil "mpv next"))) -  (defun b/exwm-pasystray () -    "A command used to start pasystray." +  (comment +    (defun b/exwm-pasystray () +      "A command used to start pasystray." +      (interactive) +      (if (executable-find "pasystray") +          (progn +            (message "EXWM: starting pasystray ...") +            (start-process-shell-command "pasystray" nil "pasystray --notify=all")) +        (message "EXWM: pasystray is not installed, abort!"))) +    (add-hook 'exwm-init-hook #'b/exwm-pasystray)) + +  (defun b/exwm-nm-applet () +    "A command used to start nm-applet."      (interactive) -    (if (executable-find "pasystray") -    (progn -          (message "EXWM: starting pasystray ...") -          (start-process-shell-command "pasystray" nil "pasystray --notify=all")) -      (message "EXWM: pasystray is not installed, abort!"))) - -  (add-hook 'exwm-init-hook #'b/exwm-pasystray) +    (if (executable-find "nm-applet") +        (progn +          (message "EXWM: starting nm-applet ...") +          (start-process-shell-command "nm-applet" nil "nm-applet")) +      (message "EXWM: nm-applet is not installed, abort!"))) +  (add-hook 'exwm-init-hook #'b/exwm-nm-applet)    (exwm-input-set-key     (kbd "s-t") @@ -71,6 +71,8 @@ setxkbmap \  xmodmap -e "keysym Menu = Super_R" +xset r rate 200 45 +  xrdb -merge "$HOME/.Xresources"  # footenote: when on a foreign distro and using Xfce, don't forget to  | 
