diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc new file mode 100644 index 0000000..3fc073d --- /dev/null +++ b/.config/dunst/dunstrc @@ -0,0 +1,160 @@ +[global] + font = Monaco-12 + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + format = "%s\n%b" + + # Sort messages by urgency + sort = yes + + # Show how many messages are currently hidden (because of geometry) + indicate_hidden = yes + + # alignment of message text. + # Possible values are "left", "center" and "right" + alignment = left + + # The frequency with wich text that is longer than the notification + # window allows bounces back and forth. + # This option conflicts with 'word_wrap'. + # Set to 0 to disable + bounce_freq = 0 + + # show age of message if message is older than show_age_threshold seconds. + # set to -1 to disable + show_age_threshold = 60; + + # split long notifications into multiple lines + word_wrap = yes + + + # the geometry of the window + # geometry [{width}]x{height}][+/-{x}+/-{y}] + # The geometry of the message window. + # The height is measured in lines everything else in pixels. If the width + # is omitted but the height is given ("-geometry x2"), the message window + # expands over the whole screen (dmenu-like). If width is 0, + # the window expands to the longest message displayed. + # A positive x is measured from the left, a negative from the + # right side of the screen. Y is measured from the top and down respectevly. + geometry = "0x3-30+20" + + # The transparency of the window. range: [0; 100] + # This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..) + transparency = 0 + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + idle_threshold = 120 + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern windowmanagers. + # + # If this option is set to mouse or keyboard, the monitor option will be + # ignored. + follow = none + + # should a notification popped up from history be sticky or + # timeout as if it would normally do. + sticky_history = yes + + # The height of a single line. If the height is smaller than the font height, + # it will get raised to the font height. + # This adds empty space above and under the text. + line_height = 0 + + # Draw a line of 'separatpr_height' pixel height between two notifications. + # Set to 0 to disable + separator_height = 2; + + # Define a color for the separator. + # This can either be "auto" or "foreground". "Auto" tries to find a color + # that fits nicely to the background color. + separator_color = auto + + +[shortcuts] + # shortcuts are specified as [modifier+][modifier+]...key + # available modifiers are 'ctrl', 'mod1' (the alt-key), 'mod2', 'mod3' + # and 'mod4' (windows-key) + # xev might be helpful to find names for keys + + # close notification + close = ctrl+space + + # close all notifications + close_all = ctrl+shift+space + + # redisplay last message(s) + # On the US keyboard layout 'grave' is normally above TAB and left of '1'. + history = ctrl+grave + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the '#' and following would be interpreted as a comment. + background = "#aaaaff" + foreground = "#000000" + timeout = 10 + +[urgency_normal] + background = "#1793D1" + foreground = "#DDDDDD" + timeout = 10 + +[urgency_critical] + background = "#ffaaaa" + foreground = "#000000" + timeout = 0 + + +# Every section that isn't one of the above is interpreted as a rules +# to override settings for certain messages. +# Messages can be matched by 'appname', 'summary', 'body' or 'icon' +# and you can override the 'timeout', 'urgency', 'foreground', 'background' +# and 'format'. +# Shell-like globbing will get expanded. +# +# NOTE: if you don't want a notification to be displayed, set the format to "" +# NOTE: It might be helpful to run dunst -print in a terminal in order to find +# fitting options for rules. + +#[ignore] +## This notification will not be displayed +# summary = "foobar" +# format = "" + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# diff --git a/.emacs.d/init.el b/.emacs.d/init.el index c2b91c4..d52d405 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -43,6 +43,22 @@ (load (expand-file-name "~/.emacs.d/site-lisp/loaddefs.el")) (defalias 'yes-or-no-p 'y-or-n-p) +(defalias 'list-buffers 'ibuffer) + +(defface git-commit-summary-face + '((t (:inherit org-level-1))) + "Face for the git title line." + :group 'local) + +(defface git-commit-overlong-summary-face + '((t (:background "#873732"))) + "Face for commit titles that are too long." + :group 'local) + +(defface git-commit-nonempty-second-line-face + '((t (:inherit git-commit-overlong-summary-face))) + "Face for the supposedly empty line in commit messages." + :group 'local) (eval-after-load "ebuff-menu" '(define-key electric-buffer-menu-mode-map @@ -93,41 +109,17 @@ (eval-after-load "jabber" '(remove-hook 'jabber-alert-presence-hooks 'jabber-presence-echo)) +(eval-after-load "mu4e" + '(require 'mu4e-init)) + (eval-after-load "org" - '(progn - (require 'appt) - (require 'org-protocol) - (require 'org-habit) - (require 'org-contacts) - - (add-to-list 'org-modules 'habit) - - (org-indent-mode t) - - (org-agenda-to-appt) - (ad-activate 'org-agenda-redo))) - -(eval-after-load "org-crypt" - '(org-crypt-use-before-save-magic)) - -(eval-after-load "sauron" - '(setq sauron-modules (append '(sauron-identica sauron-jabber) - sauron-modules))) + '(require 'org-init)) (eval-after-load "smex" '(progn (global-set-key (kbd "M-x") 'smex) (global-set-key (kbd "C-M-x") 'smex-major-mode-commands))) -(oni:define-mailbox "aethon" - (oni:email thomas at aethon dot nl) - (expand-file-name "~/documents/work/aethon/signature.txt")) -(oni:define-mailbox "gmail" (oni:email ryuslash at gmail dot com)) -(oni:define-mailbox "ninthfloor" - (oni:email ryuslash at ninthfloor dot org)) -(oni:define-mailbox "ryuslash" (oni:email tom at ryuslash dot org) - nil "ryuslash.org") - (put 'upcase-region 'disabled nil) (put 'downcase-region 'disabled nil) (put 'narrow-to-region 'disabled nil) @@ -152,6 +144,7 @@ `((".*" . ,temporary-file-directory))) (setq browse-url-browser-function 'browse-url-generic) (setq browse-url-generic-program (getenv "BROWSER")) +(setq comment-auto-fill-only-comments t) (setq custom-file "~/.emacs.d/custom.el") (setq custom-theme-directory "~/.emacs.d/themes") (setq default-frame-alist @@ -177,20 +170,46 @@ (setq flymake-gui-warnings-enabled nil) (setq flymake-info-line-regexp (eval-when-compile - (regexp-opt '("Invalid name" - "Missing docstring" - "multiple imports on one line" - "expected 2 blank lines, found 1" - "TODO:")))) + (regexp-opt + '("Invalid name" + "String statement has no effect" + "Missing docstring" + "Empty docstring" + "multiple imports on one line" + "expected 2 blank lines, found 1" + "expected 2 blank lines, found 0" + "TODO:" + "whitespace after '{'" + "whitespace before '}'" + "whitespace before ':'" + "whitespace after '('" + "whitespace before ')'" + "the backslash is redundant between brackets" + "continuation line over-indented for visual indent" + "continuation line under-indented for visual indent" + "Too many statements" + "comparison to None should be" + "missing whitespace around operator" + "missing whitespace after ','" + "line too long" + "at least two spaces before inline comment" + "trailing whitespace" + "too many blank lines")))) (setq flymake-log-file-name (expand-file-name "~/.emacs.d/flymake.log")) (setq flymake-log-level 0) (setq flymake-warn-line-regexp (eval-when-compile (regexp-opt '("warning" "Warning" - "String statement has no effect" - "No value passed for parameter" - "imported but unused")))) + "imported but unused" + "redefinition of unused" + "Redefining built-in" + "Redefining name" + "Unused argument" + "Unused variable" + "Dangerous default value {} as argument" + "no newline at end of file" + "Access to a protected member")))) (setq frame-title-format '(:eval (concat "emacs: " (buffer-name)))) (setq geiser-repl-history-filename "~/.emacs.d/geiser-history") (setq gtags-auto-update t) @@ -206,7 +225,9 @@ (setq inhibit-startup-message t) (setq initial-major-mode 'emacs-lisp-mode) (setq initial-scratch-message nil) -(setq jabber-account-list '(("ryuslash@jabber.org"))) +(setq jabber-account-list '(("ryuslash@jabber.org") + ("tom@ryuslash.org" + (:connection-type . ssl)))) (setq jabber-chat-buffer-format "*jabber:%n*") (setq jabber-chat-buffer-show-avatar nil) (setq jabber-chat-fill-long-lines nil) @@ -220,82 +241,6 @@ (setq message-log-max 1000) (setq message-send-mail-function 'message-send-mail-with-sendmail) (setq mode-line-position nil) -(setq mu4e-headers-date-format "%d-%m %H:%M") -(setq mu4e-headers-fields '((:date . 11) - (:flags . 6) - (:to . 22) - (:from . 22) - (:subject))) -(setq mu4e-headers-show-threads nil) -(setq mu4e-headers-sort-revert nil) -(setq mu4e-html2text-command "w3m -dump -T text/HTML -cols 72") -(setq mu4e-my-email-addresses (list - (oni:email tom at ryuslash dot org) - (oni:email ryuslash at gmail dot com) - (oni:email ryuslash at ninthfloor dot org) - (oni:email thomas at aethon dot nl))) -(setq org-agenda-custom-commands - '(("wt" "Work todo." - tags-todo "CATEGORY=\"Work\"") - ("wm" "Myaethon2 todo." - tags-todo "CATEGORY=\"myaethon2\""))) -(setq org-agenda-sorting-strategy - '((agenda habit-down time-up priority-down category-keep) - (todo priority-down category-up) - (tags priority-down category-keep) - (search category-keep))) -(setq org-capture-templates - '(("t" "Task" entry (file "~/documents/org/tasks") - "* TODO %?") - ("h" "Habit" entry (file "") - (concat "* TODO %^{Description}\n" - " SCHEDULED: %^T\n" - " :PROPERTIES:\n" - " :STYLE: habit\n" - " :END:") - :immediate-finish t) - ("l" "Log" entry (file+headline "" "notes") - (concat "* %n %<%d-%m-%Y %H:%M:%S>\n" - " %a\n\n" - " %?") - :prepend t :empty-lines 1) - ("a" "Appointment" entry (file+headline "" "appointments") - "* %^{Description} %^T" :immediate-finish t) - ("b" "Bookmark" entry (file "~/documents/org/misc/bookmarks.org") - "* %c\n\n %:initial"))) -(setq org-contacts-files '("~/documents/org/misc/contacts.org")) -(setq org-directory (expand-file-name "~/documents/org")) -(setq org-agenda-files - `(,(concat org-directory "/org") - ,(concat org-directory "/misc/contacts.org") - ,(concat org-directory "/misc/bookmarks.org"))) -(setq org-default-notes-file (concat org-directory "/org")) -(setq org-export-htmlize-output-type 'css) -(setq org-feed-alist - '(("MyEpisodes" - "http://www.myepisodes.com/rss.php?feed=mylist&uid=Slash&pwdmd5=04028968e1f0b7ee678b748a4320ac17" - "~/documents/org/tasks" "MyEpisodes" - :formatter oni:myepisodes-formatter))) -(setq org-hide-emphasis-markers t) -(setq org-outline-path-complete-in-steps t) -(setq org-refile-allow-creating-parent-nodes t) -(setq org-refile-targets '((nil . (:maxlevel . 6)))) -(setq org-refile-use-outline-path 'file) -(setq org-return-follows-link t) -(setq org-src-fontify-natively t) -(setq org-tags-exclude-from-inheritance '("crypt")) -(setq org-todo-keyword-faces - '(("TODO" :background "red") - ("DONE" :background "forest green") - ("SUCCEEDED" :background "forest green") - ("WAITING" :background "orange" :foreground "black") - ("CANCELLED" :background "orange red") - ("FAILED" :background "orange red") - ("WIP" :background "#ff9800" :foreground "black") - ("HOLD" :background "orange" :foreground "black") - ("ACQUIRE" :background "red") - ("IGNORED" :background "#555555"))) -(setq org-use-fast-todo-selection t) (setq package-archives '(("melpa" . "http://melpa.milkbox.net/packages/") ("ELPA" . "http://tromey.com/elpa/") @@ -310,21 +255,11 @@ (setq pony-tpl-indent-moves t) (setq rainbow-delimiters-max-face-count 12) (setq redisplay-dont-pause t) -(setq sauron-column-alist '((timestamp . 6) - (message))) -(setq sauron-hide-mode-line t) -(setq sauron-max-line-length 189) -(setq sauron-timestamp-format "%H:%M") -(setq sauron-watch-nicks '("ryuslash")) -(setq sauron-watch-patterns '("ryuslash")) (setq scroll-conservatively 101) (setq send-mail-function 'smtpmail-send-it) (setq sendmail-program "/usr/bin/msmtp") (setq smex-key-advice-ignore-menu-bar t) (setq smex-save-file "~/.emacs.d/smex-items") -(setq special-display-buffer-names '("*Sauron*")) -(setq special-display-frame-alist '((minibuffer . nil) - (right-fringe . 0))) (setq split-height-threshold 40) (setq time-stamp-active t) (setq time-stamp-format "%04y-%02m-%02d %02H:%02M:%02S (%u)") @@ -378,8 +313,8 @@ (global-set-key (kbd "") 'jabber-switch-to-roster-buffer) (global-set-key (kbd "") 'magit-status) (global-set-key (kbd "") 'oni:raise-eshell) -(global-set-key (kbd "C-<") 'indent-shift-left) -(global-set-key (kbd "C->") 'indent-shift-right) +(global-set-key (kbd "C-<") 'oni:indent-shift-left) +(global-set-key (kbd "C->") 'oni:indent-shift-right) (global-set-key (kbd "C-M-4") 'split-window-vertically) (global-set-key (kbd "C-M-SPC") 'er/expand-region) (global-set-key (kbd "C-M-d") 'kill-word) @@ -395,15 +330,12 @@ (global-set-key (kbd "C-e") 'oni:move-end-of-dwim) (global-set-key (kbd "C-k") 'oni:kill-region-or-line) (global-set-key (kbd "C-w") 'oni:kill-region-or-backward-char) -(global-set-key (kbd "C-x C-b") 'electric-buffer-list) (global-set-key (kbd "M-4") 'split-window-horizontally) (global-set-key (kbd "M-n") 'idomenu) (global-set-key (kbd "\"") 'oni:self-insert-dwim) (if (daemonp) - (global-set-key "\C-x\C-c" 'oni:close-client-window) - (unless (server-running-p) - (server-start))) + (global-set-key "\C-x\C-c" 'oni:close-client-window)) (when (or window-system (daemonp)) (global-unset-key "\C-z")) @@ -462,11 +394,15 @@ (smex-initialize) (help-at-pt-set-timer) -(load-theme 'new t) +(load-theme 'yoshi t) (load custom-file) (load "rudel-loaddefs.el") +(unless (server-running-p) + (server-start) + (load "wm-init")) + (provide 'init) ;;; init.el ends here diff --git a/.emacs.d/site-lisp/mu4e-init.el b/.emacs.d/site-lisp/mu4e-init.el new file mode 100644 index 0000000..258a6ef --- /dev/null +++ b/.emacs.d/site-lisp/mu4e-init.el @@ -0,0 +1,54 @@ +;;; mu4e-init.el --- mu4e initialization + +;; Copyright (C) 2012 Tom Willemsen + +;; Author: Tom Willemsen +;; Keywords: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; + +;;; Code: + +(require 'oni) + +(oni:define-mailbox "aethon" + (oni:email thomas at aethon dot nl) + (expand-file-name "~/documents/work/aethon/signature.txt")) +(oni:define-mailbox "gmail" (oni:email ryuslash at gmail dot com)) +(oni:define-mailbox "ninthfloor" + (oni:email ryuslash at ninthfloor dot org)) +(oni:define-mailbox "ryuslash" (oni:email tom at ryuslash dot org) + nil "ryuslash.org") + +(setq mu4e-headers-date-format "%d-%m %H:%M") +(setq mu4e-headers-fields '((:date . 11) + (:flags . 6) + (:to . 22) + (:from . 22) + (:subject))) +(setq mu4e-headers-show-threads nil) +(setq mu4e-headers-sort-revert nil) +(setq mu4e-html2text-command "w3m -dump -T text/HTML -cols 72") +(setq mu4e-my-email-addresses (list + (oni:email tom at ryuslash dot org) + (oni:email ryuslash at gmail dot com) + (oni:email ryuslash at ninthfloor dot org) + (oni:email thomas at aethon dot nl))) + +(provide 'mu4e-init) +;;; mu4e-init.el ends here diff --git a/.emacs.d/site-lisp/oni.el b/.emacs.d/site-lisp/oni.el index 2f60c63..35e85dc 100644 --- a/.emacs.d/site-lisp/oni.el +++ b/.emacs.d/site-lisp/oni.el @@ -361,7 +361,8 @@ PLIST contains all the pertinent information." (episode (match-string 2 str)) (name (match-string 3 str)) (date (oni:mini-fix-timestamp-string (match-string 4 str)))) - (format "* ACQUIRE %s %s - %s <%s>" title episode name date)))) + (format "* ACQUIRE %s %s - %s \n SCHEDULED: <%s>" + title episode name date)))) (defun oni:newline-and-indent () "`newline-and-indent', but with a twist. @@ -393,7 +394,8 @@ When dealing with braces, add another line and indent that too." "Function for `prog-mode-hook'." (rainbow-delimiters-mode) (fci-mode) - (pretty-symbols-mode)) + (pretty-symbols-mode) + (auto-fill-mode)) (defun oni:python-mode-func () "Function for `python-mode-hook'." diff --git a/.emacs.d/site-lisp/org-init.el b/.emacs.d/site-lisp/org-init.el new file mode 100644 index 0000000..7345f91 --- /dev/null +++ b/.emacs.d/site-lisp/org-init.el @@ -0,0 +1,113 @@ +;;; org-init.el --- Org initialization + +;; Copyright (C) 2012 Tom Willemsen + +;; Author: Tom Willemsen +;; Keywords: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; + +;;; Code: + +(require 'appt) +(require 'oni) +(require 'org-contacts) +(require 'org-habit) +(require 'org-protocol) + +(eval-after-load "org-crypt" + '(org-crypt-use-before-save-magic)) + +(setq org-agenda-custom-commands + '(("wt" "Work todo." + tags-todo "CATEGORY=\"Work\"") + ("wm" "Myaethon2 todo." + tags-todo "CATEGORY=\"myaethon2\""))) +(setq org-agenda-sorting-strategy + '((agenda habit-down time-up priority-down category-keep) + (todo priority-down tag-up category-up) + (tags priority-down category-keep) + (search category-keep))) +(setq org-agenda-tags-column -101) +(setq org-capture-templates + '(("t" "Task" entry (file "~/documents/org/tasks") + "* TODO %?") + ("h" "Habit" entry (file "") + (concat "* TODO %^{Description}\n" + " SCHEDULED: %^T\n" + " :PROPERTIES:\n" + " :STYLE: habit\n" + " :END:") + :immediate-finish t) + ("l" "Log" entry (file+headline "" "notes") + (concat "* %n %<%d-%m-%Y %H:%M:%S>\n" + " %a\n\n" + " %?") + :prepend t :empty-lines 1) + ("a" "Appointment" entry (file+headline "" "appointments") + "* %^{Description} %^T" :immediate-finish t) + ("b" "Bookmark" entry (file "~/documents/org/misc/bookmarks.org") + "* %c\n\n %:initial"))) +(setq org-contacts-files '("~/documents/org/misc/contacts.org")) +(setq org-directory (expand-file-name "~/documents/org")) +(setq org-agenda-files + (append + `(,(concat org-directory "/tasks") + ,(concat org-directory "/misc/contacts.org") + ,(concat org-directory "/misc/bookmarks.org")) + org-agenda-files)) +(setq org-agenda-todo-ignore-deadlines 'far) +(setq org-agenda-todo-ignore-scheduled t) +(setq org-default-notes-file (concat org-directory "/org")) +(setq org-export-htmlize-output-type 'css) +(setq org-feed-alist + '(("MyEpisodes" + "http://www.myepisodes.com/rss.php?feed=mylist&uid=Slash&pwdmd5=04028968e1f0b7ee678b748a4320ac17" + "~/documents/org/tasks" "MyEpisodes" + :formatter oni:myepisodes-formatter))) +(setq org-hide-emphasis-markers t) +(setq org-outline-path-complete-in-steps t) +(setq org-refile-allow-creating-parent-nodes t) +(setq org-refile-targets '((nil . (:maxlevel . 6)))) +(setq org-refile-use-outline-path 'file) +(setq org-return-follows-link t) +(setq org-src-fontify-natively t) +(setq org-tags-column -101) +(setq org-tags-exclude-from-inheritance '("crypt")) +(setq org-todo-keyword-faces + '(("TODO" :background "red") + ("DONE" :background "forest green") + ("SUCCEEDED" :background "forest green") + ("WAITING" :background "orange" :foreground "black") + ("CANCELLED" :background "orange red") + ("FAILED" :background "orange red") + ("WIP" :background "#ff9800" :foreground "black") + ("HOLD" :background "orange" :foreground "black") + ("ACQUIRE" :background "red") + ("IGNORED" :background "#555555"))) +(setq org-use-fast-todo-selection t) + +(add-to-list 'org-modules 'habit) + +(org-indent-mode t) + +(org-agenda-to-appt) +(ad-activate 'org-agenda-redo) + +(provide 'org-init) +;;; org-init.el ends here diff --git a/.emacs.d/site-lisp/wm-init.el b/.emacs.d/site-lisp/wm-init.el new file mode 100644 index 0000000..1ff0501 --- /dev/null +++ b/.emacs.d/site-lisp/wm-init.el @@ -0,0 +1,3 @@ +(async-shell-command "herbstluftwm" " herbstluftwm") +(async-shell-command "dunst" " dunst") +(async-shell-command "xbindkeys -n" " xbindkeys") diff --git a/.emacs.d/themes/new-theme.el b/.emacs.d/themes/yoshi-theme.el similarity index 65% rename from .emacs.d/themes/new-theme.el rename to .emacs.d/themes/yoshi-theme.el index 04f9930..6836353 100644 --- a/.emacs.d/themes/new-theme.el +++ b/.emacs.d/themes/yoshi-theme.el @@ -1,4 +1,4 @@ -;;; new-theme.el --- My new theme +;;; yoshi-theme.el --- Theme named after my cat ;; Copyright (C) 2012 Tom Willemsen @@ -20,15 +20,16 @@ ;;; Commentary: -;; Just a new theme. +;; Just a theme named after my cat. He doesn't actually look like +;; this. ;;; Code: -(deftheme new +(deftheme yoshi "Created 2012-09-24") (custom-theme-set-faces - 'new + 'yoshi '(default ((t (:background "#111113" :foreground "#eeeeec")))) '(flymake-errline ((t (:background nil :underline (:color "#d16979" :style wave))))) '(flymake-infoline ((t (:background nil :underline (:color "#4da5d1" :style wave))))) @@ -43,9 +44,9 @@ '(font-lock-type-face ((t (:foreground "#78a2c1" :bold t)))) '(font-lock-variable-name-face ((t (:foreground "#c39cc3")))) '(highlight ((t (:background "#171719")))) - '(ido-subdir ((t (:foreground "#ff5d55")))) + '(ido-subdir ((t (:foreground "#ff756e")))) '(italic ((t (:slant italic)))) - '(jabber-chat-prompt-foreign ((t (:foreground "#ff5d55")))) + '(jabber-chat-prompt-foreign ((t (:foreground "#ff756e")))) '(jabber-chat-prompt-local ((t (:foreground "#78a2c1")))) '(jabber-roster-user-online ((t (:foreground "#769ff2")))) '(link ((t (:foreground "#ffbb56" :underline t)))) @@ -53,14 +54,14 @@ '(minibuffer-prompt ((t (:foreground "#78a2c1")))) '(mode-line ((t (:background "#222224" :foreground "#eeeeec" :box nil)))) '(mode-line-inactive ((t (:background "#171719" :foreground "#999999" :box nil)))) - '(org-level-1 ((t (:height 1.5)))) - '(org-level-2 ((t (:height 1.4)))) - '(org-level-3 ((t (:height 1.3)))) - '(org-level-4 ((t (:height 1.2)))) - '(org-level-5 ((t (:height 1.1)))) - '(org-level-6 ((t (:height 1.0)))) - '(org-level-7 ((t (:height 1.0)))) - '(org-level-8 ((t (:height 1.0)))) + '(org-level-1 ((t (:height 1.5 :foreground "#78a2c1")))) + '(org-level-2 ((t (:height 1.4 :foreground "#93d8d8")))) + '(org-level-3 ((t (:height 1.3 :foreground "#9ad870")))) + '(org-level-4 ((t (:height 1.2 :foreground "#c39cc3")))) + '(org-level-5 ((t (:height 1.1 :foreground "#ff756e")))) + '(org-level-6 ((t (:height 1.0 :foreground "#a9a9a9")))) + '(org-level-7 ((t (:height 1.0 :foreground "#ffbb56")))) + '(org-level-8 ((t (:height 1.0 :foreground "#999999")))) '(region ((t (:background "#2729b6")))) '(rst-level-1 ((t (:height 1.5 :background nil)))) '(rst-level-2 ((t (:height 1.4 :background nil)))) @@ -68,7 +69,15 @@ '(rst-level-4 ((t (:height 1.2 :background nil)))) '(rst-level-5 ((t (:height 1.1 :background nil)))) '(rst-level-6 ((t (:height 1.0 :background nil)))) + '(term-color-black ((t (:background "#171719" :foreground "#999999")))) + '(term-color-blue ((t (:background "#2729b6" :foreground "#78a2c1")))) + '(term-color-cyan ((t (:background "#208181" :foreground "#93d8d8")))) + '(term-color-green ((t (:background "#405c2e" :foreground "#9ad870")))) + '(term-color-magenta ((t (:background "#5e325d" :foreground "#c39cc3")))) + '(term-color-red ((t (:background "#973732" :foreground "#ff756e")))) + '(term-color-white ((t (:background "#222224" :foreground "#a9a9a9")))) + '(term-color-yellow ((t (:background "#835c0e" :foreground "#ffbb56")))) ) -(provide-theme 'new) -;;; new-theme.el ends here +(provide-theme 'yoshi) +;;; yoshi-theme.el ends here diff --git a/.offlineimaprc b/.offlineimaprc index ff4aeed..0afd94d 100644 --- a/.offlineimaprc +++ b/.offlineimaprc @@ -1,117 +1,110 @@ -# -*- mode: conf-unix; eval: (git-auto-commit-mode 1); -*- - +# -*- mode: conf-unix; -*- [general] # NOTE: cronjob calls the quiet UI with -u ui = TTYUI accounts = ryuslash.org,gmail,aethon,ninthfloor pythonfile = ~/.offlineimap.py -[Account arch] -localrepository = arch-local -remoterepository = arch-remote - -[Account gmail] -localrepository = gmail-local -remoterepository = gmail-remote -postsynchook = mu index --muhome=~/.mu/gmail --maildir=~/documents/mail/gmail; ~/bin/emacs-send-mail gmail - -[Account iactor] -localrepository = iactor-local -remoterepository = iactor-remote - -[Account aethon] -localrepository = aethon-local -remoterepository = aethon-remote -postsynchook = mu index --muhome=~/.mu/aethon --maildir=~/documents/mail/aethon; ~/bin/emacs-send-mail aethon - -[Account ninthfloor] -localrepository = ninthfloor-local -remoterepository = ninthfloor-remote -postsynchook = mu index --muhome=~/.mu/ninthfloor --maildir=~/documents/mail/ninthfloor; ~/bin/emacs-send-mail ninthfloor - [Account ryuslash.org] -localrepository = ryuslash.org-local +localrepository = ryuslash.org-local remoterepository = ryuslash.org-remote -postsynchook = mu index --muhome=~/.mu/ryuslash --maildir=~/documents/mail/ryuslash.org; ~/bin/emacs-send-mail ryuslash.org - -[Repository arch-local] -type = Maildir -localfolders = ~/documents/mail/arch - -[Repository gmail-local] -type = Maildir -localfolders = ~/documents/mail/gmail - -nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Drafts', re.sub('^sent$', '[Gmail]/Sent Mail', re.sub('^trash$', '[Gmail]/Trash', folder)))) - -[Repository iactor-local] -type = Maildir -localfolders = ~/documents/mail/iactor - -[Repository aethon-local] -type = Maildir -localfolders = ~/documents/mail/aethon - -#nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Concepten', re.sub('^sent$', '[Gmail]/Verzonden berichten', re.sub('^trash$', '[Gmail]/Prullenbak', folder)))) -nametrans = lambda folder: re.sub('^inbox$', 'INBOX', folder) - -[Repository ninthfloor-local] -type = Maildir -localfolders = ~/documents/mail/ninthfloor - -nametrans = lambda folder: folder.capitalize() +postsynchook = mu index --muhome=~/.mu/ryuslash --maildir=~/documents/mail/ryuslash.org; ~/usr/bin/emacs-send-mail ryuslash.org [Repository ryuslash.org-local] type = Maildir localfolders = ~/documents/mail/ryuslash.org - -nametrans = lambda folder: folder.capitalize() - -[Repository arch-remote] -type = Gmail -remoteusereval = getuser("imap.google.com-arch") -remotepasseval = getpassword("imap.google.com-arch") -realdelete = no - -nametrans = lambda folder: re.sub('.*Spam$', 'spam', re.sub('.*Drafts$', 'drafts', re.sub('.*Sent Mail$', 'sent', re.sub('.*Starred$', 'flagged', re.sub('.*Trash$', 'trash', re.sub('.*All Mail$', 'archive', folder)))))) - -[Repository gmail-remote] -type = Gmail -remoteusereval = getuser("imap.google.com") -remotepasseval = getpassword("imap.google.com") -realdelete = no - -folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash'] -nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder)))) - -[Repository iactor-remote] -type = IMAP -remotehost = mail.iactor.nl -remoteusereval = getuser("mail.iactor.nl") -remotepasseval = getpassword("mail.iactor.nl") - -[Repository aethon-remote] -type = Gmail -remoteusereval = getuser("imap.google.com-aethon") -remotepasseval = getpassword("imap.google.com-aethon") -realdelete = no - -folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Concepten', '[Gmail]/Verzonden berichten', '[Gmail]/Prullenbak'] -nametrans = lambda folder: re.sub('^INBOX$', 'inbox', folder) -#nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Concepten$', 'drafts', re.sub('^\[Gmail\]/Verzonden berichten$', 'sent', re.sub('^\[Gmail\]/Prullenbak$', 'trash', folder)))) - -[Repository ninthfloor-remote] -type = IMAP -remotehost = ninthfloor.org -remoteusereval = getuser("ninthfloor.org") -remotepasseval = getpassword("ninthfloor.org") - -nametrans = lambda folder: folder.lower() +nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize()) [Repository ryuslash.org-remote] type = IMAP remotehost = imap.alwaysdata.com remoteusereval = getuser("imap.alwaysdata.com") remotepasseval = getpassword("imap.alwaysdata.com") +nametrans = lambda folder: folder.lower() -nametrans = lambda folder: folder.lower() +[Account aethon] +localrepository = aethon-local +remoterepository = aethon-remote +postsynchook = mu index --muhome=~/.mu/aethon --maildir=~/documents/mail/aethon; ~/usr/bin/emacs-send-mail aethon + +[Repository aethon-local] +type = Maildir +localfolders = ~/documents/mail/aethon +nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Concepten', re.sub('^sent$', '[Gmail]/Verzonden berichten', re.sub('^trash$', '[Gmail]/Prullenbak', folder)))) + +[Repository aethon-remote] +type = Gmail +remoteusereval = getuser("imap.google.com-aethon") +remotepasseval = getpassword("imap.google.com-aethon") +realdelete = no +cert_fingerprint = 6d1b5b5ee0180ab493b71d3b94534b5ab937d042 +folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Concepten', '[Gmail]/Verzonden berichten', '[Gmail]/Prullenbak'] +nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Concepten$', 'drafts', re.sub('^\[Gmail\]/Verzonden berichten$', 'sent', re.sub('^\[Gmail\]/Prullenbak$', 'trash', folder)))) + +[Account gmail] +localrepository = gmail-local +remoterepository = gmail-remote +postsynchook = mu index --muhome=~/.mu/gmail --maildir=~/documents/mail/gmail; ~/usr/bin/emacs-send-mail gmail + +[Repository gmail-local] +type = Maildir +localfolders = ~/documents/mail/gmail +nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Drafts', re.sub('^sent$', '[Gmail]/Sent Mail', re.sub('^trash$', '[Gmail]/Trash', folder)))) + +[Repository gmail-remote] +type = Gmail +remoteusereval = getuser("imap.google.com") +remotepasseval = getpassword("imap.google.com") +realdelete = no +cert_fingerprint = 6d1b5b5ee0180ab493b71d3b94534b5ab937d042 +folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash'] +nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder)))) + +[Account ninthfloor] +localrepository = ninthfloor-local +remoterepository = ninthfloor-remote +postsynchook = mu index --muhome=~/.mu/ninthfloor --maildir=~/documents/mail/ninthfloor; ~/usr/bin/emacs-send-mail ninthfloor + +[Repository ninthfloor-local] +type = Maildir +localfolders = ~/documents/mail/ninthfloor +nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize()) + +[Repository ninthfloor-remote] +type = IMAP +remotehost = ninthfloor.org +remoteusereval = getuser("ninthfloor.org") +remotepasseval = getpassword("ninthfloor.org") +nametrans = lambda folder: folder.lower() + +[Account arch] +localrepository = arch-local +remoterepository = arch-remote + +[Repository arch-local] +type = Maildir +localfolders = ~/documents/mail/arch +nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Drafts', re.sub('^sent$', '[Gmail]/Sent Mail', re.sub('^trash$', '[Gmail]/Trash', folder)))) + +[Repository arch-remote] +type = Gmail +remoteusereval = getuser("imap.google.com-arch") +remotepasseval = getpassword("imap.google.com-arch") +realdelete = no +cert_fingerprint = 6d1b5b5ee0180ab493b71d3b94534b5ab937d042 +folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash'] +nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder)))) + +[Account iactor] +localrepository = iactor-local +remoterepository = iactor-remote + +[Repository iactor-local] +type = Maildir +localfolders = ~/documents/mail/iactor + +[Repository iactor-remote] +type = IMAP +remotehost = mail.iactor.nl +remoteusereval = getuser("mail.iactor.nl") +remotepasseval = getpassword("mail.iactor.nl") diff --git a/.ssh/config b/.ssh/config index eeb6ac6..edace41 100644 --- a/.ssh/config +++ b/.ssh/config @@ -1,22 +1,22 @@ -# -*- eval: (git-auto-commit-mode 1) -*- ControlMaster auto ControlPath /tmp/ssh_mux_%h_%p_%r ControlPersist 1m Host 192.168.0.95 -Port 4511 + Port 4511 Host pegas -Port 4511 + Port 4511 Host 82.170.172.156 -Port 4511 + Port 4511 Host anapnea.net -User ryuslash + User ryuslash Host my.aethon.nl -User tom + User tom Host ryuslash.org -Port 4511 + Port 4511 + ForwardAgent yes diff --git a/.xbindkeysrc.scm b/.xbindkeysrc.scm index 16fcf09..fcfd33e 100644 --- a/.xbindkeysrc.scm +++ b/.xbindkeysrc.scm @@ -226,8 +226,3 @@ ;;;_ Main (first-binding) - -;;;_ Local Variables -;; Local Variables: -;; eval: (git-auto-commit-mode 1) -;; End: diff --git a/.xinitrc b/.xinitrc index c93f42a..3a2b9a5 100755 --- a/.xinitrc +++ b/.xinitrc @@ -9,13 +9,11 @@ if [ -d /etc/X11/xinit/xinitrc.d ]; then unset f fi -emacs --daemon & - pidof mpdscribble >& /dev/null if [ $? -ne 0 ] then mpdscribble & fi -test -n "$1" && wm=$1 || wm="awesome" # wm="emacsclient -ce \"(oni:wm-init)\"" +test -n "$1" && wm=$1 || wm="emacs" exec $wm diff --git a/.zprofile b/.zprofile index 0da982a..5d4d30e 100644 --- a/.zprofile +++ b/.zprofile @@ -3,6 +3,11 @@ export BROWSER=firefox export EDITOR="emacsclient -c -a emacs" export INFOPATH="${HOME}/documents/info:${INFOPATH}" -PATH="${HOME}/bin:${PATH}:/usr/local/bin:/usr/local/stumpwm/bin" -PATH="$HOME/code/ext/emacs/trunk/lib-src:$PATH" -export PATH="$HOME/code/ext/emacs/trunk/src:$PATH" +PATH="${HOME}/usr/bin:${PATH}:/usr/local/bin:/usr/local/stumpwm/bin" +PATH="/usr/local/scwm/bin:$PATH" +PATH="/usr/local/clfswm/bin:$PATH" +export PATH="/usr/local/emacs/bin:$PATH" + +if [ -z "$SSH_AGENT_PID" ]; then + eval `ssh-agent` +fi