Compare commits

..

78 commits
drd ... phoenix

Author SHA1 Message Date
6c2db7df0e Update dotfiles 2013-05-15 17:35:51 +02:00
8ae90ffbd1 Improve look for phoenix on train 2013-04-12 09:06:24 +02:00
55ca176cd5 Merge remote-tracking branch 'ryuslash/drd' into phoenix
Conflicts:
	.config/herbstluftwm/autostart
	.emacs.d/init.el
	.xinitrc
	.zprofile
	Makefile
	xmonad/xmonad.hs
2013-04-11 15:37:01 +02:00
caf0ec0fb1 X: Use DWM 2013-04-11 15:32:45 +02:00
855fc62edb xinit: Use matchbox 2013-02-16 10:31:05 +01:00
5cc3df232d Remove xmonad config 2013-02-15 15:40:57 +01:00
7559ee8257 Remove xmonad config 2013-02-15 15:40:47 +01:00
934d02bcac Merge remote-tracking branch 'ryuslash/master' into phoenix
Conflicts:
	.config/awesome/rc.lua
	.emacs.d/init.el
	.emacs.d/init.org
	.emacs.d/site-lisp/oni.el
2013-02-15 15:37:42 +01:00
06ff316f7f Emacs: Don't add non-existant dir to load path 2013-01-04 01:06:06 +01:00
12fbc83cc7 Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	.emacs.d/init.el
2013-01-04 00:06:15 +01:00
ef288f8ad6 RXVT: Turn off visual bell 2012-12-14 15:23:36 +01:00
5cff0a1e09 Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	dotfiles.mk
2012-12-14 00:32:05 +01:00
38194c9c34 Change file permissions for .xinitrc to 744
The .xinitrc gets executed, so it must get the correct bit when
installing.
2012-12-05 09:21:35 +01:00
a95c1528ab There is no /usr/local/emacs here 2012-12-05 00:47:40 +01:00
6278e2e634 Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	.emacs.d/site-lisp/oni.el
2012-12-05 00:44:09 +01:00
fa717d86a0 Merge remote-tracking branch 'origin/master' into phoenix 2012-11-21 01:23:32 +01:00
258cda86ca Merge remote-tracking branch 'origin/master' into phoenix 2012-11-15 00:13:38 +01:00
9c12ab5718 Merge remote-tracking branch 'origin/master' into phoenix 2012-11-14 20:12:55 +01:00
57e1063403 .config/herbstluftwm/autostart 2012-11-08 00:34:15 +01:00
60f8f37817 .emacs.d/snippets/org-mode/heading 2012-11-08 00:32:08 +01:00
96b2ebe6e8 .emacs.d/site-lisp/oni.el 2012-11-08 00:30:19 +01:00
e0b16d97cb .config/herbstluftwm/autostart 2012-11-08 00:29:28 +01:00
cbdfa4cac3 Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	.emacs.d/site-lisp/oni.el
2012-10-26 01:46:09 +02:00
d6be1ae80f Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	.emacs.d/site-lisp/oni.el
	.xinitrc
	.zprofile
2012-10-24 01:36:38 +02:00
ab3e4c680e .xinitrc 2012-10-17 20:32:50 +02:00
5c4c72f56f .emacs.d/init.el 2012-10-17 20:32:31 +02:00
434357f917 .emacs.d/init.el 2012-10-17 09:04:54 +02:00
a38c6eee1a .emacs.d/site-lisp/oni.el 2012-10-17 09:04:32 +02:00
821793e7de Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	.xinitrc
2012-10-17 08:48:46 +02:00
862088a691 .gitignore 2012-10-12 19:20:49 +02:00
ff6639d051 .emacs.d/init.el 2012-10-12 10:45:21 +02:00
77c39ea0f0 Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	.config/cower/config
	.emacs.d/init.el
2012-10-12 08:52:53 +02:00
8bcf0ae40f .xinitrc 2012-10-12 08:46:14 +02:00
52abe4f881 Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	.config/awesome/rc.lua
2012-10-07 15:23:23 +02:00
5b8d412cf7 Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	.emacs.d/init.el
2012-09-25 22:20:43 +02:00
b2de3d6412 .emacs.d/init.el 2012-09-25 22:12:45 +02:00
1a767eeab0 Merge remote-tracking branch 'origin/master' into phoenix 2012-09-17 20:32:32 +02:00
aa949b255f .emacs.d/init.el 2012-09-17 20:32:26 +02:00
fa473dd629 .config/awesome/rc.lua 2012-09-17 20:28:13 +02:00
c4ea2643f6 Merge remote-tracking branch 'origin/master' into phoenix
Conflicts:
	.config/herbstluftwm/autostart
	.config/herbstluftwm/panel.sh
2012-09-16 02:07:48 +02:00
72d124100d Merge remote-tracking branch 'ryuslash/master' into phoenix
Conflicts:
	.config/fish/config.fish
	.xinitrc
2012-07-09 19:16:54 +00:00
8b1b423d0a Merge remote-tracking branch 'ryuslash/master' into phoenix 2012-06-21 22:24:29 +00:00
69fd0e5aef Merge remote-tracking branch 'ryuslash/master' into phoenix
Conflicts:
	.xinitrc
2012-06-17 21:28:28 +00:00
f3982b8c33 Merge remote-tracking branch 'ryuslash/master' into phoenix
Conflicts:
	.xinitrc
2012-06-06 23:48:40 +00:00
9fb7650a9d .config/herbstluftwm/autostart 2012-06-03 22:30:34 +02:00
90cccbae8a Merge remote-tracking branch 'ryuslash/master' into phoenix
Conflicts:
	.config/herbstluftwm/autostart
	.xbindkeysrc.scm
	.xinitrc
2012-05-22 14:36:52 +00:00
df1105ec76 .xbindkeysrc.scm 2012-04-19 10:26:03 +00:00
20181fab25 Merge remote-tracking branch 'ryuslash/master' into phoenix
Conflicts:
	.xinitrc
2012-04-19 09:48:26 +00:00
853f43c483 .xinitrc 2012-04-19 09:14:36 +00:00
0b775a872e Merge remote-tracking branch 'ryuslash/master' into phoenix 2012-04-19 09:11:23 +00:00
88a63ffaa3 Merge remote-tracking branch 'github/master' into phoenix
Conflicts:
	.xbindkeysrc.scm
2012-04-15 18:04:13 +00:00
ab76bcaa64 .xinitrc 2012-04-05 14:40:24 +00:00
651ab5625d Merge remote-tracking branch 'github/master' into phoenix 2012-03-27 22:09:16 +02:00
904ab2e1e7 .xinitrc 2012-03-27 22:09:13 +02:00
8b848d08b3 .offlineimaprc 2012-03-20 17:25:18 +01:00
ff81e2f66f Merge remote-tracking branch 'github/master' into phoenix 2012-03-20 17:06:35 +01:00
84e69b2120 Merge remote-tracking branch 'github/master' into phoenix 2012-03-20 17:05:29 +01:00
251077982f Merge remote-tracking branch 'github/master' into phoenix 2012-03-16 22:07:11 +01:00
1fe74dd726 Merge remote-tracking branch 'refs/remotes/github/master' into phoenix 2012-03-13 19:34:44 +01:00
20d500539d Merge remote-tracking branch 'refs/remotes/github/master' into phoenix 2012-03-11 11:39:43 +01:00
4ce7e72c08 Merge remote-tracking branch 'gitorious/master' into phoenix 2012-03-09 21:40:06 +01:00
b4ee071aeb Merge remote-tracking branch 'gitorious/master' into phoenix 2012-03-09 21:38:38 +01:00
922b5fda86 .xbindkeysrc.scm 2012-02-28 20:08:19 +01:00
8f46bf4cbb .xbindkeysrc.scm 2012-02-28 20:06:07 +01:00
fd2fd41a8e .xbindkeysrc.scm 2012-02-28 20:03:31 +01:00
883ec95f09 Merge remote-tracking branch 'gitorious/master' into phoenix 2012-02-28 16:19:29 +01:00
fada655438 Merge remote-tracking branch 'gitorious/master' into phoenix 2012-02-25 21:53:39 +01:00
ab27e7a3bb .xinitrc 2012-02-24 00:23:42 +01:00
f1532bd578 Merge remote-tracking branch 'gitorious/master' into phoenix 2012-02-24 00:22:49 +01:00
4857418dbd Merge remote-tracking branch 'gitorious/master' into phoenix 2012-02-14 11:30:13 +01:00
a925132b75 Merge remote-tracking branch 'gitorious/master' into phoenix 2012-02-07 20:17:53 +01:00
db354a5b6d Merge remote-tracking branch 'gitorious/master' into phoenix 2012-02-07 01:23:07 +01:00
b7dad365c8 PANEL: Don't show as many services 2012-02-06 23:56:33 +01:00
6e999ca93d Merge remote-tracking branch 'gitorious/master' into phoenix 2012-02-06 23:47:14 +01:00
13b9c2c80d Merge remote-tracking branch 'gitorious/master' into phoenix 2012-01-31 16:30:30 +01:00
79fa706eeb Merge remote-tracking branch 'gitorious/master' into phoenix 2012-01-30 00:55:30 +01:00
887ddee93c Merge remote-tracking branch 'gitorious/master' into phoenix 2012-01-30 00:24:28 +01:00
6b6484e83c .config/herbstluftwm/autostart 2012-01-29 11:54:11 +01:00
360 changed files with 4257 additions and 13952 deletions

97
.Xdefaults Normal file
View file

@ -0,0 +1,97 @@
urxvt.internalBorder: 0
urxvt.loginShell: true
urxvt.scrollBar: false
urxvt.secondaryScroll: true
urxvt.saveLines: 65535
urxvt.cursorBlink: false
urxvt.cursorUnderline: true
urxvt.urgentOnBell: true
urxvt.termName: rxvt-256color
urxvt.visualBell: false
urxvt.perl-lib: /usr/lib/urxvt/perl/
urxvt.perl-ext-common: default,url-select,keyboard-select
urxvt.urlLauncher: conkeror
urxvt.url-select.launcher: conkeror
urxvt.matcher.button: 1
urxvt.keysym.M-Escape: perl:keyboard-select:activate
urxvt.keysym.M-s: perl:keyboard-select:search
urxvt.keysym.M-u: perl:url-select:select_next
urxvt.font: xft:Envy Code R:weight=medium:pixelsize=12
urxvt.boldFont: xft:Envy Code R:weight=bold:pixelsize=12
urxvt.italicFont: xft:Envy Code R:slant=italic:pixelsize=12
urxvt.depth: 32
urxvt.background: #bfbfbf
urxvt.foreground: #111111
urxvt.color0: #3d3d3d
urxvt.color8: #111111
urxvt.color1: #543f3f
urxvt.color9: #541515
urxvt.color2: #43543f
urxvt.color10: #225415
urxvt.color3: #50543f
urxvt.color11: #485415
urxvt.color4: #3f4854
urxvt.color12: #152e54
urxvt.color5: #503f54
urxvt.color13: #481554
urxvt.color6: #3f5454
urxvt.color14: #155454
urxvt.color7: #969696
urxvt.color15: #ededed
Xft.antialias: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight
! Emacs.font: DejaVu Sans Mono:weight=medium:pixelsize=18
Emacs.menuBar: off
Emacs.toolbar: off
Emacs.useXIM: off
Emacs.background: #bfbfbf
Emacs.borderWidth: 0
Emacs.font: Envy Code R-10
Emacs.foreground: #111111
Emacs.internalBorder: 0
Emacs.paneFont: Envy Code R-10
Emacs.pointerColor: #111111
Emacs*menu*font: Envy Code R-10
Emacs*menu*foreground: #111111
Emacs*menu*background: #696969
Emacs*menu*buttonForeground: #969696
Emacs*menu*verticalSpacing: 0
Emacs*menu*shadowThickness: 1
Emacs*menu*margin: 0
Emacs.pane.menubar.translations: #override\
Ctrl <Key> n: down()\n\
Ctrl <Key> p: up()\n\
Ctrl <Key> f: right()\n\
Ctrl <Key> b: left()\n\
xfontsel.sampleText: \
static void print_sample_message(XWindow *win) {\n\
win.label->text = "Sample text 0123456789"\n\
}
xfontsel.sampleText16: \
static void print_sample_message(XWindow *win) {\n\
win.label->text = "Sample text 0123456789"\n\
}
xfontsel.sampleTextUCS: \
static void print_sample_message(XWindow *win) {\n\
win.label->text = "Sample text 0123456789"\n\
}

14
.beetsconfig Normal file
View file

@ -0,0 +1,14 @@
[beets]
library: ~/.local/share/beets/library.blb
directory: /mnt/music/lib/
plugins: mpdupdate embedart
[paths]
default: $albumartist/$year - $album/$track - $title
singleton: Non-Album/$artist - $title
comp: Compilations/$year - $album/$track - $artist - $title
[mpdupdate]
host: localhost
port: 6600

4
.config/Makefile Normal file
View file

@ -0,0 +1,4 @@
SUBDIR=.config
modules=cower dunst zathura
include ../dotfiles.mk

4
.config/cower/Makefile Normal file
View file

@ -0,0 +1,4 @@
SUBDIR=cower
objects=config
include ../../dotfiles.mk

View file

@ -1,3 +1,3 @@
Color = always Color = always
TargetDir = ~/var/aur/ TargetDir = /home/slash/var/aur/
IgnoreRepo = pegas IgnoreRepo = pegas

4
.config/dunst/Makefile Normal file
View file

@ -0,0 +1,4 @@
SUBDIR=dunst
objects=dunstrc
include ../../dotfiles.mk

View file

@ -1,16 +1,6 @@
# -*- mode: conf-unix; -*- # -*- mode: conf-unix; -*-
[global] [global]
font = Fantasque Sans Mono 13 font = Monaco-12
# allow a small subset of html markup:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough<s/>
# <u>underline</u>
#
# for a complete reference see http://developer.gnome.org/pango/stable/PangoMarkupFormat.html
# If markup is not allowed, those tags will be stripped out of the message.
allow_markup = yes
# The format of the message. Possible variables are: # The format of the message. Possible variables are:
# %a appname # %a appname
@ -44,9 +34,6 @@
# split long notifications into multiple lines # split long notifications into multiple lines
word_wrap = yes word_wrap = yes
# ignore newlines '\n' in notifications
ignore_newline = no
# the geometry of the window # the geometry of the window
# geometry [{width}]x{height}][+/-{x}+/-{y}] # geometry [{width}]x{height}][+/-{x}+/-{y}]
@ -57,14 +44,11 @@
# the window expands to the longest message displayed. # the window expands to the longest message displayed.
# A positive x is measured from the left, a negative from the # 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. # right side of the screen. Y is measured from the top and down respectevly.
geometry = "600x5-30+20" geometry = "0x3-30+20"
# Shrink window if it's smaller than the width. Will be ignored if width is 0.
shrink = yes
# The transparency of the window. range: [0; 100] # The transparency of the window. range: [0; 100]
# This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..) # This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..)
transparency = 20 transparency = 0
# Don't remove messages, if the user is idle (no mouse or keyboard input) # Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds. # for longer than idle_threshold seconds.
@ -99,37 +83,11 @@
# Set to 0 to disable # Set to 0 to disable
separator_height = 2; separator_height = 2;
# padding between text and separator
padding = 15
# horizontal padding
horizontal_padding = 15
# Define a color for the separator. # Define a color for the separator.
# This can either be "auto" or "foreground". "Auto" tries to find a color # This can either be "auto" or "foreground". "Auto" tries to find a color
# that fits nicely to the background color. # that fits nicely to the background color.
separator_color = auto separator_color = auto
# print a notification on startup
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
# dmenu path
dmenu = /usr/bin/dmenu -p dunst:
# browser for opening urls in context menu
browser = /usr/bin/firefox -new-tab
# Align icons left
icon_position = left
# Paths to default icons.
icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/:/usr/share/icons/hicolor/16x16/apps/
[frame]
width = 2
color = "#3d3d3d"
[shortcuts] [shortcuts]
# shortcuts are specified as [modifier+][modifier+]...key # shortcuts are specified as [modifier+][modifier+]...key
@ -138,17 +96,14 @@
# xev might be helpful to find names for keys # xev might be helpful to find names for keys
# close notification # close notification
close = mod4+m close = ctrl+space
# close all notifications # close all notifications
close_all = mod4+shift+m close_all = ctrl+shift+space
# redisplay last message(s) # redisplay last message(s)
# On the US keyboard layout 'grave' is normally above TAB and left of '1'. # On the US keyboard layout 'grave' is normally above TAB and left of '1'.
history = mod4+ctrl+m history = ctrl+grave
# context menu
context = mod4+mod1+m
[urgency_low] [urgency_low]
# IMPORTANT: colors have to be defined in quotation marks. # IMPORTANT: colors have to be defined in quotation marks.
@ -204,24 +159,3 @@
# summary = *twitter.com* # summary = *twitter.com*
# urgency = normal # urgency = normal
# #
[Emacs]
appname = Emacs
background = "#7F5AB6"
foreground = "#FAFAFA"
format = "<b>%s</b>\n%b"
[Metal Express Radio]
appname = Metal Express Radio
background = "#EF4136"
foreground = "#FFFFFF"
[Syncthing]
appname = Syncthing GTK
background = "#337ab7"
foreground = "#ffffff"
[Lollypop]
appname = Lollypop
background = "#fd3e75"
foreground = "#ffffff"

4
.config/zathura/Makefile Normal file
View file

@ -0,0 +1,4 @@
SUBDIR=zathura
objects=zathurarc
include ../../dotfiles.mk

4
.conkerorrc/Makefile Normal file
View file

@ -0,0 +1,4 @@
SUBDIR=.conkerorrc
objects=gtk2rc init.js ext_restore.js
include ../dotfiles.mk

304
.conkerorrc/init.js Normal file
View file

@ -0,0 +1,304 @@
require("content-policy.js");
require("favicon");
load_paths.push("file:///usr/local/clark/share/conkeror/modules/");
require("clark");
define_browser_object_class(
"history-url", null,
function (I, prompt) {
check_buffer(I.buffer, content_buffer);
var result = yield I.buffer.window.minibuffer.read_url(
$prompt = prompt, $use_webjumps = false, $use_history = true,
$use_bookmarks = false, $sort_order = 'date_descending'
);
yield co_return(result);
}
);
function ext_title_format(window) {
return '(' + get_current_profile() +') '
+ window.buffers.current.description;
}
function oni_add_sheet(css) {
let (sheet = get_home_directory()) {
sheet.append(".conkerorrc");
sheet.append("styles");
sheet.append(css);
register_user_stylesheet(make_uri(sheet));
};
}
function oni_before_quit_func() {
var w = get_recent_conkeror_window();
var result = (w == null) ||
"y" == (yield w.minibuffer.read_single_character_option(
$prompt="Quit Conkeror? (y/n)",
$options=["y", "n"]));
yield co_return(result);
}
function oni_block_flash(content_type, content_location) {
var Y = content_policy_accept, N = content_policy_reject;
var action = ({ "youtube.com": Y }
[content_location.host] || N);
if (action == N)
dumpln("blocked flash: " + content_location.spec);
return action;
}
function oni_escape(str) {
return str.replace(/(["$`])/g, '\\$1');
}
function oni_org_store_link(I) {
var cmd_str = 'emacsclient \"org-protocol://store-link://'
+ encodeURIComponent(I.buffer.display_uri_string) + '/'
+ encodeURIComponent(I.buffer.document.title) + '\"';
if (I.window != null) {
window.minibuffer.message('Issuing ' + cmd_str);
}
shell_command_blind(cmd_str);
}
interactive("org-store-link",
"Stores [[url][title]] as org link and copies url to emacs "
+ "kill ring",
oni_org_store_link);
interactive("find-url-from-history",
"Find a page from history in the current buffer",
"find-url",
$browser_object = browser_object_history_url);
interactive("find-url-from-history-new-buffer",
"Find a page from history in a new buffer",
"find-url-new-buffer",
$browser_object = browser_object_history_url);
define_webjump("emacswiki",
"http://www.google.com/cse?cx=004774160799092323420%3A6-ff2s0o6yi&q=%s",
$alternative="http://www.emacswiki.org");
define_webjump("php",
"http://www.php.net/manual-lookup.php?pattern=%s&scope=quickref",
$alternative="http://www.php.net");
define_webjump("python",
"http://docs.python.org/search.html?q=%s&check_keywords=yes&area=default",
$alternative="http://www.python.org");
define_webjump("ddg",
"https://duckduckgo.com/?q=%s",
$alternative="https://duckduckgo.com");
define_webjump("metal-archives",
"http://www.metal-archives.com/search?searchString=%s&type=band_name",
$alternative="http://www.metal-archives.com");
define_webjump("djangodocs",
"https://docs.djangoproject.com/search/?q=%s&release=5",
$alternative="https://docs.djangoproject.com/");
define_webjump("google",
"https://duckduckgo.com?q=!google%%20%s");
define_webjump("github",
"https://github.com/search?q=%s&type=Everything&repo=&langOverride=&start_value=1",
$alternative="https://github.com");
define_webjump("mdn",
"https://developer.mozilla.org/en-US/search?q=%s",
$alternative="https://developer.mozilla.org/");
define_webjump("monsterhunter",
"http://monsterhunter.wikia.com/wiki/index.php?search=%s&fulltext=Search",
$alternative="http://monsterhunter.wikia.com/");
// Archlinux
define_webjump("arch/wiki",
"https://wiki.archlinux.org/index.php?search=%s",
$alternative="https://wiki.archlinux.org");
define_webjump("arch/aur",
"https://aur.archlinux.org/packages.php?O=0&K=%s&do_Search=Go",
$alternative="https://aur.archlinux.org");
define_webjump("arch/packages",
"https://www.archlinux.org/packages/?sort=&q=%s&limit=50",
$alternative="https://packages.archlinux.org");
/// Chickadee
// From http://conkeror.org/Webjumps
function chickadee_completer (input, cursor_position, conservative) {
var completions = [];
var content = yield send_http_request(
load_spec({uri: "http://api.call-cc.org/cdoc/ajax/prefix?q="+
encodeURIComponent(input)}));
if (content.responseText) {
var parser = Cc["@mozilla.org/xmlextras/domparser;1"]
.createInstance(Ci.nsIDOMParser);
var doc = parser.parseFromString(content.responseText, "text/xml");
var res = doc.getElementsByTagName("li");
for (let i = 0, n = res.length; i < n; ++i) {
completions.push(res[i].textContent);
}
}
yield co_return(prefix_completer($completions = completions)
(input, cursor_position, conservative));
}
define_webjump("chickadee",
"http://api.call-cc.org/cdoc?q=%s&query-name=Lookup",
$alternative = "http://api.call-cc.org/doc/",
$completer = chickadee_completer);
/// /Chickadee
// content_policy_bytype_table.object = oni_block_flash;
cwd = make_file("/home/slash/downloads/");
hint_digits = "asdfghjkl;";
read_buffer_show_icons = true;
title_format_fn = ext_title_format;
url_remoting_fn = load_url_in_new_buffer;
define_key(content_buffer_normal_keymap, "C-x C-b", "switch-to-buffer");
define_key(content_buffer_normal_keymap, "C-y", "paste-url-new-buffer");
define_key(content_buffer_normal_keymap, "H", "find-url-from-history");
define_key(content_buffer_normal_keymap, "h", "find-url-from-history-new-buffer");
define_key(default_base_keymap, "C-x f", "follow-new-buffer");
define_key(content_buffer_normal_keymap, "b", clark_keymap);
add_hook("before_quit_hook", oni_before_quit_func);
add_hook("content_policy_hook", content_policy_bytype);
add_hook("mode_line_hook", mode_line_adder(buffer_count_widget));
add_hook("mode_line_hook", mode_line_adder(buffer_icon_widget), true);
add_hook("mode_line_hook", mode_line_adder(clark_bookmarked_widget), true);
add_hook("mode_line_hook", mode_line_adder(downloads_status_widget));
remove_hook("download_added_hook", open_download_buffer_automatically);
hints_minibuffer_annotation_mode(true);
external_content_handlers.set("application/pdf", "zathura");
external_content_handlers.set("application/vnd.ms-excel", "libreoffice");
var gh_url = "http://github.com/";
function read_url_github_ad_command_handler(input)
{
var m = /^gh\s+@(\S+)(?:\s+((?:un)?follow))?/.exec(input);
if (m) {
if (m[2])
return gh_url + "users/follow?target=";
return gh_url + m[1];
}
return null;
}
function read_url_github_my_command_handler(input)
{
var m = /^gh\s+my\s+(dashboard|issues|notifications|profile|pulls|stars)/.exec(input);
if (m) {
switch (m[1]) {
case "dashboard":
case "notifications":
case "stars":
return gh_url + m[1];
case "issues":
case "pulls":
return gh_url + "dashboard/" + m[1];
case "profile":
return gh_url + "settings/" + m[1];
}
}
return null;
}
function read_url_github_repo_command_handler(input)
{
var m = /^gh\s+(\S+\/\S+)(?:\s+(\#\d+|\@\S+|issues|pulls|wiki|graphs|network|admin)(?:\s+(\#\d+|new))?)?$/.exec(input);
if (m) {
repo_url = gh_url + m[1] + "/";
switch (m[2]) {
case "issues":
issues_url = repo_url + m[2] + "/";
if (m[3]) {
if (m[3][0] == '#')
return issues_url + m[3].substring(1);
else if (m[3] == "new")
return issues_url + m[3];
else
break;
}
return issues_url;
case "pulls":
case "wiki":
case "graphs":
case "network":
case "admin":
return repo_url + m[2];
default:
// Still need watch and unwatch
if (m[2]) {
if (m[2][0] == '#')
return repo_url + "issues/" + m[2].substring(1);
else if (m[2][0] == '@')
return repo_url + "tree/" + m[2].substring(1);
else
break;
}
return repo_url;
}
}
return null;
}
function read_url_github_command_handler(input)
{
return read_url_github_ad_command_handler(input)
|| read_url_github_my_command_handler(input)
|| read_url_github_repo_command_handler(input);
}
function read_url_local_port_handler(input)
{
var m = /^lh (\d{1,5})(?:\s+([a-zA-Z0-9%/]+))?$/.exec(input),
rv = null;
if (m) {
rv = "http://localhost:" + m[1];
if (m[2])
rv += "/" + m[2];
}
return rv;
}
read_url_handler_list = [read_url_local_port_handler,
read_url_github_command_handler];
// Mozrepl
let (mozrepl_init = get_home_directory()) {
mozrepl_init.appendRelativePath(".mozrepl-conkeror.js");
session_pref('extensions.mozrepl.initUrl', make_uri(mozrepl_init).spec);
};
// if ('@hyperstruct.net/mozlab/mozrepl;1' in Cc) {
// let mozrepl = Cc['@hyperstruct.net/mozlab/mozrepl;1']
// .getService(Ci.nsIMozRepl);
// if (!mozrepl.isActive())
// mozrepl.start(4242);
// }
register_user_stylesheet(
"data:text/css," +
escape(
"@namespace url(\"http://www.w3.org/1999/xhtml\");\n" +
"span.__conkeror_hint {\n" +
" font-family: \"Envy Code R\" !important;\n" +
" font-size: 12px !important;\n" +
" line-height: 12px !important;\n" +
" padding: 0 2px !important;\n" +
"}"
)
);

View file

@ -20,9 +20,9 @@
<const>rgb</const> <const>rgb</const>
</edit> </edit>
<!-- <edit name="autohint" mode="assign"> --> <edit name="autohint" mode="assign">
<!-- <bool>true</bool> --> <bool>true</bool>
<!-- </edit> --> </edit>
</match> </match>
<match target="font"> <match target="font">

View file

@ -2,14 +2,12 @@
name = Tom Willemse name = Tom Willemse
email = tom@ryuslash.org email = tom@ryuslash.org
[core] [core]
editor = mg editor = emacs -nw
whitespace = trailing-space,tab-in-indent,space-before-tab whitespace = trailing-space,tab-in-indent,space-before-tab
[color] [color]
ui = auto ui = auto
[alias] [alias]
st = status -s st = status -s
stt = !git status | head -n2 | tail -n1 && git status -s
su = status -suno
unadd = reset HEAD unadd = reset HEAD
lschanged = diff --name-only lschanged = diff --name-only
history = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative history = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
@ -22,9 +20,3 @@
tool = emerge tool = emerge
[push] [push]
default = simple default = simple
[diff "lisp"]
xfuncname = "^\\([^ ]+ [^ ]+"
[diff "org"]
xfuncname = "^\\*+.*"
[diff "dia"]
textconv = gunzip -c

10
.gitignore vendored
View file

@ -1,9 +1 @@
junk/ Makefile.old
.src/
.cask/
_publish/
.tern-project
\#*\#
*\#
.\#*

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule ".config/zsh/syntax-highlighting"]
path = .config/zsh/syntax-highlighting
url = git://github.com/zsh-users/zsh-syntax-highlighting

View file

@ -1,2 +1,4 @@
[ui] [ui]
username = Tom Willemse <tom@ryuslash.org> username = Tom Willemse <tom@ryuslash.org>
[extensions]
hgext.bookmarks =

View file

@ -1,5 +1,4 @@
from offlineimap import imaputil from offlineimap import imaputil
import keyring
def lld_flagsimap2maildir(flagstring): def lld_flagsimap2maildir(flagstring):
@ -40,5 +39,13 @@ imaputil.flagsmaildir2imap = lld_flagsmaildir2imap
imaputil.flagsimap2maildir = lld_flagsimap2maildir imaputil.flagsimap2maildir = lld_flagsimap2maildir
def getuser(host):
import netrc
mynet = netrc.netrc()
return mynet.authenticators(host)[0]
def getpassword(host): def getpassword(host):
return keyring.get_password('offlineimap', host) import netrc
mynet = netrc.netrc()
return mynet.authenticators(host)[2]

View file

@ -2,13 +2,13 @@
[general] [general]
# NOTE: cronjob calls the quiet UI with -u # NOTE: cronjob calls the quiet UI with -u
ui = TTYUI ui = TTYUI
accounts = ryuslash.org,picturefix,gmail,ninthfloor accounts = ryuslash.org,gmail,aethon,ninthfloor
pythonfile = ~/.offlineimap.py pythonfile = ~/.offlineimap.py
[Account ryuslash.org] [Account ryuslash.org]
localrepository = ryuslash.org-local localrepository = ryuslash.org-local
remoterepository = ryuslash.org-remote remoterepository = ryuslash.org-remote
postsynchook = /home/slash/usr/bin/new-mail-mowedline; /home/slash/usr/bin/mail-notify ryuslash.org # postsynchook = /home/slash/usr/bin/emacs-send-mail ryuslash.org
[Repository ryuslash.org-local] [Repository ryuslash.org-local]
type = Maildir type = Maildir
@ -17,30 +17,11 @@ nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize())
[Repository ryuslash.org-remote] [Repository ryuslash.org-remote]
type = IMAP type = IMAP
remotehost = imap-ryuslash.alwaysdata.net remotehost = imap.alwaysdata.com
remoteuser = 'tom@ryuslash.org' remoteusereval = getuser("imap.alwaysdata.com")
remotepasseval = getpassword("ryuslash") remotepasseval = getpassword("imap.alwaysdata.com")
nametrans = lambda folder: folder.lower() nametrans = lambda folder: folder.lower()
[Account picturefix]
localrepository = picturefix-local
remoterepository = picturefix-remote
postsynchook = /home/slash/usr/bin/new-mail-mowedline; /home/slash/usr/bin/mail-notify picturefix
[Repository picturefix-local]
type = Maildir
localfolders = ~/documents/mail/picturefix
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 picturefix-remote]
type = Gmail
remoteuser = "tom@picturefix.nl"
remotepasseval = getpassword("picturefix")
realdelete = no
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))))
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
[Account aethon] [Account aethon]
localrepository = aethon-local localrepository = aethon-local
remoterepository = aethon-remote remoterepository = aethon-remote
@ -53,17 +34,17 @@ nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gm
[Repository aethon-remote] [Repository aethon-remote]
type = Gmail type = Gmail
remoteuser = "thomas@aethon.nl" remoteusereval = getuser("imap.google.com-aethon")
remotepasseval = getpassword("aethon") remotepasseval = getpassword("imap.google.com-aethon")
realdelete = no realdelete = no
sslcacertfile = /etc/ssl/certs/ca-certificates.crt cert_fingerprint = b0ba392bba326e6feb1add4d04fa0fb86cd173fa
folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Concepten', '[Gmail]/Verzonden berichten', '[Gmail]/Prullenbak'] 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)))) 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] [Account gmail]
localrepository = gmail-local localrepository = gmail-local
remoterepository = gmail-remote remoterepository = gmail-remote
postsynchook = /home/slash/usr/bin/new-mail-mowedline; /home/slash/usr/bin/mail-notify gmail # postsynchook = /home/slash/usr/bin/emacs-send-mail gmail
[Repository gmail-local] [Repository gmail-local]
type = Maildir type = Maildir
@ -72,17 +53,17 @@ nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gm
[Repository gmail-remote] [Repository gmail-remote]
type = Gmail type = Gmail
remoteuser = "ryuslash@gmail.com" remoteusereval = getuser("imap.google.com")
remotepasseval = getpassword("gmail") remotepasseval = getpassword("imap.google.com")
realdelete = no realdelete = no
cert_fingerprint = b0ba392bba326e6feb1add4d04fa0fb86cd173fa
folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash'] 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)))) nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder))))
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
[Account ninthfloor] [Account ninthfloor]
localrepository = ninthfloor-local localrepository = ninthfloor-local
remoterepository = ninthfloor-remote remoterepository = ninthfloor-remote
postsynchook = /home/slash/usr/bin/new-mail-mowedline; /home/slash/usr/bin/mail-notify ninthfloor # postsynchook = /home/slash/usr/bin/emacs-send-mail ninthfloor
[Repository ninthfloor-local] [Repository ninthfloor-local]
type = Maildir type = Maildir
@ -92,8 +73,8 @@ nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize())
[Repository ninthfloor-remote] [Repository ninthfloor-remote]
type = IMAP type = IMAP
remotehost = ninthfloor.org remotehost = ninthfloor.org
remoteuser = "ryuslash" remoteusereval = getuser("ninthfloor.org")
remotepasseval = getpassword("ninthfloor") remotepasseval = getpassword("ninthfloor.org")
nametrans = lambda folder: folder.lower() nametrans = lambda folder: folder.lower()
[Account arch] [Account arch]
@ -107,10 +88,10 @@ nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gm
[Repository arch-remote] [Repository arch-remote]
type = Gmail type = Gmail
remoteuser = tom.willemsen@archlinux.us remoteusereval = getuser("imap.google.com-arch")
remotepasseval = getpassword("arch") remotepasseval = getpassword("imap.google.com-arch")
realdelete = no realdelete = no
sslcacertfile = /etc/ssl/certs/ca-certificates.crt cert_fingerprint = 6d1b5b5ee0180ab493b71d3b94534b5ab937d042
folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash'] 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)))) nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder))))
@ -125,20 +106,5 @@ localfolders = ~/documents/mail/iactor
[Repository iactor-remote] [Repository iactor-remote]
type = IMAP type = IMAP
remotehost = mail.iactor.nl remotehost = mail.iactor.nl
remoteuser = "tom@iactor.nl" remoteusereval = getuser("mail.iactor.nl")
remotepasseval = getpassword("iactor") remotepasseval = getpassword("mail.iactor.nl")
[Account ryuslash.alwaysdata]
localrepository = ryuslash.alwaysdata-local
remoterepository = ryuslash.alwaysdata-remote
[Repository ryuslash.alwaysdata-local]
type = Maildir
localfolders = ~/documents/mail/ryuslash.alwaysdata
nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize())
[Repository ryuslash.alwaysdata-remote]
type = IMAP
remotehost = imap.alwaysdata.com
remoteuser = ryuslash@alwaysdata.net
nametrans = lambda folder: folder.lower()

4
.screenrc Normal file
View file

@ -0,0 +1,4 @@
startup_message off
vbell off
hardstatus alwayslastline "%{= d}%{r}screen%{g}%H %{r}>> %{g}${USER}@%H: %L>%1`%? %?%{.g}%u%? %-18=%?%{m} %{g}%-=%{g}%-w%{r}%n %t%{g}%+w %{g}|%C"

View file

4
.ssh/Makefile Normal file
View file

@ -0,0 +1,4 @@
SUBDIR=.ssh
objects=config
include ../dotfiles.mk

22
.ssh/config Normal file
View file

@ -0,0 +1,22 @@
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 1m
Host 192.168.0.95
Port 4511
Host pegas
Port 4511
Host 82.170.172.156
Port 4511
Host anapnea.net
User ryuslash
Host my.aethon.nl
User tom
Host ryuslash.org
Port 4511
ForwardAgent yes

View file

@ -1 +0,0 @@
--target=/home/slash/

193
.stumpwmrc Normal file
View file

@ -0,0 +1,193 @@
;; -*- mode: lisp; -*-
; (require 'swank)
(require 'cl-ppcre)
(in-package :stumpwm)
;; (load "/usr/share/stumpwm/contrib/app-menu.lisp")
(defmacro elisp (&body body)
"Run BODY through emacsclient."
`(sb-ext:run-program
"/usr/bin/emacsclient"
'("-e" ,(string-downcase (format nil "~S" (cons 'progn body))))
:wait nil))
;; Naquadah
;; (defun colour (key)
;; (let ((colours (list :lblack #xeeeeec :dblack #x111113
;; :lwhite #xa5a5a4 :dwhite #x222224
;; :lred #xbf6d6d :dred #x744a4a
;; :lorange #xbfa47d :dorange #x73634a
;; :lyellow #xb2bf6d :dyellow #x6b734a
;; :lgreen #x8abf6d :dgreen #x52734a
;; :lturquoise #x7dbf97 :dturquoise #x4a735b
;; :lcyan #x7dbfbf :dcyan #x4a7373
;; :lblue #x6d97bf :dblue #x4a5b73
;; :lpurple #x8a7dbf :dpurple #x524a73
;; :lmagenta #xb27dbf :dmagenta #x6b4a73
;; :lpink #xbf6da4 :dpink #x734a63)))
;; (getf colours key)))
(setf *app-menu* '(("Editor" . "emacs")
("Browser" . "conkeror")
("Terminal" . "urxvt")
("Office" . "libreoffice")
("Gimp" . "gimp")))
(defvar *conkeror-program* "conkeror"
"The executable to run to start Conkeror.")
(defvar *emacs-program* "emacsclient -c -a emacs"
"The executable to run to start Emacs.")
(defvar *firefox-program* "firefox"
"The executable to run to start Firefox.")
(defvar *i3lock-program* "i3lock -c 000000"
"The executable to run to start i3lock.")
(defvar *urxvt-program* "urxvt"
"The executable to run to start URxvt.")
(defvar *lock-screen-hook* nil
"Hook run right before the screen gets locked.")
(defvar *screen-unlocked-hook* nil
"Hook run right after the screen is unlocked.")
(defvar *mpd-was-playing-p* nil
"Indicator of whether or not MPD was playing when it was paused.")
(defun get-mail-count (mailbox &optional (inbox "inbox"))
"Check how many new messages there are in MAILBOX."
(length
(append
(directory
(format nil "/home/slash/documents/mail/~A/~A/new/*.*"
mailbox inbox))
(remove-if (lambda (d)
(let ((dir (namestring d)))
(string= dir "S" :start1 (1- (length dir)))))
(directory
(format nil "/home/slash/documents/mail/~A/~A/cur/*.*"
mailbox inbox))))))
(defun set-jabber-away ()
"Tell emacs to set jabber to away presence."
(elisp
(when (and (fboundp 'jabber-send-away-presence)
*jabber-connected*)
(jabber-send-away-presence))))
(defun set-jabber-online ()
"Tel emacs to set jabber to online presence."
(elisp
(when (and (fboundp 'jabber-send-default-presence)
*jabber-connected*)
(jabber-send-default-presence))))
(defcommand run-emacs () ()
"Open Emacs"
(run-shell-command *emacs-program*))
(defcommand raise-emacs () ()
"Open or show Emacs"
(run-or-raise *emacs-program* '(:class "Emacs")))
(defcommand run-firefox () ()
"Open Firefox"
(run-shell-command *firefox-program*))
(defcommand raise-firefox () ()
"Open or show Firefox"
(run-or-raise *firefox-program* '(:class "Firefox")))
(defcommand run-conkeror () ()
"Open Conkeror"
(run-shell-command *conkeror-program*))
(defcommand raise-conkeror () ()
"Open or show Conkeror"
(run-or-raise *conkeror-program* '(:class "Conkeror")))
(defcommand run-urxvt () ()
"Open URxvt"
(run-shell-command *urxvt-program*))
(defcommand raise-urxvt () ()
"Open URxvt"
(run-or-raise *urxvt-program* '(:class "URxvt")))
(defun run-stumpwm-hook-on-exit (process)
"Run `*screen-unlocked-hook*' if PROCESS' status is `:exited'."
(when (eq (sb-ext:process-status process) :exited)
(run-hook *screen-unlocked-hook*)))
(defcommand lock-screen () ()
"Lock the screen using i3lock. Run *lock-screen-hook* before locking
it and run *screen-unlocked-hook* after it has been unlocked."
(run-hook *lock-screen-hook*)
(sb-ext:run-program
"/usr/bin/i3lock" '("-n" "-c" "000000") :wait nil
:status-hook #'run-stumpwm-hook-on-exit))
;; (set-bg-color (colour :dwhite))
;; (set-border-color (colour :lwhite))
;; (set-fg-color (colour :lblack))
;; (set-float-focus-color (colour :lblue))
;; (set-float-unfocus-color (colour :dwhite))
;; (set-focus-color (colour :lblue))
;; (set-font "-*-tamsyn-medium-r-normal-*-17-*-*-*-*-0-iso8859-1")
;; (set-unfocus-color (colour :dwhite))
;; (set-win-bg-color (colour :dblack))
;; (setf *colors* (mapcar #'colour '(:lwhite :lred :lgreen :lyellow :lblue
;; :lmagenta :lcyan :lblack)))
(setf *input-window-gravity* :bottom-left)
(setf *message-window-gravity* :top-right)
;; (setf *mode-line-background-color* (colour :dwhite))
;; (setf *mode-line-border-color* (colour :dwhite))
;; (setf *mode-line-foreground-color* (colour :lblack))
(setf *shell-program* (getenv "SHELL"))
(setf *transient-border-width* 1)
(setf *window-border-style* :thin)
(setf *screen-mode-line-format*
(list "[%n]"
'(:eval
(format nil " | ryu: ~D | gmail: ~D | aethon: ~D | 9f: ~D | "
(get-mail-count "ryuslash.org")
(get-mail-count "gmail")
(get-mail-count "aethon")
(get-mail-count "ninthfloor")))))
(add-hook *lock-screen-hook* 'set-jabber-away)
(add-hook *screen-unlocked-hook* 'set-jabber-online)
(set-prefix-key (kbd "C-z"))
(define-key *top-map* (kbd "C-M-l") "lock-screen")
(define-key *root-map* (kbd "c") "raise-urxvt")
(define-key *root-map* (kbd "C") "run-urxvt")
(define-key *root-map* (kbd "e") "raise-emacs")
(define-key *root-map* (kbd "E") "run-emacs")
(define-key *root-map* (kbd "w") "raise-conkeror")
(define-key *root-map* (kbd "W") "run-conkeror")
(define-key *root-map* (kbd "C-b") "windowlist")
(define-key *root-map* (kbd "M-b") "move-window left")
(define-key *root-map* (kbd "M-f") "move-window right")
(define-key *root-map* (kbd "M-n") "move-window down")
(define-key *root-map* (kbd "M-p") "move-window up")
(define-key *root-map* (kbd "b") "move-focus left")
(define-key *root-map* (kbd "f") "move-focus right")
(define-key *root-map* (kbd "n") "move-focus down")
(define-key *root-map* (kbd "p") "move-focus up")
(undefine-key *root-map* (kbd "C-a"))
(undefine-key *root-map* (kbd "C-c"))
(undefine-key *root-map* (kbd "C-e"))
(undefine-key *root-map* (kbd "C-m"))
(define-frame-preference "Default"
(0 t nil :class "Emacs")
(2 t nil :class "Firefox")
(1 t nil :class "URxvt")
(2 t nil :class "Conkeror"))
(if (not (head-mode-line (current-head)))
(toggle-mode-line (current-screen) (current-head)))
; (swank:create-server)

4
.w3m/Makefile Normal file
View file

@ -0,0 +1,4 @@
SUBDIR=.w3m
objects=config
include ../dotfiles.mk

View file

@ -127,6 +127,12 @@
(close-pipe dzen-pipe) (close-pipe dzen-pipe)
(set! dzen-pipe '()))) (set! dzen-pipe '())))
(define (kill-mouse)
(run-command "synclient TouchpadOff=1; xte 'mousemove 1500 1500'"))
(define (revive-mouse)
(run-command "synclient TouchpadOff=0"))
(define (notify msg) (define (notify msg)
(run-command (string-append "notify-send \"" msg "\""))) (run-command (string-append "notify-send \"" msg "\"")))
@ -197,6 +203,8 @@
(xbindkey '(XF86AudioRaiseVolume) "mcp volume +5") (xbindkey '(XF86AudioRaiseVolume) "mcp volume +5")
(xbindkey '(XF86AudioPrev) "mpc prev") (xbindkey '(XF86AudioPrev) "mpc prev")
(xbindkey '(XF86AudioNext) "mpc next") (xbindkey '(XF86AudioNext) "mpc next")
(xbindkey-function '(XF86TouchpadOff) kill-mouse)
(xbindkey-function '(XF86TouchpadOn) revive-mouse)
(xbindkey `(,modkey k) "herbstclient close") (xbindkey `(,modkey k) "herbstclient close")
(xbindkey `(,modkey Escape) "~/.config/herbstluftwm/panel.sh")) (xbindkey `(,modkey Escape) "~/.config/herbstluftwm/panel.sh"))

15
.xinitrc Executable file
View file

@ -0,0 +1,15 @@
#!/bin/bash
xmodmap ~/.Xmodmap
# Source scripts in /etc/X11/xinit/xinitrc.d/
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
unclutter &
test -n "$1" && wm=$1 || wm="$HOME/usr/local/bin/dwm"
exec $wm

View file

18
.zprofile Normal file
View file

@ -0,0 +1,18 @@
export BROWSER=conkeror
export EDITOR="emacsclient -c -a emacs"
INFOPATH="$HOME/documents/info"
INFOPATH="$INFOPATH:/usr/local/emacs/share/info"
INFOPATH="$INFOPATH:/usr/share/info"
INFOPATH="$INFOPATH:/usr/local/clark/share/info"
export INFOPATH="$INFOPATH:/usr/local/stumpwm/share/info"
PATH="${HOME}/usr/bin:${PATH}:/usr/local/bin:/usr/local/stumpwm/bin"
PATH="/usr/local/scwm/bin:$PATH"
PATH="/usr/local/clfswm/bin:$PATH"
PATH="/usr/local/clark/bin:$PATH"
export PATH="/usr/local/emacs/bin:$PATH"
if [ -z "$SSH_AGENT_PID" ]; then
eval `ssh-agent`
fi

View file

4
.zsh/Makefile Normal file
View file

@ -0,0 +1,4 @@
SUBDIR=.zsh
modules=functions
include ../dotfiles.mk

4
.zsh/functions/Makefile Normal file
View file

@ -0,0 +1,4 @@
SUBDIR=functions
objects=env venv add-to-list
include ../../dotfiles.mk

@ -0,0 +1 @@
Subproject commit d2715e2cb3294880bbc6a75b91288243054218d0

114
.zshrc Normal file
View file

@ -0,0 +1,114 @@
# -*- 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=$HOME/.zsh/histfile
HISTSIZE=1000
SAVEHIST=1000
LESSCMD="/usr/bin/less -FXRS"
export LESS_TERMCAP_mb=$'\e[1;37m'
export LESS_TERMCAP_md=$'\e[1;37m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_so=$'\e[1;47;30m'
export LESS_TERMCAP_ue=$'\e[0m'
export LESS_TERMCAP_us=$'\e[0;36m'
export PAGER=$LESSCMD
# Aliases
alias alpine="alpine -p ""{imap.gmail.com/ssl/user=tom.willemsen@archlinux.us}remote_pinerc"""
alias evolus-pencil="/usr/lib/evolus-pencil-svn/evolus-pencil.sh"
alias grep="grep --color=always"
alias less=$LESSCMD
alias ls="ls -F --color=always"
alias mysql="mysql --pager"
# Suffix aliases
alias -s pdf="zathura"
alias -s xls="libreoffice"
setopt NOTIFY
setopt PROMPT_SUBST # Allow for functions in the prompt
setopt EXTENDED_GLOB
zstyle :compinstall filename '$HOME/.zshrc'
# Enable auto-execution of functions
typeset -ga preexec_functions
typeset -ga precmd_functions
typeset -ga chpwd_functions
add-zsh-hook precmd vcs_info
zstyle ':vcs_info:*' actionformats '%B%F{1}%a%f%%b (%F{3}%s%f) %F{5}%r%f:%F{4}%b%f %F{2}%S%f'
zstyle ':vcs_info:*' enable bzr git hg svn
zstyle ':vcs_info:*' formats '(%F{3}%s%f) %F{5}%r%f:%F{4}%b%f %F{2}%S%f'
zstyle ':vcs_info:*' nvcsformats '%F{2}%~%f'
zstyle ':vcs_info:bzr:*' branchformat '%b'
# Set the prompt.
PROMPT='${vcs_info_msg_0_}
%B%F{6}%m%b%f %B%(?.%F{2}+.%F{1}-)%b> '
# Set terminal name to current running application
case $TERM in
rxvt*)
precmd () { print -Pn "\e]0;%~\a" }
preexec () { print -Pn "\e]0;$1\a" }
;;
esac
add-to-list PATH "$HOME/usr/bin"
add-to-list PATH "/usr/local/clark/bin" t
add-to-list INFOPATH "$HOME/documents/info"
add-to-list INFOPATH "$HOME/.emacs.d/vendor-lisp/org/doc"
add-to-list INFOPATH "/usr/local/clark/share/info" t
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
# Set terminal keys
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
bindkey "\e[5~" beginning-of-history
bindkey "\e[6~" end-of-history
bindkey "\e[3~" delete-char
bindkey "\e[2~" quoted-insert
bindkey "\e[5C" forward-word
bindkey "\e0c" emacs-forward-word
bindkey "\e[5D" backward-word
bindkey "\e0d" emacs-backward-word
bindkey "\e\e[C" forward-word
bindkey "\e\e[D" backward-word
## for rxvt
bindkey "\e[8~" end-of-line
bindkey "\e[7~" beginning-of-line
## for non RH/Debian xterm, can't hurt for RH/Debian xterm
bindkey "\e0H" beginning-of-line
bindkey "\e0F" end-of-line
## for freebsd console
bindkey "\e[H" beginning-of-line
bindkey "\e[F" end-of-line
bindkey "^W" backward-delete-char
# Show syntax highlighting when we're not running in emacs
if [ -z $EMACS ]; then
source $HOME/.zsh/syntax-highlighting/zsh-syntax-highlighting.zsh
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=blue'
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=blue'
fi
compinit
colors # Initialize colors.

11
Makefile Normal file
View file

@ -0,0 +1,11 @@
export DESTDIR:=$(HOME)
modules=emacs .config .conkerorrc .ssh .w3m .zsh sbcl
objects=.bash_profile .beetsconfig .gitconfig .guile .hgrc \
.offlineimap.py .offlineimaprc .screenrc .stumpwmrc .urlview \
.Xdefaults .xinitrc .Xmodmap .xsession .zprofile .zshrc .zile
export MAKEROOT=y
include dotfiles.mk
install-.xinitrc: MODE=744

View file

@ -1,89 +0,0 @@
# -----------------$HOME/.abcde.conf----------------- #
#
# A sample configuration file to convert music cds to
# Ogg Vorbis using abcde version 2.7
#
# http://andrews-corner.org/abcde.html
# -------------------------------------------------- #
# Encode tracks immediately after reading. Saves disk space, gives
# better reading of 'scratchy' disks and better troubleshooting of
# encoding process but slows the operation of abcde quite a bit:
LOWDISK=y
# Specify the method to use to retrieve the track information,
# the alternative is to specify 'cddb':
CDDBMETHOD=musicbrainz
# Make a local cache of cddb entries and then volunteer to use
# these entries when and if they match the cd:
CDDBCOPYLOCAL="y"
CDDBLOCALDIR="$HOME/.cddb"
CDDBLOCALRECURSIVE="y"
CDDBUSELOCAL="y"
# Specify the encoder to use for Ogg Vorbis. In this case
# vorbize is the other choice.
OGGENCODERSYNTAX=oggenc
# Specify the path to the selected encoder. In most cases the encoder
# should be in your $PATH as I illustrate below, otherwise you will
# need to specify the full path. For example: /usr/bin/oggenc
OGGENC=oggenc
# Specify your required encoding options here. Multiple options can
# be selected as '-q 6 --another-option' etc.
# The '-q 6' setting gives VBR encoding between 192-224 kbits/s.
OGGENCOPTS='-q 8'
# Output type for Ogg Vorbis
OUTPUTTYPE="ogg"
# The cd ripping program to use. There are a few choices here: cdda2wav,
# dagrab, cddafs (Mac OS X only) and flac. New to abcde 2.7 is 'libcdio'.
CDROMREADERSYNTAX=cdparanoia
# Give the location of the ripping program and pass any extra options,
# if using libcdio set 'CD_PARANOIA=cd-paranoia'.
CDPARANOIA=cdparanoia
CDPARANOIAOPTS="--never-skip=40"
# Give the location of the CD identification program:
CDDISCID=cd-discid
# Give the base location here for the encoded music files.
OUTPUTDIR="$HOME/music"
# The default actions that abcde will take.
ACTIONS=cddb,playlist,read,encode,tag,move,clean
# Decide here how you want the tracks labelled for a standard 'single-artist',
# multi-track encode and also for a multi-track, 'various-artist' encode:
OUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}'
VAOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'
# Decide here how you want the tracks labelled for a standard 'single-artist',
# single-track encode and also for a single-track 'various-artist' encode.
# (Create a single-track encode with 'abcde -1' from the commandline.)
ONETRACKOUTPUTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}'
VAONETRACKOUTPUTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}'
# Create playlists for single and various-artist encodes. I would suggest
# commenting these out for single-track encoding.
PLAYLISTFORMAT='${OUTPUT}/${ARTISTFILE}-${ALBUMFILE}/${ALBUMFILE}.m3u'
VAPLAYLISTFORMAT='${OUTPUT}/Various-${ALBUMFILE}/${ALBUMFILE}.m3u'
# This function takes out dots preceding the album name, and removes a grab
# bag of illegal characters. It allows spaces, if you do not wish spaces add
# in -e 's/ /_/g' after the first sed command.
mungefilename ()
{
echo "$@" | sed -e 's/^\.*//' | tr -d ":><|*/\"'?[:cntrl:]"
}
# What extra options?
MAXPROCS=2 # Run a few encoders simultaneously
PADTRACKS=y # Makes tracks 01 02 not 1 2
EXTRAVERBOSE=0 # Useful for debugging
COMMENT='abcde version 2.7' # Place a comment...
EJECTCD=y # Please eject cd when finished :-)

View file

@ -1,22 +0,0 @@
package = "AwesomeRC"
version = "1-1"
description = {
license = "GPL-3"
}
source = {
url = "file://rc.lua"
}
dependencies = {
"luafilesystem",
"luaposix"
}
build = {
type = "builtin",
modules = {
rc = "rc.lua"
}
}

View file

@ -1,578 +0,0 @@
-- Standard awesome library
local gears = require("gears")
local awful = require("awful")
awful.rules = require("awful.rules")
require("awful.autofocus")
-- Widget and layout library
local wibox = require("wibox")
-- Theme handling library
local beautiful = require("beautiful")
-- Notification library
local naughty = require("naughty")
local menubar = require("menubar")
local lfs = require("lfs")
local posix = require("posix")
local hostname = posix.uname("%n")
naughty.config.defaults.bg = "#3d3d3d"
naughty.config.defaults.icon_size = 32
local maildir_base = os.getenv("HOME") .. "/documents/mail/"
table.insert(menubar.menu_gen.all_menu_dirs,
os.getenv("HOME") .. "/.local/share/applications/")
function new_mail(maildir)
local count = 0
local newmaildir = maildir_base .. maildir .. "/new"
local curmaildir = maildir_base .. maildir .. "/cur"
if posix.access(newmaildir) then
for file in lfs.dir(newmaildir) do
if file ~= "." and file ~= ".." then
count = count + 1
end
end
end
if posix.access(curmaildir) then
for file in lfs.dir(curmaildir) do
if string.sub(file, -1) ~= "S" and file ~= "."
and file ~= ".." then
count = count + 1
end
end
end
return count
end
function shrink_to_picturefix_width()
local g = client.focus:geometry()
awful.client.floating.set(client.focus, true)
client.focus:geometry({x = g.x, y = g.y, width = 1066, height = 1060})
end
function oni_focus_relative(i)
return awful.screen.focus(awful.util.cycle(screen.count(), client.focus.screen + i))
end
-- {{{ Error handling
-- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config)
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors })
end
-- Handle runtime errors after startup
do
local in_error = false
awesome.connect_signal("debug::error", function (err)
-- Make sure we don't go into an endless error loop
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = err })
in_error = false
end)
end
-- }}}
-- {{{ Variable definitions
-- Themes define colours, icons, font and wallpapers.
beautiful.init(os.getenv("HOME") .. "/.config/awesome/themes/default/theme.lua")
-- This is used later as the default terminal and editor to run.
terminal = "urxvtc"
editor = "emacsclient"
editor_cmd = editor
-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"
-- Table of layouts to cover with awful.layout.inc, order matters.
local layouts = {}
if hostname == "phoenix" then layouts = { awful.layout.suit.max }
else layouts = { awful.layout.suit.tile, awful.layout.suit.max }
end
-- }}}
-- {{{ Wallpaper
-- gears.wallpaper.tiled("/home/slash/pictures/wallpaper-962650.jpg")
local wallpapers = { "/home/slash/pictures/wallpaper-2311191.jpg",
"/home/slash/pictures/wallpaper-1518737-phoenix.png" }
for idx, wall in ipairs(wallpapers) do
if posix.access(wall) then
gears.wallpaper.tiled(wall)
break
end
end
-- }}}
-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
tags[1] = awful.tag({" Emacs"}, 1, awful.layout.suit.tile)
if screen.count() > 1 then
tags[2] = awful.tag({" Web"}, 2, awful.layout.suit.max)
if screen.count() > 2 then
for s = 3, screen.count() do
-- Each screen has its own tag table.
tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1])
end
end
end
-- }}}
-- {{{ Menu
-- Create a laucher widget and a main menu
myawesomemenu = {
{ "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awesome.conffile },
{ "restart", awesome.restart },
{ "quit", awesome.quit }
}
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
{ "open terminal", terminal }
}
})
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
menu = mymainmenu })
-- Menubar configuration
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
-- }}}
-- {{{ Wibox
-- Create a textclock widget
mytextclock = awful.widget.textclock()
-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
awful.button({ }, 1, awful.tag.viewonly),
awful.button({ modkey }, 1, awful.client.movetotag),
awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, awful.client.toggletag),
awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end),
awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end)
)
mytasklist = {}
mytasklist.buttons = awful.util.table.join(
awful.button({ }, 1, function (c)
if c ~= client.focus then
client.focus = c
c:raise()
end
end),
awful.button({ }, 3, function ()
if instance then
instance:hide()
instance = nil
else
instance = awful.menu.clients({
theme = { width = 250 }
})
end
end),
awful.button({ }, 4, function ()
awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end
end),
awful.button({ }, 5, function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end))
function mailwidget(name, lighter)
widget = wibox.widget.textbox()
widget.set_mailcount = function (self)
self:set_text(string.format(" %s: %d", lighter,
new_mail(name .. '/inbox')))
end
widget:set_mailcount()
return widget
end
mailwidgets = {ryuslash = mailwidget('ryuslash.org', 'ryu'),
picturefix = mailwidget('picturefix', 'pfx'),
gmail = mailwidget('gmail', 'gmail'),
ninthfloor = mailwidget('ninthfloor', '9f')}
myrsslist = wibox.widget.textbox()
myrsslist.set_count = function (self, count)
if count then
self:set_markup(" " .. count
.. " <span face=\"FontAwesome\"></span>")
else
self:set_text("")
end
end
function mailcount()
mailboxes = { 'ryuslash.org', 'picturefix', 'gmail', 'ninthfloor' }
count = 0
for i, box in ipairs(mailboxes) do
count = count + new_mail(box .. '/inbox')
end
return count
end
mymailwidget = wibox.widget.textbox()
mymailwidget.set_count = function (self)
count = mailcount()
if count then
self:set_markup(" " .. count
.. " <span face=\"FontAwesome\"></span> ")
else
self:set_text("")
end
end
mymailwidget:set_count()
function unlocked()
if awful.util.pread("keycheck login") == "Unlocked" then
return ""
else
return ""
end
end
mykeyringlist = wibox.widget.textbox()
mykeyringlist:set_text(unlocked())
mykeyringlist:set_font("FontAwesome")
mykeyringlist:buttons(
awful.util.table.join(
awful.button({ }, 2, function ()
mykeyringlist:set_text(unlocked())
end)
)
)
mykeyringlisttimer = timer({ timeout = 60 })
mykeyringlisttimer:connect_signal(
"timeout",
function ()
mykeyringlist:set_text(unlocked())
end
)
mykeyringlisttimer:start()
for s = 1, screen.count() do
-- Create a promptbox for each screen
mypromptbox[s] = awful.widget.prompt()
if #layouts > 1 then
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen.
mylayoutbox[s] = awful.widget.layoutbox(s)
mylayoutbox[s]:buttons(awful.util.table.join(
awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
end
-- Create a taglist widget
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
-- Create a tasklist widget
mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
-- Create the wibox
mywibox[s] = awful.wibox({ position = "bottom", screen = s })
-- Widgets that are aligned to the left
local left_layout = wibox.layout.fixed.horizontal()
left_layout:add(mylauncher)
left_layout:add(mytaglist[s])
left_layout:add(mypromptbox[s])
-- Widgets that are aligned to the right
local right_layout = wibox.layout.fixed.horizontal()
if s == 1 then
right_layout:add(mykeyringlist)
if hostname == "drd" then right_layout:add(myrsslist) end
right_layout:add(mymailwidget)
-- for k, w in pairs(mailwidgets) do
-- right_layout:add(w)
-- end
right_layout:add(wibox.widget.systray())
end
right_layout:add(mytextclock)
if #layouts > 1 then right_layout:add(mylayoutbox[s]) end
-- Now bring it all together (with the tasklist in the middle)
local layout = wibox.layout.align.horizontal()
layout:set_left(left_layout)
layout:set_middle(mytasklist[s])
layout:set_right(right_layout)
mywibox[s]:set_widget(layout)
end
-- }}}
-- {{{ Mouse bindings
root.buttons(awful.util.table.join(
awful.button({ }, 3, function () mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
))
-- }}}
function fraise (idx)
awful.client.focus.byidx(idx)
if client.focus then client.focus:raise() end
end
function hpraise ()
awful.client.focus.history.previous()
if client.focus then client.focus:raise() end
end
function ror (prog, class)
function inner ()
local matcher = function (c)
return awful.rules.match(c, { class = class })
end
awful.client.run_or_raise(prog, matcher)
end
return inner
end
-- {{{ Key bindings
globalkeys = awful.util.table.join(
awful.key({ modkey, }, "l", awful.tag.viewprev),
awful.key({ modkey, }, "y", awful.tag.viewnext),
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
awful.key({ modkey, }, "n", function () fraise(1) end),
awful.key({ modkey, }, "p", function () fraise(-1) end),
-- awful.key({ modkey, }, "w", function () mymainmenu:show() end),
awful.key({ }, "Print", function () awful.util.spawn("scrot") end),
-- awful.key({ "Control", }, "Print", function () awful.util.spawn("scrot -s") end),
awful.key({ modkey, }, "c", ror("urxvtc", "URxvt")),
awful.key({ modkey, }, "e", ror("emacsclient -c", "Emacs")),
awful.key({ modkey, }, "w", ror("conkeror", "Conkeror")),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "n", function () awful.client.swap.byidx( 1) end),
awful.key({ modkey, "Shift" }, "p", function () awful.client.swap.byidx( -1) end),
awful.key({ modkey, }, ".", function () oni_focus_relative( 1) end),
awful.key({ modkey, }, ",", function () oni_focus_relative(-1) end),
awful.key({ modkey, "Shift" }, ".", function () awful.client.movetoscreen(client.focus) end),
awful.key({ modkey, "Shift" }, ",", function () awful.client.movetoscreen(client.focus, -1) end),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
awful.key({ modkey, }, "Tab", hpraise),
awful.key({ modkey, }, "g", shrink_to_picturefix_width),
-- Standard program
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit),
awful.key({ modkey, }, "j", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
awful.key({ modkey, "Shift" }, "j", function () awful.tag.incnmaster(-1) end),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
awful.key({ modkey, "Control" }, "j", function () awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
-- Prompt
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
awful.key({ modkey }, "x",
function ()
awful.prompt.run({ prompt = "Run Lua code: " },
mypromptbox[mouse.screen].widget,
awful.util.eval, nil,
awful.util.getdir("cache") .. "/history_eval")
end),
-- Menubar
awful.key({ modkey }, "k", function() menubar.show() end),
awful.key({ "Control", "Mod1" }, "l", function () awful.util.spawn('i3lock -c000000') end)
)
clientkeys = awful.util.table.join(
awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
awful.key({ modkey, }, "o", awful.client.movetoscreen ),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
awful.key({ modkey, }, "m",
function (c)
c.maximized_horizontal = not c.maximized_horizontal
c.maximized_vertical = not c.maximized_vertical
end)
)
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, 9 do
globalkeys = awful.util.table.join(globalkeys,
-- View tag only.
awful.key({ modkey }, "#" .. i + 9,
function ()
local screen = mouse.screen
local tag = awful.tag.gettags(screen)[i]
if tag then
awful.tag.viewonly(tag)
end
end),
-- Toggle tag.
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
local screen = mouse.screen
local tag = awful.tag.gettags(screen)[i]
if tag then
awful.tag.viewtoggle(tag)
end
end),
-- Move client to tag.
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = awful.tag.gettags(client.focus.screen)[i]
if tag then
awful.client.movetotag(tag)
end
end
end),
-- Toggle tag.
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = awful.tag.gettags(client.focus.screen)[i]
if tag then
awful.client.toggletag(tag)
end
end
end))
end
clientbuttons = awful.util.table.join(
awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move),
awful.button({ modkey }, 3, awful.mouse.client.resize))
-- Set keys
root.keys(globalkeys)
-- }}}
-- {{{ Rules
-- Rules to apply to new clients (through the "manage" signal).
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
raise = true,
keys = clientkeys,
buttons = clientbuttons } },
{ rule = { class = "MPlayer" },
properties = { floating = true } },
{ rule = { class = "pinentry" },
properties = { floating = true } },
{ rule = { class = "gimp" },
properties = { floating = true } },
{ rule = { instance = "SteamWorldDig.exe" },
properties = { fullscreen = true } },
{ rule = { instance = "RogueLegacy.exe" },
properties = { fullscreen = true } },
{ rule = { class = "Emacs" },
properties = { tag = tags[1][1] } },
{ rule = { class = "URxvt" },
properties = { size_hints_honor = false } },
-- Set Firefox to always map on tags number 2 of screen 1.
-- { rule = { class = "Firefox" },
-- properties = { tag = tags[1][2] } },
}
-- If there is more than one list of tags, add a rule that puts all
-- "Conkeror" windows on tag 1 of screen 2 (the second list of tags).
if #tags > 1 then
awful.rules.rules =
awful.util.table.join(awful.rules.rules,
{ { rule = { class = "Conkeror" },
properties = { tag = tags[2][1] } } })
end
-- }}}
-- {{{ Signals
imp_classes = { "Dia", "Firefox", "Pencil", "Filezilla", "Gimp" }
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c, startup)
if not startup then
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
if not awful.rules.match_any(c, { class = { "Emacs", "Dia" } }) then
awful.client.setslave(c)
end
if awful.rules.match_any(c, { class = imp_classes }) then
tags[c.class] = tags[c.class] or
awful.tag.add(" " .. c.class, {layout = awful.layout.suit.tile})
awful.tag.viewonly(tags[c.class])
awful.client.movetotag(tags[c.class], c)
end
if awful.rules.match(c, { class = "Dia" }) then
awful.tag.setmwfact(0.90, tags["Dia"])
end
-- Put windows in a smart way, only if they does not set an initial position.
if not c.size_hints.user_position and not c.size_hints.program_position then
awful.placement.no_overlap(c)
awful.placement.no_offscreen(c)
end
end
end)
client.connect_signal("unmanage", function(c)
if awful.rules.match_any(c, { class = imp_classes }) then
if tags[c.class] and #tags[c.class]:clients() == 0 then
awful.tag.delete(tags[c.class])
tags[c.class] = nil
end
end
end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}}
-- Set the master window factor so that terminal windows show up with
-- 80 columns on the main screen. This is meant for a 1920x1080
-- resolution.
awful.tag.setmwfact(0.623, tags[1][1])

View file

@ -1,3 +0,0 @@
Background images:
Mikael Eriksson <mikael_eriksson@miffe.org>
Licensed under CC-BY-SA-3.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 967 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 997 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 B

View file

@ -1,99 +0,0 @@
---------------------------
-- Default awesome theme --
---------------------------
theme = {}
theme.font = "ohsnap 8"
theme.bg_normal = "#111111"
theme.bg_focus = "#2a3b54"
theme.bg_urgent = "#ff0000"
theme.bg_minimize = "#444444"
theme.bg_systray = theme.bg_normal
theme.fg_normal = "#bfbfbf"
theme.fg_focus = "#ffffff"
theme.fg_urgent = "#ffffff"
theme.fg_minimize = "#ffffff"
theme.border_width = 1
theme.border_normal = "#000000"
theme.border_focus = "#535d6c"
theme.border_marked = "#91231c"
-- There are other variable sets
-- overriding the default one when
-- defined, the sets are:
-- taglist_[bg|fg]_[focus|urgent|occupied|empty]
-- tasklist_[bg|fg]_[focus|urgent]
-- titlebar_[bg|fg]_[normal|focus]
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
-- Example:
--theme.taglist_bg_focus = "#ff0000"
-- Display the taglist squares
theme.taglist_squares_sel = "/usr/share/awesome/themes/default/taglist/squarefw.png"
theme.taglist_squares_unsel = "/usr/share/awesome/themes/default/taglist/squarew.png"
-- Variables set for theming the menu:
-- menu_[bg|fg]_[normal|focus]
-- menu_[border_color|border_width]
theme.menu_submenu_icon = "/usr/share/awesome/themes/default/submenu.png"
theme.menu_height = 15
theme.menu_width = 100
-- You can add as many variables as
-- you wish and access them by using
-- beautiful.variable in your rc.lua
--theme.bg_widget = "#cc0000"
-- Define the image to load
theme.titlebar_close_button_normal = "/usr/share/awesome/themes/default/titlebar/close_normal.png"
theme.titlebar_close_button_focus = "/usr/share/awesome/themes/default/titlebar/close_focus.png"
theme.titlebar_ontop_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_normal_inactive.png"
theme.titlebar_ontop_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_focus_inactive.png"
theme.titlebar_ontop_button_normal_active = "/usr/share/awesome/themes/default/titlebar/ontop_normal_active.png"
theme.titlebar_ontop_button_focus_active = "/usr/share/awesome/themes/default/titlebar/ontop_focus_active.png"
theme.titlebar_sticky_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_normal_inactive.png"
theme.titlebar_sticky_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_focus_inactive.png"
theme.titlebar_sticky_button_normal_active = "/usr/share/awesome/themes/default/titlebar/sticky_normal_active.png"
theme.titlebar_sticky_button_focus_active = "/usr/share/awesome/themes/default/titlebar/sticky_focus_active.png"
theme.titlebar_floating_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/floating_normal_inactive.png"
theme.titlebar_floating_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/floating_focus_inactive.png"
theme.titlebar_floating_button_normal_active = "/usr/share/awesome/themes/default/titlebar/floating_normal_active.png"
theme.titlebar_floating_button_focus_active = "/usr/share/awesome/themes/default/titlebar/floating_focus_active.png"
theme.titlebar_maximized_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_normal_inactive.png"
theme.titlebar_maximized_button_focus_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_focus_inactive.png"
theme.titlebar_maximized_button_normal_active = "/usr/share/awesome/themes/default/titlebar/maximized_normal_active.png"
theme.titlebar_maximized_button_focus_active = "/usr/share/awesome/themes/default/titlebar/maximized_focus_active.png"
theme.wallpaper = "/usr/share/awesome/themes/default/background.png"
-- You can use your own layout icons like this:
theme.layout_fairh = "/usr/share/awesome/themes/default/layouts/fairhw.png"
theme.layout_fairv = "/usr/share/awesome/themes/default/layouts/fairvw.png"
theme.layout_floating = "/usr/share/awesome/themes/default/layouts/floatingw.png"
theme.layout_magnifier = "/usr/share/awesome/themes/default/layouts/magnifierw.png"
theme.layout_max = "/usr/share/awesome/themes/default/layouts/maxw.png"
theme.layout_fullscreen = "/usr/share/awesome/themes/default/layouts/fullscreenw.png"
theme.layout_tilebottom = "/usr/share/awesome/themes/default/layouts/tilebottomw.png"
theme.layout_tileleft = "/usr/share/awesome/themes/default/layouts/tileleftw.png"
theme.layout_tile = "/usr/share/awesome/themes/default/layouts/tilew.png"
theme.layout_tiletop = "/usr/share/awesome/themes/default/layouts/tiletopw.png"
theme.layout_spiral = "/usr/share/awesome/themes/default/layouts/spiralw.png"
theme.layout_dwindle = "/usr/share/awesome/themes/default/layouts/dwindlew.png"
theme.awesome_icon = "/usr/share/awesome/icons/awesome16.png"
-- Define the icon theme for application icons. If not set then the icons
-- from /usr/share/icons and /usr/share/icons/hicolor will be used.
theme.icon_theme = nil
return theme
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80

Binary file not shown.

Before

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 801 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 598 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,013 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 752 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 725 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 683 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 671 B

Some files were not shown because too many files have changed in this diff Show more