Merge remote-tracking branch 'origin/master' into phoenix

Conflicts:
	.emacs.d/site-lisp/oni.el
This commit is contained in:
Tom Willemsen 2012-12-05 00:44:09 +01:00
commit 6278e2e634
54 changed files with 594 additions and 391 deletions

View file

@ -29,27 +29,27 @@ urxvt.background: #111113
urxvt.foreground: #eeeeec
urxvt.color0: #171719
urxvt.color8: #222224
urxvt.color8: #999999
urxvt.color1: #8b1a1a
urxvt.color9: #ff5d55
urxvt.color1: #973732
urxvt.color9: #ff756e
urxvt.color2: #4e9a06
urxvt.color2: #405c2e
urxvt.color10: #9ad870
urxvt.color3: #c4a000
urxvt.color11: #cfce29
urxvt.color3: #835c0e
urxvt.color11: #ffbb56
urxvt.color4: #2729b6
urxvt.color12: #78a2c1
urxvt.color5: #5c3566
urxvt.color13: #ad7fa8
urxvt.color5: #5c325d
urxvt.color13: #c39cc3
urxvt.color6: #9f5902
urxvt.color14: #e9b96e
urxvt.color6: #208181
urxvt.color14: #93d8d8
urxvt.color7: #999999
urxvt.color7: #222224
urxvt.color15: #a9a9a9
Xft.antialias: true

5
.config/Makefile Normal file
View file

@ -0,0 +1,5 @@
DESTDIR:=$(DESTDIR)/.config
modules=awesome clfswm cower dunst fehlstart fish herbstluftwm \
newsbeuter zathura
include ../dotfiles.mk

5
.config/awesome/Makefile Normal file
View file

@ -0,0 +1,5 @@
DESTDIR:=$(DESTDIR)/awesome
modules=themes
objects=bowl.lua ext.lua infoline.lua keychain.lua oni.lua rc.lua
include ../../dotfiles.mk

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/themes
modules=custom
include ../../../dotfiles.mk

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/custom
objects=theme.lua
include ../../../../dotfiles.mk

4
.config/clfswm/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/clfswm
objects=clfswmrc
include ../../dotfiles.mk

4
.config/cower/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/cower
objects=config
include ../../dotfiles.mk

4
.config/dunst/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/dunst
objects=dunstrc
include ../../dotfiles.mk

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/fehlstart
objects=fehlstart.rc
include ../../dotfiles.mk

4
.config/fish/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/fish
objects=config.fish
include ../../dotfiles.mk

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/herbstluftwm
objects=autostart panel.sh
include ../../dotfiles.mk

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/newsbeuter
objects=config urls
include ../../dotfiles.mk

4
.config/zathura/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/zathura
objects=zathurarc
include ../../dotfiles.mk

5
.conkerorrc/Makefile Normal file
View file

@ -0,0 +1,5 @@
DESTDIR:=$(DESTDIR)/.conkerorrc
modules=themes
objects=gtk2rc init.js
include ../dotfiles.mk

View file

@ -1,10 +1,11 @@
require("content-policy.js");
require("favicon");
var linkwave_program = "/home/slash/var/src/linkwave/src/linkwave";
load_paths.push("file:///home/slash/var/src/linkwave/conkeror/");
theme_load_paths.push("/home/slash/.conkerorrc/themes/");
require("linkwave");
define_browser_object_class(
"history-url", null,
function (I, prompt) {
@ -46,53 +47,6 @@ function oni_escape(str) {
return str.replace(/(["$`])/g, '\\$1');
}
function oni_linkwave_add(I) {
check_buffer(I.buffer, content_buffer);
let url =
load_spec_uri_string(load_spec(I.buffer.top_frame));
let title = yield I.minibuffer.read(
$prompt = "name (required): ",
$initial_value = I.buffer.title);
// let tags = escape(yield I.minibuffer.read(
// $prompt = "tags (space delimited): "));
let description = yield I.minibuffer.read(
$prompt = "extended description: ");
let command = linkwave_program + ' "' + url + '" "' + title + '" "'
+ description + '"';
let result = yield shell_command(command);
if (!result)
I.window.minibuffer.message('Added to linkwave');
else
I.window.minibuffer.message('Couldn\'t add to linkwave');
}
interactive("linkwave-add", "Bookmark the page in linkwave",
oni_linkwave_add);
function oni_linkwave_add_link(I) {
bo = yield read_browser_object(I);
let url = load_spec_uri_string(
load_spec(encodeURIComponent(bo)));
check_buffer(I.buffer, content_buffer);
let title = yield I.minibuffer.read(
$prompt = "name (required): ",
$initial_value = bo.textContent);
// let tags = escape(yield I.minibuffer.read(
// $prompt = "tags (space delimited): "));
let description = yield I.minibuffer.read(
$prompt = "extended description: ");
let command = linkwave_program + ' "' + url + '" "' + title + '" "'
+ description + '"';
let result = yield shell_command(command);
if (!result)
I.window.minibuffer.message('Added to linkwave');
else
I.window.minibuffer.message('Couldn\'t add to linkwave');
}
interactive("linkwave-add-link", "Bookmark the a link in linkwave",
oni_linkwave_add_link);
function oni_org_store_link(I) {
var cmd_str = 'emacsclient \"org-protocol://store-link://'
+ encodeURIComponent(I.buffer.display_uri_string) + '/'
@ -155,7 +109,7 @@ define_webjump("arch/packages",
"https://www.archlinux.org/packages/?sort=&q=%s&limit=50",
$alternative="https://packages.archlinux.org");
content_policy_bytype_table.object = oni_block_flash;
// content_policy_bytype_table.object = oni_block_flash;
cwd = make_file("/home/slash/downloads/");
hint_digits = "arstdhneio";
read_buffer_show_icons = true;
@ -166,6 +120,7 @@ define_key(content_buffer_normal_keymap, "h",
"find-url-from-history-new-buffer");
define_key(content_buffer_normal_keymap, "H",
"find-url-from-history");
define_key(content_buffer_normal_keymap, "C-x C-b", "switch-to-buffer");
define_key(default_base_keymap, "C-x f", "follow-new-buffer");
add_hook("before_quit_hook", oni_before_quit_func);

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/themes
modules=naquadah
include ../../dotfiles.mk

View file

@ -0,0 +1,5 @@
DESTDIR:=$(DESTDIR)/naquadah
objects=conkeror--scrollbars.css hints--url-panel.css minibuffer.css \
mode-line.css new-tabs.css tab-bar.css theme.json
include ../../../dotfiles.mk

5
.emacs.d/Makefile Normal file
View file

@ -0,0 +1,5 @@
DESTDIR:=$(DESTDIR)/.emacs.d
objects=init.elc init.el gnus.elc gnus.el
modules=eshell site-lisp snippets
include ../dotfiles.mk

5
.emacs.d/eshell/Makefile Normal file
View file

@ -0,0 +1,5 @@
DESTDIR:=$(DESTDIR)/eshell
objects=alias
modules=
include ../../dotfiles.mk

View file

@ -1,8 +1,9 @@
alias git git --no-pager $*
alias rm rm -v $*
alias sudo *sudo $*
alias ncmpcpp ansi-term ncmpcpp ncmpcpp
alias listen eshell-exec-visual mplayer http://usa7-vn.mixstream.net/listen/8248.pls
alias o find-file $1
alias d dired $1
alias hgit hgit --no-pager $*
alias newsbeuter ansi-term newsbeuter newsbeuter
alias d dired $1
alias o find-file $1
alias listen eshell-exec-visual mplayer http://usa7-vn.mixstream.net/listen/8248.pls
alias ncmpcpp ansi-term ncmpcpp ncmpcpp
alias sudo *sudo $*
alias rm rm -v $*
alias git git --no-pager $*

View file

@ -3,11 +3,6 @@
;;; Commentary:
;; Does so much and changes so often
(require 'geiser-install)
(require 'iso-transl)
(require 'newcomment)
(require 'uniquify)
(require 'w3m-load)
;;; Code:
@ -18,8 +13,20 @@
(add-to-list 'load-path directory)
(let ((default-directory directory))
(normal-top-level-add-subdirs-to-load-path)))
'("/usr/share/emacs/site-lisp" "~/.emacs.d/site-lisp")))
'("/usr/share/emacs/site-lisp" "~/.emacs.d/site-lisp"
"/usr/local/emacs/share/emacs/site-lisp"))
(mapc #'(lambda (directory)
(add-to-list 'load-path directory)
(let ((loaddefs (concat directory "/loaddefs.el")))
(when (file-exists-p loaddefs)
(load loaddefs))))
'("~/var/src/emacs/dispass.el" "~/var/src/emacs/mode-icons")))
(require 'geiser-install)
(require 'iso-transl)
(require 'newcomment)
(require 'uniquify)
(require 'w3m-load)
(require 'ext)
(require 'oni)
@ -59,27 +66,22 @@
"Face for the supposedly empty line in commit messages."
:group 'local)
(eval-after-load "ebuff-menu"
'(define-key electric-buffer-menu-mode-map
(kbd "C-s") 'isearch-forward))
(eval-after-load "em-term"
'(add-to-list 'eshell-visual-commands
"unison"))
'(add-to-list 'eshell-visual-commands "unison"))
(eval-after-load "emms-source-file"
'(progn
(require 'emms-setup)
'(progn
(require 'emms-setup)
(require 'emms-player-mpd)
(emms-standard)
(require 'emms-player-mpd)
(emms-standard)
(setq emms-player-mpd-server-name "localhost")
(setq emms-player-mpd-server-port "6600")
(add-to-list 'emms-info-functions 'emms-info-mpd)
(add-to-list 'emms-player-list 'emms-player-mpd)
(add-to-list 'emms-info-functions 'emms-info-mpd)
(add-to-list 'emms-player-list 'emms-player-mpd)
(setq emms-player-mpd-music-directory "/mnt/music/mp3")))
(setq emms-player-mpd-server-name "localhost")
(setq emms-player-mpd-server-port "6600")
(setq emms-player-mpd-music-directory "/mnt/music/mp3")))
(eval-after-load "flymake"
'(progn
@ -108,8 +110,8 @@
(eval-after-load "jabber"
'(remove-hook 'jabber-alert-presence-hooks 'jabber-presence-echo))
(eval-after-load "mu4e"
'(require 'mu4e-init))
(eval-after-load "newst-treeview"
'(require 'newsticker-init))
(eval-after-load "org"
'(require 'org-init))
@ -157,7 +159,8 @@
(arglist-close . 0)
(inline-open . 0)
(brace-list-open . +)
(topmost-intro-cont first c-lineup-topmost-intro-cont c-lineup-gnu-DEFUN-intro-cont)))
(topmost-intro-cont first c-lineup-topmost-intro-cont
c-lineup-gnu-DEFUN-intro-cont)))
(setq comment-auto-fill-only-comments t)
(setq custom-file "~/.emacs.d/custom.el")
(setq custom-theme-directory "~/.emacs.d/themes")
@ -167,7 +170,7 @@
(vertical-scroll-bars . nil)
(menu-bar-lines . nil)
(tool-bar-lines . nil)
(font . "Monaco:pixelsize=16")))
(font . "monaco-12")))
(setq emms-source-file-default-directory "/mnt/music/")
(setq erc-autojoin-channels-alist
'(("freenode.net" "#ninthfloor" "#emacs" "#dispass")))
@ -209,6 +212,8 @@
"line too long"
"at least two spaces before inline comment"
"trailing whitespace"
"imported but unused"
"Unused import"
"too many blank lines"))))
(setq flymake-log-file-name (expand-file-name "~/.emacs.d/flymake.log"))
(setq flymake-log-level 0)
@ -216,7 +221,6 @@
(eval-when-compile
(regexp-opt '("warning"
"Warning"
"imported but unused"
"redefinition of unused"
"Redefining built-in"
"Redefining name"
@ -284,8 +288,10 @@
(setq use-dialog-box nil)
(setq user-full-name "Tom Willemsen")
(setq user-mail-address "tom@ryuslash.org")
(setq w3m-fill-column 72)
(setq window-combination-resize t)
(add-hook 'after-change-major-mode-hook 'set-current-mode-icon)
(add-hook 'after-save-hook 'oni:after-save-func t)
(add-hook 'before-save-hook 'oni:before-save-func)
(add-hook 'c-mode-hook 'oni:c-mode-func)
@ -316,6 +322,7 @@
(add-hook 'term-mode-hook 'oni:term-mode-func)
(add-hook 'texinfo-mode-hook 'oni:texinfo-mode-func)
(add-hook 'write-file-hooks 'oni:write-file-func)
(add-hook 'yas-minor-mode-hook 'oni:yas-minor-mode-func)
(global-set-key (kbd "'") 'oni:self-insert-dwim)
(global-set-key (kbd "<XF86AudioNext>") 'emms-next)
@ -359,7 +366,8 @@
(add-to-list 'auto-mode-alist '("\\.jl$" . sawfish-mode))
(add-to-list 'auto-mode-alist '("\\.js\\(on\\)?$" . js2-mode))
(add-to-list 'auto-mode-alist '("\\.m\\(ark\\)?d\\(?:o?wn\\)?$" . markdown-mode))
(add-to-list 'auto-mode-alist
'("\\.m\\(ark\\)?d\\(?:o?wn\\)?$" . markdown-mode))
(add-to-list 'auto-mode-alist '("\\.php[345]?$" . php-mode))
(add-to-list 'auto-mode-alist '("\\.po\\'\\|\\.po\\." . po-mode))
(add-to-list 'auto-mode-alist '("\\.tpl$" . html-mode))
@ -371,10 +379,12 @@
(add-to-list 'debug-ignored-errors "^Can't shift all lines enough")
(add-to-list 'display-buffer-alist
'("^\\*magit: .*\\*$" . ((display-buffer-same-window . nil))))
(add-to-list 'display-buffer-alist
'("^\\*git-project-list\\*$" . ((git-project-show-window . nil))))
(add-to-list
'display-buffer-alist
'(".*" . ((display-buffer-same-window . nil))))
(add-to-list
'display-buffer-alist
'("^\\*git-project-list\\*$" . ((git-project-show-window . nil))))
(delete " " mode-line-format)

View file

@ -0,0 +1,7 @@
DESTDIR:=$(DESTDIR)/site-lisp
objects=dzen.elc dzen.el eltuki.elc eltuki.el ext.elc ext.el \
metalexpress.elc metalexpress.el mu4e-init.elc mu4e-init.el \
newsticker-init.elc newsticker-init.el oni.elc oni.el org-init.elc \
org-init.el quick-edit-mode.elc quick-edit-mode.el
include ../../dotfiles.mk

View file

@ -0,0 +1,61 @@
;;; dzen.el --- Control DZEN2 from emacs
;; Copyright (C) 2012 Tom Willemsen
;; Author: Tom Willemsen <slash@drd>
;; Keywords: convenience
;; 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 <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
;;; Code:
(require 'newst-backend)
(require 'sawfish)
(defun get-mail-count (account)
(length (directory-files (concat "/home/slash/documents/mail/"
account "/inbox/new") nil "^[^.]")))
(defun dzen-start ()
(interactive)
(let ((proc (start-process "dzen2" "*dzen2*" "dzen2"
"-w" "1920"
"-fn" "Monaco-12"
"-bg" "#222224"
"-fg" "#eeeeec"))
(strl (format
"%s"
(sawfish-eval-expression '(window-name (input-focus)))))
(strr (format
"jabber: %s ryu: %d gm: %d aet: %d 9n: %d rss: %d\n"
(oni:current-jabber-status)
(get-mail-count "ryuslash.org")
(get-mail-count "gmail")
(get-mail-count "aethon")
(get-mail-count "ninthfloor")
(newsticker--stat-num-items-total 'new))))
(process-send-string
proc (format "^p(_LEFT)%s^p(_RIGHT)^p(-%d)%s"
strl (+ 9 (* 9 (length strr))) strr))))
(defun dzen-stop ()
(interactive)
(kill-process "dzen2"))
(provide 'dzen)
;;; dzen.el ends here

View file

@ -30,20 +30,50 @@
(defcustom metal-express-radio-playlist-url
"http://usa7-vn.mixstream.net/listen/8248.m3u"
"The URL of the Metal Express Radio stream.")
"The URL of the Metal Express Radio stream."
:group 'metal-express-radio
:type 'string)
(defcustom metal-express-radio-song-changed-hook nil
"Hook run when the currently playing song changes."
:type 'hook
:group 'metal-express-radio)
(defvar metal-express-radio-currently-playing nil
"The currently playing song.")
(defun mer-proc-filter (proc string)
(when (string-match "^ICY Info: StreamTitle='\\(.*\\)';StreamUrl='';"
string)
(setq metal-express-radio-currently-playing (match-string 1 string))
(apply 'run-hooks metal-express-radio-song-changed-hook)))
(defun metal-express-radio-echo-currently-playing ()
(interactive)
(message metal-express-radio-currently-playing))
(defun metal-express-radio-notify ()
(interactive)
(notifications-notify :title "Now playing:"
:body metal-express-radio-currently-playing))
;;;###autoload
(defun metal-express-radio-start ()
"Start listening to Metal Express Radio."
(interactive)
(async-shell-command
(concat "mplayer " metal-express-radio-playlist-url)
"*Metal Express Radio*"))
(let ((proc (start-process "metalexpress" "*Metal Express Radio*"
"mplayer" metal-express-radio-playlist-url)))
(set-process-filter proc #'mer-proc-filter)))
(defun metal-express-radio-stop ()
"Stop listening to Metal Express Radio."
(interactive)
(kill-process (get-buffer-process "*Metal Express Radio*")))
(add-hook 'metal-express-radio-song-changed-hook
'metal-express-radio-echo-currently-playing)
(add-hook 'metal-express-radio-song-changed-hook
'metal-express-radio-notify)
(provide 'metalexpress)
;;; metalexpress.el ends here

View file

@ -0,0 +1,101 @@
(defmacro reddit-feed (name)
"Return a reddit feed url"
(concat "http://www.reddit.com/r/" name "/new/.rss?sort=new"))
(setq newsticker-automatically-mark-items-as-old nil)
(setq newsticker-html-renderer 'w3m-region)
(setq newsticker-obsolete-item-max-age 604800)
(setq newsticker-url-list
`(("Irreal"
"http://irreal.org/blog/?feed=rss2" nil nil nil)
("Arch Linux - Keeping it Simple"
,(reddit-feed "archlinux") nil nil nil)
("The C programming language"
,(reddit-feed "c_language") nil nil nil)
("C"
,(reddit-feed "C_Programming") nil nil nil)
("coding"
,(reddit-feed "coding") nil nil nil)
("Command Line"
,(reddit-feed "commandline") nil nil nil)
("Django"
,(reddit-feed "django") nil nil nil)
("M-x emacs-reddit"
,(reddit-feed "emacs") nil nil nil)
("git"
,(reddit-feed "git") nil nil nil)
("JavaScript"
,(reddit-feed "javascript") nil nil nil)
("r/Linux"
,(reddit-feed "linux") nil nil nil)
("Linux Gaming on Reddit"
,(reddit-feed "linux_gaming") nil nil nil)
("Lisp"
,(reddit-feed "lisp") nil nil nil)
("Open Source on Reddit"
,(reddit-feed "opensource") nil nil nil)
("PHP: The latest news in the PHP world"
,(reddit-feed "PHP") nil nil nil)
("programming"
,(reddit-feed "programming") nil nil nil)
("Python"
,(reddit-feed "Python") nil nil nil)
("Scheme Programming Language articles"
,(reddit-feed "scheme") nil nil nil)
("The Wayland Display Server"
,(reddit-feed "wayland") nil nil nil)
("Identity at Mozilla"
"http://identity.mozilla.com/rss" nil nil nil)
("jd:/dev/blog"
"http://julien.danjou.info/blog/index.xml" nil nil nil)
("KaKaRoTo's Blog"
"http://kakaroto.homelinux.net/feed/" nil nil nil)
("Awhan Patnaik"
"http://awhan.wordpress.com/feed/" nil nil nil)
("The Gitorious Blog"
"http://blog.gitorious.org/feed/" nil nil nil)
;; ("Dieter on the web"
;; "http://dieter.plaetinck.be/index.rss" nil nil nil)
("Public Git Hosting - conkeror.git/atom log"
"http://repo.or.cz/w/conkeror.git/atom" nil nil nil)
("Stevey's Blog Rants"
"http://steve-yegge.blogspot.com/feeds/posts/default"
nil nil nil)
("Script Tutorials"
"http://www.script-tutorials.com/feed/rss/" nil nil nil)
("Hacker News"
"http://news.ycombinator.com/rss" nil nil nil)
("HowtoForge - Linux Howtos and Tutorials -"
"http://www.howtoforge.com/node/feed" nil nil nil)
("IBM developerWorks : Linux"
"http://www.ibm.com/developerworks/views/linux/rss/libraryview.jsp"
nil nil nil)
("Linuxtoday.com"
"http://linuxtoday.com/backend/biglt.rss" nil nil nil)
("Linux.com - Content Feed"
"http://linux.com/rss/feeds.php" nil nil nil)
("TuxRadar feed"
"http://www.tuxradar.com/rss" nil nil nil)
("Planet Emacsen"
"http://planet.emacsen.org/atom.xml" nil nil nil)
("M-x all-things-emacs"
"http://emacsblog.org/feed/" nil nil nil)
;; ("Xah Emacs Blog"
;; "http://feeds.feedburner.com/XahsEmacsBlog" nil nil nil)
;; ("Mastering Emacs"
;; "http://www.masteringemacs.org/feed/" nil nil nil)
("WikEmacs - Recent changes [en]"
"http://wikemacs.org/w/index.php?title=Special:RecentChanges&feed=atom"
nil nil nil)
("newest questions tagged emacs - Stack Overflow"
"http://stackoverflow.com/feeds/tag?tagnames=emacs&sort=newest"
nil nil nil)
("newest questions tagged elisp - Stack Overflow"
"http://stackoverflow.com/feeds/tag?tagnames=elisp&sort=newest"
nil nil nil)
("Recent Commits to python-django.el:master"
"https://github.com/fgallina/python-django.el/commits/master.atom"
nil nil nil)))
(setq newsticker-use-full-width nil)
(provide 'newsticker-init)

View file

@ -58,11 +58,9 @@ DOT are intentionally being skipped."
"A mailbox map for use with `tmm-prompt'.")
(defvar oni:required-packages
'(graphviz-dot-mode htmlize magit rainbow-delimiters
rainbow-mode markdown-mode flymake
flymake-cursor pony-mode sauron dispass
expand-region fill-column-indicator
git-auto-commit-mode idomenu magit smex)
'(graphviz-dot-mode htmlize magit rainbow-delimiters rainbow-mode
yasnippet markdown-mode flymake flymake-cursor sauron expand-region
fill-column-indicator git-auto-commit-mode idomenu magit smex)
"List of all the packages I have (want) installed.")
(defun oni:after-save-func ()
@ -71,7 +69,8 @@ DOT are intentionally being skipped."
(executable-make-buffer-file-executable-if-script-p)
(let ((dom-dir (locate-dominating-file (buffer-file-name) "Makefile")))
(when dom-dir
(shell-command (concat "make -C " dom-dir " TAGS >/dev/null 2>&1")))))
(shell-command
(concat "make -C " dom-dir " TAGS >/dev/null 2>&1")))))
(defun oni:before-save-func ()
"Function for `before-save-hook'."
@ -104,6 +103,13 @@ DOT are intentionally being skipped."
(local-set-key "\C-j" 'oni:newline-and-indent)
(rainbow-mode))
(defun oni:current-jabber-status ()
"Return a string representing the current jabber status."
(or (and (not *jabber-connected*) "Offline")
(and (not (string= *jabber-current-status* ""))
*jabber-current-status*)
"Online"))
(defun oni:diary-display-func ()
"Function for `diary-display-hook'."
(diary-fancy-display))
@ -227,7 +233,8 @@ If COUNT has been specified indent by that much, otherwise look at
(visual-line-mode)
(setq mode-line-format (append (cddr jabber-chat-header-line-format)
'(global-mode-string))
header-line-format nil))
header-line-format nil
wrap-prefix (make-string 8 ?\ )))
(defun oni:jabber-roster-mode-func ()
"Function for `jabber-roster-mode-hook'."
@ -277,7 +284,7 @@ If COUNT has been specified indent by that much, otherwise look at
to add yasnippet's expand function to hippie-expand."
(require other)
(add-to-list 'hippie-expand-try-functions-list
'yas/hippie-try-expand))
'yas/hippie-try-expand t))
(defun oni:lua-mode-func()
"Function for `lua-mode-hook'."
@ -607,6 +614,11 @@ for easy selection."
"Function for `write-file-hooks'."
(time-stamp))
(defun oni:yas-minor-mode-func ()
"Function for `yas-minor-mode-hook'."
(define-key yas-minor-mode-map (kbd "TAB") nil)
(define-key yas-minor-mode-map [(tab)] nil))
(define-skeleton html-tag
"Testing creation of an html tag"
"Tagname:"

View file

@ -34,24 +34,13 @@
'(org-crypt-use-before-save-magic))
(setq org-agenda-custom-commands
'(("pa" "Avandu" tags-todo "slug=\"avandu\"")
("pb" "Blog" tags-todo "slug=\"blog\"")
("pc" "Configuration" tags-todo "slug=\"configuration\"")
("pd" "dispass.el" tags-todo "slug=\"dispass.el\"")
("pD" "DVDroid" tags-todo "slug=\"dvdroid\"")
("pe" "Eye on Manga" tags-todo "slug=\"eye-on-manga\"")
("pG" "gDisPass" tags-todo "slug=\"gdispass\"")
("pg" "gitto" tags-todo "slug=\"gitto\"")
("pi" "Ideas" tags-todo "slug=\"ideas\"")
("pM" "Maintenance" tags-todo "slug=\"maintenance\"")
("pme" "Metal Express Radio.el" tags-todo
"slug=\"metal-express-radio.el\"")
("pmo" "Mode Icons" tags-todo "slug=\"mode-icons\"")
("pmy1" "myAethon" tags-todo "slug=\"myaethon\"")
("pmy2" "myAethon2" tags-todo "slug=\"myaethon2\"")
("ps" "Sawfish Naquadah theme" tags-todo
"slug=\"sawfish-naquadah-theme\"")
("w" "Work todo." tags-todo "work")))
'(("w" "Work todo." tags-todo "work")))
(setq org-agenda-prefix-format
'((agenda . " %i %-12:c%?-12t% s")
(timeline . " % s")
(todo . " %i %-12:c %(concat \"[ \"(org-format-outline-path (org-get-outline-path)) \" ]\") ")
(tags . " %i %-12:c %(concat \"[ \"(org-format-outline-path (org-get-outline-path)) \" ]\") ")
(search . " %i %-12:c")))
(setq org-agenda-sorting-strategy
'((agenda habit-down time-up priority-down category-keep)
(todo priority-down category-keep)
@ -61,22 +50,8 @@
(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")))
("T" "Linked task" entry (file "~/documents/org/tasks")
"* TODO %?\n\n %a")))
(setq org-contacts-files '("~/documents/org/misc/contacts.org"))
(setq org-directory (expand-file-name "~/documents/org"))
(setq org-agenda-files
@ -85,6 +60,7 @@
,(concat org-directory "/misc/contacts.org")
,(concat org-directory "/misc/bookmarks.org"))
org-agenda-files))
(setq org-agenda-show-outline-path nil)
(setq org-agenda-todo-ignore-deadlines 'far)
(setq org-agenda-todo-ignore-scheduled t)
(setq org-default-notes-file (concat org-directory "/org"))

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/snippets
modules=html-mode org-mode
include ../../dotfiles.mk

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/html-mode
objects=for generic-block
include ../../../dotfiles.mk

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/org-mode
objects=codeblock heading
include ../../../dotfiles.mk

View file

@ -1,91 +0,0 @@
;;; yoshi-theme.el --- Theme named after my cat
;; Copyright (C) 2012 Tom Willemsen
;; Author: Tom Willemsen <slash@drd>
;; Keywords: faces
;; 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 <http://www.gnu.org/licenses/>.
;;; Commentary:
;; Just a theme named after my cat. He doesn't actually look like
;; this.
;;; Code:
(deftheme yoshi
"Created 2012-09-24")
(custom-theme-set-faces
'yoshi
'(default ((t (:background "#111113" :foreground "#eeeeec"))))
'(flymake-errline ((t (:background nil :underline (:color "#ff756e" :style wave)))))
'(flymake-infoline ((t (:background nil :underline (:color "#78a2c1" :style wave)))))
'(flymake-warnline ((t (:background nil :underline (:color "#ffbb56" :style wave)))))
'(flyspell-duplicate ((t (:underline (:color "#ffbb56" :style wave)))))
'(flyspell-incorrect ((t (:underline (:color "#ff756e" :style wave)))))
'(font-lock-comment-delimiter-face ((t (:foreground "#a9a9a9" :slant italic :weight bold))))
'(font-lock-comment-face ((t (:foreground "#a9a9a9" :slant italic))))
'(font-lock-constant-face ((t (:foreground "#93d8d8"))))
'(font-lock-doc-face ((t (:foreground "#9ad870"))))
'(font-lock-function-name-face ((t (:foreground "#78a2c1"))))
'(font-lock-keyword-face ((t (:foreground "#cfce29"))))
'(font-lock-string-face ((t (:foreground "#ffbd5c"))))
'(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 "#ff756e"))))
'(italic ((t (:slant italic))))
'(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))))
'(magit-item-highlight ((t (:weight bold))))
'(markdown-header-face-1 ((t (:height 1.5 :foreground "#78a2c1"))))
'(markdown-header-face-2 ((t (:height 1.4 :foreground "#93d8d8"))))
'(markdown-header-face-3 ((t (:height 1.3 :foreground "#9ad870"))))
'(markdown-header-face-4 ((t (:height 1.2 :foreground "#c39cc3"))))
'(markdown-header-face-5 ((t (:height 1.1 :foreground "#ff756e"))))
'(markdown-header-face-6 ((t (:height 1.0 :foreground "#a9a9a9"))))
'(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 :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))))
'(rst-level-3 ((t (:height 1.3 :background nil))))
'(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 'yoshi)
;;; yoshi-theme.el ends here

118
.gitignore vendored
View file

@ -1,118 +0,0 @@
# -*- eval: (git-auto-commit-mode 1) -*-
*.dat
*.elc
*.gpg
*.log
*.png
*.pyc
*.xml
*\#*
*history*
*session.*
*~
.VirtualBox/
.Xauthority
.aMule/
.abook/
.annot/
.appcfg_nag
.arch-params/
.bbdb
.cache/
.commitmsg
.commitmsg.texi
.conkeror.mozdev.org/
.cups/
.dbus/
.dia/
.dmenu_cache
.dvdcss/
.easytag/
.emacs-jabber/
.face
.filezilla/
.fltk/
.fontconfig/
.fonts/
.freedroid_rpg/
.gconfd/
.gimp*
.gitk
.gnash/
.gnofract4d
.gnupg
.gnuzilla/
.gstreamer-0.10/
.gtk-bookmarks
.gtkrc*
.htoprc
.icedteaplugin/
.icons/
.ido.last
.jabber-avatars/
.kobodlrc
.lesshst
.links/
.local/
.lyrics/
.mozilla
.mpdscribble
.muttdebug?
.netrc
.offlineimap/
.pki/
.pulse-cookie
.pulse/
.purple/
.recently-used
.sane
.scummvm*
.slocdata/
.subversion/
.teamviewer/
.themes
.todo-*
.toudou
.tramp_history
.type-break
.viminfo
.weechat/
.xine/
.zcompdump
.zsnes/
News/
auto-save-list
bin/
code/
documents/
downloads/
feeds
fetchlog
local_*
log
music/
org/
pictures/
public_html
tmp/
usr/
var/
xhtml-loader.rnc
.unison/
.pencil/
.cuyo
.lgames
.beetsmusic.blb
.beetsstate
.msmtprc
.newsrc*
.profile
.xsession_errors
Mail/
.diaspora/
.mu/
.org-timestamps/
.virtualenv/
.PlaneShift/
.android/
.nv/

4
.local/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/.local
modules=share
include ../dotfiles.mk

4
.local/share/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/share
modules=applications
include ../../dotfiles.mk

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/applications
objects=moc.desktop ncmpcpp.desktop poweroff.desktop reboot.desktop
include ../../../dotfiles.mk

5
.moc/Makefile Normal file
View file

@ -0,0 +1,5 @@
DESTDIR:=$(DESTDIR)/.moc
modules=themes
objects=config
include ../dotfiles.mk

4
.moc/themes/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/themes
objects=custom
include ../../dotfiles.mk

6
.mutt/Makefile Normal file
View file

@ -0,0 +1,6 @@
DESTDIR:=$(DESTDIR)/.mutt
objects=aethon.muttrc arch.muttrc colors.muttrc gmail.muttrc \
iactor.muttrc macros mailcap muttrc ninthfloor.muttrc \
ryuslash.org.muttrc sig
include ../dotfiles.mk

4
.ncmpcpp/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/.ncmpcpp
objects=config
include ../dotfiles.mk

4
.pentadactyl/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/.pentadactyl
modules=plugins
include ../dotfiles.mk

View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/plugins
objects=emacs.penta
include ../../dotfiles.mk

4
.sawfish/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/.sawfish
objects=rc
include ../dotfiles.mk

View file

@ -2,11 +2,12 @@
(require 'rep.regexp)
(require 'sawfish.wm.commands.grow-pack)
(require 'sawfish.wm.commands.shrink-yank)
(require 'sawfish.wm.commands.x-cycle)
(require 'sawfish.wm.ext.match-window)
(require 'sawfish.wm.util.display-window)
(require 'sawfish.wm.util.prompt)
(require 'sawfish.wm.util.window-order)
(require 'sawfish.wm.commands.x-cycle)
(require 'sawfish.wm.util.stacking)
(define oni:window-packing-keymap (make-keymap))
(define oni:window-growing-keymap (make-keymap))
@ -60,7 +61,10 @@ raise it."
(if w (display-window w)
(call-command `(run-shell-command ,command)))))
(setq custom-show-symbols t)
(setq default-frame-style 'naquadah)
(setq default-font (get-font-typed "Xft" "Monaco-10"))
(setq grow-is-maximize nil)
(setq prompt-color (cons (get-color "#eeeeec")
(get-color "#111113")))
(setq user-apps-menu
@ -115,23 +119,39 @@ raise it."
;; (ungrab-keymap global-keymap)
(bind-keys
global-keymap
"Super-!" '(run-shell-command (prompt-for-string "Run: "))
"C-M-l" '(run-shell-command "i3lock -c \"#000000\"")
"Super-e" '(oni:run-or-raise (getenv "EDITOR") #:class "Emacs")
"Super-E" '(run-shell-command (getenv "EDITOR"))
"Super-w" '(oni:run-or-raise (getenv "BROWSER") #:class "Conkeror")
"Super-W" '(run-shell-command (getenv "BROWSER"))
"Super-c" '(oni:run-or-raise "urxvt" #:class "URxvt")
"Super-C" '(run-shell-command "urxvt")
"Super-TAB" 'cycle-windows
"C-Super-B" 'shrink-window-left
"C-Super-F" 'shrink-window-right
"C-Super-N" 'shrink-window-down
"C-Super-P" 'shrink-window-up
"C-Super-TAB" 'cycle-class
"Super-x" oni:extended-keymap
"Super-f" 'pack-window-right
"C-Super-`" 'popup-window-menu
"C-Super-b" 'grow-window-left
"C-Super-f" 'grow-window-right
"C-Super-n" 'grow-window-down
"C-Super-p" 'grow-window-up
"Menu" 'popup-root-menu
"Super-!" '(run-shell-command (prompt-for-string "Run: "))
"Super-:" 'call-command
"Super-B" 'yank-window-left
"Super-C" '(run-shell-command "urxvt")
"Super-E" '(run-shell-command (getenv "EDITOR"))
"Super-F" 'yank-window-right
"Super-M" 'maximize-window-toggle
"Super-N" 'yank-window-down
"Super-P" 'yank-window-up
"Super-TAB" 'cycle-windows
"Super-W" '(run-shell-command (getenv "BROWSER"))
"Super-`" 'popup-root-menu
"Super-b" 'pack-window-left
"Super-c" '(oni:run-or-raise "urxvt" #:class "URxvt")
"Super-e" '(oni:run-or-raise (getenv "EDITOR") #:class "Emacs")
"Super-f" 'pack-window-right
"Super-n" 'pack-window-down
"Super-p" 'pack-window-up
"Menu" 'popup-root-menu
"Super-M" 'maximize-window-toggle)
"Super-w" '(oni:run-or-raise (getenv "BROWSER") #:class "Conkeror")
"Super-x" oni:extended-keymap
)
;; (grab-keymap global-keymap)
(add-window-matcher '((WM_CLASS . "^(Firefox|Conkeror)/Navigator$"))

4
.ssh/.gitignore vendored
View file

@ -1,4 +0,0 @@
# -*- eval: (git-auto-commit-mode 1) -*-
*
!config
!.gitignore

4
.ssh/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/.ssh
objects=config
include ../dotfiles.mk

4
.w3m/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/.w3m
objects=config
include ../dotfiles.mk

4
.weechat/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/.weechat
objects=alias.conf irc.conf weechat.conf
include ../dotfiles.mk

4
.zsh/Makefile Normal file
View file

@ -0,0 +1,4 @@
DESTDIR:=$(DESTDIR)/.zsh
modules=functions
include ../dotfiles.mk

7
.zsh/functions/Makefile Normal file
View file

@ -0,0 +1,7 @@
DESTDIR:=$(DESTDIR)/functions
objects=chpwd_show_todo chpwd_update_git_vars env get_cnt line \
precmd_maybe_festival precmd_update_git_vars precmd_update_updates \
preexec_update_vars prompt prompt_git_info rprompt \
update_current_git_vars welcome
include ../../dotfiles.mk

View file

@ -0,0 +1,15 @@
cmdstatus=$?
if [ -n "$__COMMAND_EXECUTING" -a $__COMMAND_EXECUTING -gt 0 \
-a -n "$__COMMAND_EXEC_TIME" ]; then
__COMMAND_EXECUTING=0
duration=$(expr $(date +%s) - $__COMMAND_EXEC_TIME)
if [ $duration -gt 30 ]; then
if [ $cmdstatus -eq 0 ]; then
echo "done" | festival --tts
else
echo "failed" | festival --tts
fi
fi
fi

View file

@ -11,3 +11,6 @@ case "$1" in
__EXECUTED_PACMAN_COMMAND=1
;;
esac
__COMMAND_EXEC_TIME=$(date +%s)
__COMMAND_EXECUTING=1

49
.zshrc
View file

@ -1,4 +1,13 @@
# -*- Mode: shell-script; -*-
autoload -Uz add-zsh-hook
autoload -Uz compinit
autoload -U colors
autoload -Uz vcs_info
# Autoload zsh functions.
fpath=($HOME/.zsh/functions $fpath)
autoload -U $HOME/.zsh/functions/*(:t)
# Setup variables
HISTFILE=$ZDOTDIR/histfile
HISTSIZE=1000
@ -25,37 +34,34 @@ alias reboot="systemctl reboot"
alias poweroff="systemctl poweroff"
setopt notify
# Allow for functions in the prompt
setopt PROMPT_SUBST
setopt PROMPT_SUBST # Allow for functions in the prompt
setopt EXTENDED_GLOB
zstyle :compinstall filename '$HOME/.zshrc'
autoload -Uz compinit
compinit
# Initialize colors.
autoload -U colors
colors
# Autoload zsh functions.
fpath=($HOME/.zsh/functions $fpath)
autoload -U $HOME/.zsh/functions/*(:t)
# Enable auto-execution of functions
typeset -ga preexec_functions
typeset -ga precmd_functions
typeset -ga chpwd_functions
# Append git functions needed for prompt.
preexec_functions+='preexec_update_vars'
precmd_functions+='precmd_update_git_vars'
precmd_functions+='precmd_update_updates'
chpwd_functions+='chpwd_update_git_vars'
add-zsh-hook preexec preexec_update_vars
add-zsh-hook precmd precmd_update_git_vars
add-zsh-hook precmd precmd_update_updates
add-zsh-hook precmd precmd_maybe_festival
add-zsh-hook precmd vcs_info
add-zsh-hook chpwd chpwd_update_git_vars
zstyle ':vcs_info:*' actionformats '%F{2}(%f%s %r %b%F{2})%f %a
%S'
zstyle ':vcs_info:*' enable bzr git hg svn
zstyle ':vcs_info:*' formats '%F{2}(%f%s %r %b%F{2})%f
%S'
zstyle ':vcs_info:*' nvcsformats '
%~'
zstyle ':vcs_info:bzr:*' branchformat '%b'
# Set the prompt.
PROMPT='$(prompt)'
RPROMPT='$(rprompt)'
PROMPT='%F{1}(%F{2}(%f%m %l%F{2})%f ${vcs_info_msg_0_}%F{1})%f %# '
# Set terminal name to current running application
case $TERM in
@ -97,3 +103,6 @@ if [ -z $EMACS ]; then
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=blue'
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=blue'
fi
compinit
colors # Initialize colors.

9
Makefile Normal file
View file

@ -0,0 +1,9 @@
export DESTDIR:=$(HOME)
modules=.emacs.d .config .conkerorrc .local .moc .mutt .ncmpcpp \
.pentadactyl .sawfish .ssh .w3m .weechat .zsh
objects=.bash_profile .beetsconfig .conky_box.lua .conkyrc .gitconfig \
.guile .hgrc .offlineimap.py .offlineimaprc .screenrc .scwmrc \
.slrnrc .stumpwmrc .tmux.conf .urlview .xbindkeysrc.scm .Xdefaults \
.xinitrc .Xmodmap .xsession .zprofile .zshrc
include dotfiles.mk

55
dotfiles.mk Normal file
View file

@ -0,0 +1,55 @@
LOAD_PATH=. /usr/share/emacs/site-lisp $(HOME)/.emacs.d/site-lisp
EMACS=emacs $(addprefix -L ,$(LOAD_PATH))
FG_YEL=\033[0;33m
FG_GRE=\033[0;32m
FG_RED=\033[0;31m
CLR_RE=\033[0;00m
compile = $(EMACS) -Q -batch -eval "(byte-compile-file \"$(1)\")"
define newer =
$(shell if [ "$(1)" -nt "$(DESTDIR)/$(1)" ]; then echo "newer"; fi)
endef
install-objects=$(addprefix install-,$(objects))
uninstall-objects=$(addprefix uninstall-,$(objects))
check-objects=$(addprefix check-,$(objects))
install-modules=$(addprefix install-,$(modules))
uninstall-modules=$(addprefix uninstall-,$(modules))
check-modules=$(addprefix check-,$(modules))
.PHONY: all install uninstall check uninstall $(modules) \
$(install-objects) $(uninstall-objects) $(check-objects) \
$(install-modules) $(uninstall-modules) $(check-modules)
all: $(modules) $(objects)
install: $(install-modules) $(install-objects)
check: $(check-modules) $(check-objects)
uninstall: $(uninstall-modules) $(uninstall-objects)
$(modules): %:
@echo $(MAKEFILES)
@$(MAKE) -C $*
$(install-objects): install-%: %
$(if $(call newer,$*),install -pDm 644 "$*" "$(DESTDIR)/$*")
$(install-modules): install-%:
@$(MAKE) -C $* install
$(uninstall-objects): uninstall-%:
$(if $(call newer,$*),rm -f "$(DESTDIR)/$*")
$(uninstall-modules): uninstall-%:
@$(MAKE) -C $* uninstall
$(check-objects): check-%:
@$(if $(call newer,$*), \
echo -e "$(FG_YEL)$* $(FG_GRE)newer$(CLR_RE)!", \
echo -e "$(FG_YEL)$* $(FG_RED)not newer$(CLR_RE).")
$(check-modules): check-%:
@$(MAKE) -C $* check
$(filter %.elc,$(objects)): %.elc: %.el
$(call compile,$^)