diff options
author | Tom Willemse | 2015-01-07 02:37:49 +0100 |
---|---|---|
committer | Tom Willemse | 2015-01-07 02:37:49 +0100 |
commit | 74a8eadabaed64ea627fd3341ee9379dfa53e5c0 (patch) | |
tree | be1fb3f5920377abc233f6174fca3d0361836c04 /emacs | |
parent | c5844963d2385ee6b00fad656db1d06dae9e5712 (diff) | |
download | dotfiles-74a8eadabaed64ea627fd3341ee9379dfa53e5c0.tar.gz dotfiles-74a8eadabaed64ea627fd3341ee9379dfa53e5c0.zip |
Update the awesome modeline after closing a group
Diffstat (limited to 'emacs')
-rw-r--r-- | emacs/.emacs.d/init.el | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el index d04469f..3ae1e5c 100644 --- a/emacs/.emacs.d/init.el +++ b/emacs/.emacs.d/init.el @@ -156,6 +156,25 @@ MODE1 is enabled and vice-versa." (and "MariaDB [" (1+ nonl) "]")) "> "))))) +(defun awesome-send (command) + "Send COMMAND through awesome-client to awesome." + (shell-command (format "echo '%s' | awesome-client" command))) + +(defun awesome-update-mailbox (gnus-group) + "Update mailcount widget for GNUS-GROUP. + +But only if it is a maildir inbox." + (let ((name (and + (string-match "^nnmaildir\\+\\(.*\\):inbox$" gnus-group) + (match-string 1 gnus-group)))) + (when name + (awesome-send (format "mailwidgets.%s:set_mailcount()" name))))) + +(defun awesome-update-current-mailbox () + "Update mailcount widget for current gnus group." + (when (and (boundp 'gnus-newsgroup-name) gnus-newsgroup-name) + (awesome-update-mailbox gnus-newsgroup-name))) + (defun oni:before-save-func () "Function for `before-save-hook'." (if (eq major-mode 'html-mode) @@ -1267,6 +1286,7 @@ from myaethon2.core.decorators import ( (add-hook 'vala-mode-hook #'oni:vala-mode-func) (add-hook 'write-file-hooks 'oni:write-file-func) (add-hook 'yas-global-mode-hook 'oni:yas-minor-mode-func) +(add-hook 'gnus-exit-group-hook 'awesome-update-current-mailbox) (oni:add-function-to-hooks #'flycheck-mode 'perl-mode-hook 'rst-mode-hook 'rust-mode-hook 'sh-mode-hook |