From b22e7f4db776881edb4b49b1ecfc87b097e56b2d Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Mon, 30 Mar 2020 16:15:49 -0400 Subject: [PATCH] Fix how slack loads in #emacs --- emacs/.config/doom/config.el | 71 ++++++++++++++++++++++++--------- emacs/.config/doom/config.org | 74 ++++++++++++++++++++++++++--------- 2 files changed, 109 insertions(+), 36 deletions(-) diff --git a/emacs/.config/doom/config.el b/emacs/.config/doom/config.el index c429179..615eb8c 100644 --- a/emacs/.config/doom/config.el +++ b/emacs/.config/doom/config.el @@ -201,7 +201,7 @@ (other-window 1) (find-file +todo-file)) -(use-package! org-roam +(def-package! org-roam :commands (org-roam-insert org-roam-find-file org-roam) :init (setq org-roam-directory "~/org/") @@ -295,24 +295,59 @@ :desc "Update Mastodon timeline" "u" #'mastodon-tl--update :desc "Toot to Mastodon" "t" #'mastodon-toot)) -(use-package slack - :commands (slack-start) +(def-package! slack + :commands (slack-start) + :init + (setq slack-buffer-emojify t) + (setq slack-prefer-current-team t) + :config + (slack-register-team + :name "15five" + :token (auth-source-pick-first-password + :host "15five.slack.com" + :user "colin.powell@15five.com") + :subscribed-channels '(squad-admin water-cooler)) + (slack-register-team + :name "RAB" + :token (auth-source-pick-first-password + :host "randomaccessbrewery.slack.com" + :user "colin@onec.me") + :subscribed-channels '(the_taps random)) + + (evil-define-key 'normal slack-info-mode-map + ",u" 'slack-room-update-messages) + (evil-define-key 'normal slack-mode-map + ",c" 'slack-buffer-kill + ",ra" 'slack-message-add-reaction + ",rr" 'slack-message-remove-reaction + ",rs" 'slack-message-show-reaction-users + ",pl" 'slack-room-pins-list + ",pa" 'slack-message-pins-add + ",pr" 'slack-message-pins-remove + ",mm" 'slack-message-write-another-buffer + ",me" 'slack-message-edit + ",md" 'slack-message-delete + ",u" 'slack-room-update-messages + ",2" 'slack-message-embed-mention + ",3" 'slack-message-embed-channel + "\C-n" 'slack-buffer-goto-next-message + "\C-p" 'slack-buffer-goto-prev-message) + (evil-define-key 'normal slack-edit-message-mode-map + ",k" 'slack-message-cancel-edit + ",s" 'slack-message-send-from-buffer + ",2" 'slack-message-embed-mention + ",3" 'slack-message-embed-channel)) + +(def-package! alert + :commands (alert) :init - (setq slack-buffer-emojify t) ;; if you want to enable emoji, default nil - (setq slack-prefer-current-team t) - :config - (slack-register-team - :name "15five" - :token (auth-source-pick-first-password - :host "15five.slack.com" - :user "colin.powell@15five.com") - :subscribed-channels '((squad-admin water-cooler))) - (slack-register-team - :name "RAB" - :token (auth-source-pick-first-password - :host "randomaccessbrewery.slack.com" - :user "colin@onec.me") - :subscribed-channels '((the_taps random)))) + (setq alert-default-style 'notifier)) + +(map! :leader + (:prefix "r" + :desc "Slack channel select" "c" #'slack-channel-select + :desc "Slack IM select" "i" #'slack-im-select + :desc "Slack threads" "t" #'slack-all-threads)) (load! "beancount") (require 'beancount) diff --git a/emacs/.config/doom/config.org b/emacs/.config/doom/config.org index 649d808..e27a0fb 100644 --- a/emacs/.config/doom/config.org +++ b/emacs/.config/doom/config.org @@ -285,7 +285,7 @@ I am absolutely in love with [[https://org-roam.readthedocs.io/en/develop/][Org- easier. I just need to level up with Zettels and web publishing of my notes. #+BEGIN_SRC emacs-lisp -(use-package! org-roam +(def-package! org-roam :commands (org-roam-insert org-roam-find-file org-roam) :init (setq org-roam-directory "~/org/") @@ -403,25 +403,63 @@ There's gotta be a way to get the token out of password-store for this. :desc "Toot to Mastodon" "t" #'mastodon-toot)) #+END_SRC * Slack +** Configure teams #+BEGIN_SRC emacs-lisp -(use-package slack - :commands (slack-start) +(def-package! slack + :commands (slack-start) + :init + (setq slack-buffer-emojify t) + (setq slack-prefer-current-team t) + :config + (slack-register-team + :name "15five" + :token (auth-source-pick-first-password + :host "15five.slack.com" + :user "colin.powell@15five.com") + :subscribed-channels '(squad-admin water-cooler)) + (slack-register-team + :name "RAB" + :token (auth-source-pick-first-password + :host "randomaccessbrewery.slack.com" + :user "colin@onec.me") + :subscribed-channels '(the_taps random)) + + (evil-define-key 'normal slack-info-mode-map + ",u" 'slack-room-update-messages) + (evil-define-key 'normal slack-mode-map + ",c" 'slack-buffer-kill + ",ra" 'slack-message-add-reaction + ",rr" 'slack-message-remove-reaction + ",rs" 'slack-message-show-reaction-users + ",pl" 'slack-room-pins-list + ",pa" 'slack-message-pins-add + ",pr" 'slack-message-pins-remove + ",mm" 'slack-message-write-another-buffer + ",me" 'slack-message-edit + ",md" 'slack-message-delete + ",u" 'slack-room-update-messages + ",2" 'slack-message-embed-mention + ",3" 'slack-message-embed-channel + "\C-n" 'slack-buffer-goto-next-message + "\C-p" 'slack-buffer-goto-prev-message) + (evil-define-key 'normal slack-edit-message-mode-map + ",k" 'slack-message-cancel-edit + ",s" 'slack-message-send-from-buffer + ",2" 'slack-message-embed-mention + ",3" 'slack-message-embed-channel)) + +(def-package! alert + :commands (alert) :init - (setq slack-buffer-emojify t) ;; if you want to enable emoji, default nil - (setq slack-prefer-current-team t) - :config - (slack-register-team - :name "15five" - :token (auth-source-pick-first-password - :host "15five.slack.com" - :user "colin.powell@15five.com") - :subscribed-channels '((squad-admin water-cooler))) - (slack-register-team - :name "RAB" - :token (auth-source-pick-first-password - :host "randomaccessbrewery.slack.com" - :user "colin@onec.me") - :subscribed-channels '((the_taps random)))) + (setq alert-default-style 'notifier)) +#+END_SRC +** Key bindings +#+BEGIN_SRC emacs-lisp +(map! :leader + (:prefix "r" + :desc "Slack channel select" "c" #'slack-channel-select + :desc "Slack IM select" "i" #'slack-im-select + :desc "Slack threads" "t" #'slack-all-threads)) #+END_SRC * Beancount Use Emacs and plain text files for your accounting!