From 5c6cd059e8395d7f24d4b199e59c8c2f562dc438 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sun, 3 Nov 2013 21:21:21 +0100 Subject: New stow hierarchy --- .Xdefaults | 97 ---- .Xmodmap | 5 - .bash_profile | 1 - .beetsconfig | 14 - .config/Makefile | 5 - .config/awesome/Makefile | 5 - .config/awesome/bowl.lua | 205 --------- .config/awesome/ext.lua | 81 ---- .config/awesome/infoline.lua | 183 -------- .config/awesome/keychain.lua | 334 -------------- .config/awesome/oni.lua | 73 --- .config/awesome/rc.lua | 424 ----------------- .config/awesome/themes/Makefile | 4 - .config/awesome/themes/custom/Makefile | 4 - .config/awesome/themes/custom/README | 3 - .config/awesome/themes/custom/theme.lua | 96 ---- .config/clfswm/Makefile | 4 - .config/clfswm/clfswmrc | 25 - .config/cower/Makefile | 4 - .config/cower/config | 3 - .config/dunst/Makefile | 4 - .config/dunst/dunstrc | 161 ------- .config/fehlstart/Makefile | 4 - .config/fehlstart/fehlstart.rc | 22 - .config/fish/Makefile | 4 - .config/fish/config.fish | 76 --- .config/fontconfig/fonts.conf | 34 -- .config/herbstluftwm/Makefile | 6 - .config/herbstluftwm/autostart | 122 ----- .config/herbstluftwm/panel.sh | 150 ------ .config/newsbeuter/.gitignore | 3 - .config/newsbeuter/Makefile | 4 - .config/newsbeuter/config | 27 -- .config/newsbeuter/urls | 176 ------- .config/zathura/Makefile | 4 - .config/zathura/zathurarc | 7 - .conkerorrc/Makefile | 5 - .conkerorrc/ext_restore.js | 33 -- .conkerorrc/gtk2rc | 11 - .conkerorrc/init.js | 315 ------------- .conkerorrc/styles/.gitignore | 1 - .conkerorrc/styles/Makefile | 4 - .conkerorrc/styles/base.less | 6 - .conkerorrc/styles/git-scm.less | 18 - .conkerorrc/styles/github.css | 168 ------- .conkerorrc/styles/help.less | 21 - .conkerorrc/styles/tango.less | 27 -- .conkerorrc/styles/yoshi.less | 24 - .conkerorrc/themes/Makefile | 4 - .conkerorrc/themes/naquadah/Makefile | 5 - .../themes/naquadah/conkeror--scrollbars.css | 36 -- .conkerorrc/themes/naquadah/hints--url-panel.css | 17 - .conkerorrc/themes/naquadah/minibuffer.css | 52 --- .conkerorrc/themes/naquadah/mode-line.css | 11 - .conkerorrc/themes/naquadah/new-tabs.css | 54 --- .conkerorrc/themes/naquadah/tab-bar.css | 41 -- .conkerorrc/themes/naquadah/theme.json | 9 - .conkerorrc/themes/yoshi/Makefile | 5 - .conkerorrc/themes/yoshi/conkeror--scrollbars.css | 36 -- .conkerorrc/themes/yoshi/hints--url-panel.css | 17 - .conkerorrc/themes/yoshi/minibuffer.css | 49 -- .conkerorrc/themes/yoshi/mode-line.css | 11 - .conkerorrc/themes/yoshi/new-tabs.css | 54 --- .conkerorrc/themes/yoshi/tab-bar.css | 41 -- .conkerorrc/themes/yoshi/theme.json | 9 - .conky_box.lua | 311 ------------- .conkyrc | 53 --- .gitconfig | 22 - .gitignore | 1 - .gitmodules | 3 - .guile | 2 - .hgrc | 4 - .local/Makefile | 4 - .local/share/Makefile | 4 - .local/share/applications/Makefile | 4 - .local/share/applications/moc.desktop | 8 - .local/share/applications/ncmpcpp.desktop | 8 - .local/share/applications/poweroff.desktop | 8 - .local/share/applications/reboot.desktop | 8 - .moc/.gitignore | 5 - .moc/Makefile | 5 - .moc/config | 3 - .moc/themes/Makefile | 4 - .moc/themes/custom | 118 ----- .mutt/.gitignore | 4 - .mutt/Makefile | 6 - .mutt/aethon.muttrc | 14 - .mutt/arch.muttrc | 14 - .mutt/colors.muttrc | 65 --- .mutt/gmail.muttrc | 14 - .mutt/iactor.muttrc | 13 - .mutt/macros | 1 - .mutt/mailcap | 6 - .mutt/muttrc | 121 ----- .mutt/ninthfloor.muttrc | 13 - .mutt/ryuslash.org.muttrc | 13 - .mutt/sig | 0 .ncmpcpp/Makefile | 4 - .ncmpcpp/config | 25 - .offlineimap.py | 51 -- .offlineimaprc | 110 ----- .pentadactyl/Makefile | 4 - .pentadactyl/plugins/Makefile | 4 - .pentadactyl/plugins/emacs.penta | 98 ---- .sawfish/Makefile | 4 - .sawfish/rc | 186 -------- .screenrc | 4 - .scwmrc | 305 ------------ .slrnrc | 49 -- .ssh/.gitignore | 0 .ssh/Makefile | 4 - .ssh/config | 22 - .stumpwmrc | 224 --------- .tmux.conf | 3 - .urlview | 2 - .w3m/.gitignore | 1 - .w3m/Makefile | 4 - .w3m/config | 141 ------ .weechat/Makefile | 4 - .weechat/alias.conf | 38 -- .weechat/irc.conf | 154 ------- .weechat/weechat.conf | 512 --------------------- .xbindkeysrc.scm | 220 --------- .xinitrc | 20 - .xsession | 3 - .zile | 5 - .zprofile | 15 - .zsh/.gitignore | 1 - .zsh/Makefile | 4 - .zsh/functions/Makefile | 4 - .zsh/functions/add-to-list | 10 - .zsh/functions/env | 3 - .zsh/functions/venv | 15 - .zsh/syntax-highlighting | 1 - .zshrc | 126 ----- Makefile | 13 - awesome/.config/awesome/bowl.lua | 205 +++++++++ awesome/.config/awesome/ext.lua | 81 ++++ awesome/.config/awesome/infoline.lua | 183 ++++++++ awesome/.config/awesome/keychain.lua | 334 ++++++++++++++ awesome/.config/awesome/oni.lua | 73 +++ awesome/.config/awesome/rc.lua | 424 +++++++++++++++++ awesome/.config/awesome/themes/custom/README | 3 + awesome/.config/awesome/themes/custom/theme.lua | 96 ++++ beets/.beetsconfig | 14 + clfswm/.config/clfswm/clfswmrc | 25 + conkeror/.conkerorrc/ext_restore.js | 33 ++ conkeror/.conkerorrc/gtk2rc | 11 + conkeror/.conkerorrc/init.js | 315 +++++++++++++ conkeror/.conkerorrc/styles/.gitignore | 1 + conkeror/.conkerorrc/styles/base.less | 6 + conkeror/.conkerorrc/styles/git-scm.less | 18 + conkeror/.conkerorrc/styles/github.css | 168 +++++++ conkeror/.conkerorrc/styles/help.less | 21 + conkeror/.conkerorrc/styles/tango.less | 27 ++ conkeror/.conkerorrc/styles/yoshi.less | 24 + .../themes/naquadah/conkeror--scrollbars.css | 36 ++ .../themes/naquadah/hints--url-panel.css | 17 + .../.conkerorrc/themes/naquadah/minibuffer.css | 52 +++ conkeror/.conkerorrc/themes/naquadah/mode-line.css | 11 + conkeror/.conkerorrc/themes/naquadah/new-tabs.css | 54 +++ conkeror/.conkerorrc/themes/naquadah/tab-bar.css | 41 ++ conkeror/.conkerorrc/themes/naquadah/theme.json | 9 + .../themes/yoshi/conkeror--scrollbars.css | 36 ++ .../.conkerorrc/themes/yoshi/hints--url-panel.css | 17 + conkeror/.conkerorrc/themes/yoshi/minibuffer.css | 49 ++ conkeror/.conkerorrc/themes/yoshi/mode-line.css | 11 + conkeror/.conkerorrc/themes/yoshi/new-tabs.css | 54 +++ conkeror/.conkerorrc/themes/yoshi/tab-bar.css | 41 ++ conkeror/.conkerorrc/themes/yoshi/theme.json | 9 + conky/.conky_box.lua | 311 +++++++++++++ conky/.conkyrc | 53 +++ cower/.config/cower/config | 3 + dotfiles.mk | 135 ------ dotfiles2.mk | 17 - dunst/.config/dunst/dunstrc | 161 +++++++ fehlstart/.config/fehlstart/fehlstart.rc | 22 + fehlstart/.local/share/applications/moc.desktop | 8 + .../.local/share/applications/ncmpcpp.desktop | 8 + .../.local/share/applications/poweroff.desktop | 8 + fehlstart/.local/share/applications/reboot.desktop | 8 + fish/.config/fish/config.fish | 76 +++ fontconfig/.config/fontconfig/fonts.conf | 34 ++ git/.gitconfig | 22 + guile/.guile | 2 + herbstluftwm/.config/herbstluftwm/autostart | 122 +++++ herbstluftwm/.config/herbstluftwm/panel.sh | 150 ++++++ mercurial/.hgrc | 4 + moc/.moc/.gitignore | 5 + moc/.moc/config | 3 + moc/.moc/themes/custom | 118 +++++ mutt/.mutt/.gitignore | 4 + mutt/.mutt/aethon.muttrc | 14 + mutt/.mutt/arch.muttrc | 14 + mutt/.mutt/colors.muttrc | 65 +++ mutt/.mutt/gmail.muttrc | 14 + mutt/.mutt/iactor.muttrc | 13 + mutt/.mutt/macros | 1 + mutt/.mutt/mailcap | 6 + mutt/.mutt/muttrc | 121 +++++ mutt/.mutt/ninthfloor.muttrc | 13 + mutt/.mutt/ryuslash.org.muttrc | 13 + mutt/.mutt/sig | 0 mutt/.urlview | 2 + ncmpcpp/.ncmpcpp/config | 25 + newsbeuter/.config/newsbeuter/.gitignore | 3 + newsbeuter/.config/newsbeuter/config | 27 ++ newsbeuter/.config/newsbeuter/urls | 176 +++++++ notion/.notion/cfg_notion.lua | 99 ++++ notion/.notion/cfg_notioncore.lua | 411 +++++++++++++++++ notion/Makefile | 6 - notion/cfg_notion.lua | 99 ---- notion/cfg_notioncore.lua | 411 ----------------- offlineimap/.offlineimap.py | 51 ++ offlineimap/.offlineimaprc | 110 +++++ pentadactil/.pentadactyl/plugins/emacs.penta | 98 ++++ sawfish/.sawfish/rc | 186 ++++++++ sbcl/Makefile | 8 - screen/.screenrc | 4 + scwm/.scwmrc | 305 ++++++++++++ slrn/.slrnrc | 49 ++ ssh/.ssh/.gitignore | 0 ssh/.ssh/config | 22 + stumpwm/.stumpwmrc | 224 +++++++++ tmux/.tmux.conf | 3 + w3m/.w3m/.gitignore | 1 + w3m/.w3m/config | 141 ++++++ weechat/.weechat/alias.conf | 38 ++ weechat/.weechat/irc.conf | 154 +++++++ weechat/.weechat/weechat.conf | 512 +++++++++++++++++++++ x11/.Xdefaults | 97 ++++ x11/.Xmodmap | 5 + x11/.xinitrc | 20 + x11/.xsession | 3 + xbindkeys/.xbindkeysrc.scm | 220 +++++++++ xmonad/.gitignore | 3 - xmonad/.xmonad/.gitignore | 3 + xmonad/.xmonad/xmonad.hs | 59 +++ xmonad/Makefile | 10 - xmonad/xmonad.hs | 59 --- zathura/.config/zathura/zathurarc | 7 + zile/.zile | 5 + zsh/.bash_profile | 1 + zsh/.zprofile | 15 + zsh/.zsh/.gitignore | 1 + zsh/.zsh/functions/add-to-list | 10 + zsh/.zsh/functions/env | 3 + zsh/.zsh/functions/venv | 15 + zsh/.zshrc | 126 +++++ 249 files changed, 7126 insertions(+), 7458 deletions(-) delete mode 100644 .Xdefaults delete mode 100644 .Xmodmap delete mode 120000 .bash_profile delete mode 100644 .beetsconfig delete mode 100644 .config/Makefile delete mode 100644 .config/awesome/Makefile delete mode 100644 .config/awesome/bowl.lua delete mode 100644 .config/awesome/ext.lua delete mode 100644 .config/awesome/infoline.lua delete mode 100644 .config/awesome/keychain.lua delete mode 100644 .config/awesome/oni.lua delete mode 100644 .config/awesome/rc.lua delete mode 100644 .config/awesome/themes/Makefile delete mode 100644 .config/awesome/themes/custom/Makefile delete mode 100644 .config/awesome/themes/custom/README delete mode 100644 .config/awesome/themes/custom/theme.lua delete mode 100644 .config/clfswm/Makefile delete mode 100644 .config/clfswm/clfswmrc delete mode 100644 .config/cower/Makefile delete mode 100644 .config/cower/config delete mode 100644 .config/dunst/Makefile delete mode 100644 .config/dunst/dunstrc delete mode 100644 .config/fehlstart/Makefile delete mode 100644 .config/fehlstart/fehlstart.rc delete mode 100644 .config/fish/Makefile delete mode 100644 .config/fish/config.fish delete mode 100644 .config/fontconfig/fonts.conf delete mode 100644 .config/herbstluftwm/Makefile delete mode 100755 .config/herbstluftwm/autostart delete mode 100755 .config/herbstluftwm/panel.sh delete mode 100644 .config/newsbeuter/.gitignore delete mode 100644 .config/newsbeuter/Makefile delete mode 100644 .config/newsbeuter/config delete mode 100644 .config/newsbeuter/urls delete mode 100644 .config/zathura/Makefile delete mode 100644 .config/zathura/zathurarc delete mode 100644 .conkerorrc/Makefile delete mode 100644 .conkerorrc/ext_restore.js delete mode 100644 .conkerorrc/gtk2rc delete mode 100644 .conkerorrc/init.js delete mode 100644 .conkerorrc/styles/.gitignore delete mode 100644 .conkerorrc/styles/Makefile delete mode 100644 .conkerorrc/styles/base.less delete mode 100644 .conkerorrc/styles/git-scm.less delete mode 100644 .conkerorrc/styles/github.css delete mode 100644 .conkerorrc/styles/help.less delete mode 100644 .conkerorrc/styles/tango.less delete mode 100644 .conkerorrc/styles/yoshi.less delete mode 100644 .conkerorrc/themes/Makefile delete mode 100644 .conkerorrc/themes/naquadah/Makefile delete mode 100644 .conkerorrc/themes/naquadah/conkeror--scrollbars.css delete mode 100644 .conkerorrc/themes/naquadah/hints--url-panel.css delete mode 100644 .conkerorrc/themes/naquadah/minibuffer.css delete mode 100644 .conkerorrc/themes/naquadah/mode-line.css delete mode 100644 .conkerorrc/themes/naquadah/new-tabs.css delete mode 100644 .conkerorrc/themes/naquadah/tab-bar.css delete mode 100644 .conkerorrc/themes/naquadah/theme.json delete mode 100644 .conkerorrc/themes/yoshi/Makefile delete mode 100644 .conkerorrc/themes/yoshi/conkeror--scrollbars.css delete mode 100644 .conkerorrc/themes/yoshi/hints--url-panel.css delete mode 100644 .conkerorrc/themes/yoshi/minibuffer.css delete mode 100644 .conkerorrc/themes/yoshi/mode-line.css delete mode 100644 .conkerorrc/themes/yoshi/new-tabs.css delete mode 100644 .conkerorrc/themes/yoshi/tab-bar.css delete mode 100644 .conkerorrc/themes/yoshi/theme.json delete mode 100644 .conky_box.lua delete mode 100644 .conkyrc delete mode 100644 .gitconfig delete mode 100644 .gitignore delete mode 100644 .gitmodules delete mode 100644 .guile delete mode 100644 .hgrc delete mode 100644 .local/Makefile delete mode 100644 .local/share/Makefile delete mode 100644 .local/share/applications/Makefile delete mode 100644 .local/share/applications/moc.desktop delete mode 100644 .local/share/applications/ncmpcpp.desktop delete mode 100644 .local/share/applications/poweroff.desktop delete mode 100644 .local/share/applications/reboot.desktop delete mode 100644 .moc/.gitignore delete mode 100644 .moc/Makefile delete mode 100644 .moc/config delete mode 100644 .moc/themes/Makefile delete mode 100644 .moc/themes/custom delete mode 100644 .mutt/.gitignore delete mode 100644 .mutt/Makefile delete mode 100644 .mutt/aethon.muttrc delete mode 100644 .mutt/arch.muttrc delete mode 100644 .mutt/colors.muttrc delete mode 100644 .mutt/gmail.muttrc delete mode 100644 .mutt/iactor.muttrc delete mode 100644 .mutt/macros delete mode 100644 .mutt/mailcap delete mode 100644 .mutt/muttrc delete mode 100644 .mutt/ninthfloor.muttrc delete mode 100644 .mutt/ryuslash.org.muttrc delete mode 100644 .mutt/sig delete mode 100644 .ncmpcpp/Makefile delete mode 100644 .ncmpcpp/config delete mode 100644 .offlineimap.py delete mode 100644 .offlineimaprc delete mode 100644 .pentadactyl/Makefile delete mode 100644 .pentadactyl/plugins/Makefile delete mode 100644 .pentadactyl/plugins/emacs.penta delete mode 100644 .sawfish/Makefile delete mode 100644 .sawfish/rc delete mode 100644 .screenrc delete mode 100644 .scwmrc delete mode 100644 .slrnrc delete mode 100644 .ssh/.gitignore delete mode 100644 .ssh/Makefile delete mode 100644 .ssh/config delete mode 100644 .stumpwmrc delete mode 100644 .tmux.conf delete mode 100644 .urlview delete mode 100644 .w3m/.gitignore delete mode 100644 .w3m/Makefile delete mode 100644 .w3m/config delete mode 100644 .weechat/Makefile delete mode 100644 .weechat/alias.conf delete mode 100644 .weechat/irc.conf delete mode 100644 .weechat/weechat.conf delete mode 100644 .xbindkeysrc.scm delete mode 100755 .xinitrc delete mode 100755 .xsession delete mode 100644 .zile delete mode 100644 .zprofile delete mode 100644 .zsh/.gitignore delete mode 100644 .zsh/Makefile delete mode 100644 .zsh/functions/Makefile delete mode 100644 .zsh/functions/add-to-list delete mode 100644 .zsh/functions/env delete mode 100644 .zsh/functions/venv delete mode 160000 .zsh/syntax-highlighting delete mode 100644 .zshrc delete mode 100644 Makefile create mode 100644 awesome/.config/awesome/bowl.lua create mode 100644 awesome/.config/awesome/ext.lua create mode 100644 awesome/.config/awesome/infoline.lua create mode 100644 awesome/.config/awesome/keychain.lua create mode 100644 awesome/.config/awesome/oni.lua create mode 100644 awesome/.config/awesome/rc.lua create mode 100644 awesome/.config/awesome/themes/custom/README create mode 100644 awesome/.config/awesome/themes/custom/theme.lua create mode 100644 beets/.beetsconfig create mode 100644 clfswm/.config/clfswm/clfswmrc create mode 100644 conkeror/.conkerorrc/ext_restore.js create mode 100644 conkeror/.conkerorrc/gtk2rc create mode 100644 conkeror/.conkerorrc/init.js create mode 100644 conkeror/.conkerorrc/styles/.gitignore create mode 100644 conkeror/.conkerorrc/styles/base.less create mode 100644 conkeror/.conkerorrc/styles/git-scm.less create mode 100644 conkeror/.conkerorrc/styles/github.css create mode 100644 conkeror/.conkerorrc/styles/help.less create mode 100644 conkeror/.conkerorrc/styles/tango.less create mode 100644 conkeror/.conkerorrc/styles/yoshi.less create mode 100644 conkeror/.conkerorrc/themes/naquadah/conkeror--scrollbars.css create mode 100644 conkeror/.conkerorrc/themes/naquadah/hints--url-panel.css create mode 100644 conkeror/.conkerorrc/themes/naquadah/minibuffer.css create mode 100644 conkeror/.conkerorrc/themes/naquadah/mode-line.css create mode 100644 conkeror/.conkerorrc/themes/naquadah/new-tabs.css create mode 100644 conkeror/.conkerorrc/themes/naquadah/tab-bar.css create mode 100644 conkeror/.conkerorrc/themes/naquadah/theme.json create mode 100644 conkeror/.conkerorrc/themes/yoshi/conkeror--scrollbars.css create mode 100644 conkeror/.conkerorrc/themes/yoshi/hints--url-panel.css create mode 100644 conkeror/.conkerorrc/themes/yoshi/minibuffer.css create mode 100644 conkeror/.conkerorrc/themes/yoshi/mode-line.css create mode 100644 conkeror/.conkerorrc/themes/yoshi/new-tabs.css create mode 100644 conkeror/.conkerorrc/themes/yoshi/tab-bar.css create mode 100644 conkeror/.conkerorrc/themes/yoshi/theme.json create mode 100644 conky/.conky_box.lua create mode 100644 conky/.conkyrc create mode 100644 cower/.config/cower/config delete mode 100644 dotfiles.mk delete mode 100644 dotfiles2.mk create mode 100644 dunst/.config/dunst/dunstrc create mode 100644 fehlstart/.config/fehlstart/fehlstart.rc create mode 100644 fehlstart/.local/share/applications/moc.desktop create mode 100644 fehlstart/.local/share/applications/ncmpcpp.desktop create mode 100644 fehlstart/.local/share/applications/poweroff.desktop create mode 100644 fehlstart/.local/share/applications/reboot.desktop create mode 100644 fish/.config/fish/config.fish create mode 100644 fontconfig/.config/fontconfig/fonts.conf create mode 100644 git/.gitconfig create mode 100644 guile/.guile create mode 100755 herbstluftwm/.config/herbstluftwm/autostart create mode 100755 herbstluftwm/.config/herbstluftwm/panel.sh create mode 100644 mercurial/.hgrc create mode 100644 moc/.moc/.gitignore create mode 100644 moc/.moc/config create mode 100644 moc/.moc/themes/custom create mode 100644 mutt/.mutt/.gitignore create mode 100644 mutt/.mutt/aethon.muttrc create mode 100644 mutt/.mutt/arch.muttrc create mode 100644 mutt/.mutt/colors.muttrc create mode 100644 mutt/.mutt/gmail.muttrc create mode 100644 mutt/.mutt/iactor.muttrc create mode 100644 mutt/.mutt/macros create mode 100644 mutt/.mutt/mailcap create mode 100644 mutt/.mutt/muttrc create mode 100644 mutt/.mutt/ninthfloor.muttrc create mode 100644 mutt/.mutt/ryuslash.org.muttrc create mode 100644 mutt/.mutt/sig create mode 100644 mutt/.urlview create mode 100644 ncmpcpp/.ncmpcpp/config create mode 100644 newsbeuter/.config/newsbeuter/.gitignore create mode 100644 newsbeuter/.config/newsbeuter/config create mode 100644 newsbeuter/.config/newsbeuter/urls create mode 100644 notion/.notion/cfg_notion.lua create mode 100644 notion/.notion/cfg_notioncore.lua delete mode 100644 notion/Makefile delete mode 100644 notion/cfg_notion.lua delete mode 100644 notion/cfg_notioncore.lua create mode 100644 offlineimap/.offlineimap.py create mode 100644 offlineimap/.offlineimaprc create mode 100644 pentadactil/.pentadactyl/plugins/emacs.penta create mode 100644 sawfish/.sawfish/rc delete mode 100644 sbcl/Makefile create mode 100644 screen/.screenrc create mode 100644 scwm/.scwmrc create mode 100644 slrn/.slrnrc create mode 100644 ssh/.ssh/.gitignore create mode 100644 ssh/.ssh/config create mode 100644 stumpwm/.stumpwmrc create mode 100644 tmux/.tmux.conf create mode 100644 w3m/.w3m/.gitignore create mode 100644 w3m/.w3m/config create mode 100644 weechat/.weechat/alias.conf create mode 100644 weechat/.weechat/irc.conf create mode 100644 weechat/.weechat/weechat.conf create mode 100644 x11/.Xdefaults create mode 100644 x11/.Xmodmap create mode 100755 x11/.xinitrc create mode 100755 x11/.xsession create mode 100644 xbindkeys/.xbindkeysrc.scm delete mode 100644 xmonad/.gitignore create mode 100644 xmonad/.xmonad/.gitignore create mode 100644 xmonad/.xmonad/xmonad.hs delete mode 100644 xmonad/Makefile delete mode 100644 xmonad/xmonad.hs create mode 100644 zathura/.config/zathura/zathurarc create mode 100644 zile/.zile create mode 120000 zsh/.bash_profile create mode 100644 zsh/.zprofile create mode 100644 zsh/.zsh/.gitignore create mode 100644 zsh/.zsh/functions/add-to-list create mode 100644 zsh/.zsh/functions/env create mode 100644 zsh/.zsh/functions/venv create mode 100644 zsh/.zshrc diff --git a/.Xdefaults b/.Xdefaults deleted file mode 100644 index ffa38c6..0000000 --- a/.Xdefaults +++ /dev/null @@ -1,97 +0,0 @@ -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=16 -urxvt.boldFont: xft:Envy Code R:weight=bold:pixelsize=16 -urxvt.italicFont: xft:Envy Code R:slant=italic:pixelsize=16 - -urxvt.depth: 32 -urxvt.background: #111111 -urxvt.foreground: #bfbfbf - -urxvt.color0: #111111 -urxvt.color8: #3d3d3d - -urxvt.color1: #a87e7e -urxvt.color9: #a82a2a - -urxvt.color2: #87a87e -urxvt.color10: #43a82a - -urxvt.color3: #a0a87e -urxvt.color11: #bfa82a - -urxvt.color4: #7e8fa8 -urxvt.color12: #2a5da8 - -urxvt.color5: #a07ea8 -urxvt.color13: #8f2aa8 - -urxvt.color6: #7ea8a8 -urxvt.color14: #2aa8a8 - -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: #111113 -Emacs.borderWidth: 0 -Emacs.font: Envy Code R-13 -Emacs.foreground: #eeeeec -Emacs.internalBorder: 0 -Emacs.paneFont: Envy Code R-13 -Emacs.pointerColor: #eeeeec -Emacs*menu*font: Envy Code R-13 -Emacs*menu*foreground: #eeeeec -Emacs*menu*background: #222224 -Emacs*menu*buttonForeground: #a5a5a4 -Emacs*menu*verticalSpacing: 0 -Emacs*menu*shadowThickness: 1 -Emacs*menu*margin: 0 -Emacs.pane.menubar.translations: #override\ - Ctrl n: down()\n\ - Ctrl p: up()\n\ - Ctrl f: right()\n\ - Ctrl 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\ -} diff --git a/.Xmodmap b/.Xmodmap deleted file mode 100644 index 15f66e7..0000000 --- a/.Xmodmap +++ /dev/null @@ -1,5 +0,0 @@ -pointer = 3 2 1 - -remove Mod5 = ISO_Level3_Shift -keycode 108 = Alt_L -add Mod1 = Alt_L diff --git a/.bash_profile b/.bash_profile deleted file mode 120000 index c1abe3f..0000000 --- a/.bash_profile +++ /dev/null @@ -1 +0,0 @@ -.zprofile \ No newline at end of file diff --git a/.beetsconfig b/.beetsconfig deleted file mode 100644 index 3a9a192..0000000 --- a/.beetsconfig +++ /dev/null @@ -1,14 +0,0 @@ - -[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 diff --git a/.config/Makefile b/.config/Makefile deleted file mode 100644 index 3407f57..0000000 --- a/.config/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -SUBDIR=.config -modules=awesome clfswm cower dunst fehlstart fish herbstluftwm \ - newsbeuter zathura - -include ../dotfiles.mk diff --git a/.config/awesome/Makefile b/.config/awesome/Makefile deleted file mode 100644 index 071a7ad..0000000 --- a/.config/awesome/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -SUBDIR=awesome -modules=themes -objects=bowl.lua ext.lua infoline.lua keychain.lua oni.lua rc.lua - -include ../../dotfiles.mk diff --git a/.config/awesome/bowl.lua b/.config/awesome/bowl.lua deleted file mode 100644 index bf6af7b..0000000 --- a/.config/awesome/bowl.lua +++ /dev/null @@ -1,205 +0,0 @@ --- -*- coding: utf-8 -*- --------------------------------------------------------------------------------- --- @author Nicolas Berthier <nberthier@gmail.com> --- @copyright 2010 Nicolas Berthier --------------------------------------------------------------------------------- --- --- Bowls are kind of helpers that can be drawn (at the bottom --- for now) of an --- area, and displaying the current key prefix. It is inspired by emacs' --- behavior, that prints prefix keys in the minibuffer after a certain time. --- --- I call it `bowl' as a reference to the bowl that one might have at home, --- where one puts its actual keys... A more serious name would be `hint' or --- `tooltip' (but they do not fit well for this usage). --- --- Example usage: see `rc.lua' file. --- --------------------------------------------------------------------------------- - ---{{{ Grab environment (mostly aliases) -local setmetatable = setmetatable -local ipairs = ipairs -local type = type -local pairs = pairs -local string = string -local print = print -local error = error - -local capi = capi -local client = client -local awesome = awesome -local root = root -local timer = timer - -local infoline = require ("infoline") ---}}} - -module ("bowl") - --- Privata data: we use weak keys in order to allow collection of private data --- if keys (clients) are collected (i.e., no longer used, after having been --- killed for instance) -local data = setmetatable ({}, { __mode = 'k' }) - ---{{{ Default values - ---- Default modifier filter -local modfilter = { - ["Mod1"] = "M", - ["Mod4"] = "S", - ["Control"] = "C", - ["Shift"] = string.upper, -} - --- Timers configuration -local use_timers = true -local timeout = 2.0 - ---}}} - ---{{{ Keychain pretty-printing - -function mod_to_string (mods, k) - local ret, k = "", k - for _, mod in ipairs (mods) do - if modfilter[mod] then - local t = type (modfilter[mod]) - if t == "function" then - k = modfilter[mod](k) - elseif t == "string" then - ret = ret .. modfilter[mod] .. "-" - else - error ("Invalid modifier key filter: got a " .. t) - end - else - ret = ret .. mod .. "-" - end - end - return ret, k -end - -function ks_to_string (m, k) - local m, k = mod_to_string (m, k) - return m .. k -end - ---}}} - ---{{{ Timer management - -local function delete_timer_maybe (d) - if d.timer then -- stop and remove the timer - d.timer:remove_signal ("timeout", d.timer_function) - d.timer:stop () - d.timer = nil - d.timer_expired = true - end -end - -local function delayed_call_maybe (d, f) - if use_timers then - if not d.timer_expired and not d.timer then - -- create and start the timer - d.timer = timer ({ timeout = timeout }) - d.timer_function = function () f (); delete_timer_maybe (d) end - d.timer:add_signal ("timeout", d.timer_function) - d.timer:start () - d.timer_expired = false - elseif not d.timer_expired then - -- restart the timer... - - -- XXX: What is the actual semantics of the call to `start' (ie, - -- does it restart the timer with the initial timeout)? - d.timer:stop () - d.timer.timeout = timeout -- reset timeout - d.timer:start () - end - else -- timers disabled - f () -- call the given function directly - end -end - ---}}} - ---{{{ Infoline management - -function dispose (w) - local d = data[w] - if d.bowl then -- if bowl was enabled... (should always be true...) - infoline.dispose (d.bowl) - d.bowl = nil - end - delete_timer_maybe (d) - data[w] = nil -end - -function append (w, m, k) - local d = data[w] - local pretty_ks = ks_to_string (m, k) .. " " - infoline.set_text (d.bowl, infoline.get_text (d.bowl) .. pretty_ks) - - local function enable_bowl () - -- XXX: is there a possible bad interleaving that could make - -- this function execute while the bowl has already been - -- disposed of? in which case the condition should be checked - -- first... - - -- if d.bowl then - infoline.attach (d.bowl, w) - -- end - end - - delayed_call_maybe (d, enable_bowl) -end - -function create (w) - -- XXX: Note the prefix text could be customizable... - data[w] = { bowl = infoline.new (" ") } -end - ---}}} - - ---- Initializes the bowl module, with given properties; should be called before ---- ANY other function of this module. --- Configurations fields include: --- --- `use_timers', `timeout': A boolean defining whether bowls drawing should be --- delayed, along with a number being this time shift, in seconds (Default --- values are `true' and `2'). --- --- `modfilter': A table associating modifiers (Mod1, Mod4, Control, Shift, etc.) --- with either a string (in this case it will replace the modifier when printed --- in heplers) or functions (in this case the key string will be repaced by a --- call to this function with the key string as parameter). Default value is: --- { ["Mod1"] = "M", ["Mod4"] = "S", ["Control"] = "C", ["Shift"] = --- string.upper } --- --- @param c The table of properties. -function init (c) - local c = c or { } - modfilter = c.modfilter and c.modfilter or modfilter - if c.use_timers ~= nil then use_timers = c.use_timers end - if use_timers then - timeout = c.timeout ~= nil and c.timeout or timeout - end -end - ---- Setup signal listeners, that trigger appropriate functions for a default ---- behavior. -function default_setup () - local function to_root (f) return function (...) f (root, ...) end end - client.add_signal ("keychain::enter", create) - client.add_signal ("keychain::append", append) - client.add_signal ("keychain::leave", dispose) - awesome.add_signal ("keychain::enter", to_root (create)) - awesome.add_signal ("keychain::append", to_root (append)) - awesome.add_signal ("keychain::leave", to_root (dispose)) -end - --- Local variables: --- indent-tabs-mode: nil --- fill-column: 80 --- lua-indent-level: 4 --- End: --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80 diff --git a/.config/awesome/ext.lua b/.config/awesome/ext.lua deleted file mode 100644 index e7bdf00..0000000 --- a/.config/awesome/ext.lua +++ /dev/null @@ -1,81 +0,0 @@ -local client=client -local awful=awful -local pairs=pairs -local table=table - -module("ext") - --- Returns true if all pairs in table1 are present in table2 -function match(table1, table2) - for k, v in pairs(table1) do - if table[k] ~= v and not table2[k]:find(v) then - return false - end - end - - return true -end - ---- Spawns cmd if no client can be found matching properties --- If such a client can be found, pop to first tag where it is --- visible, and give it focus -function run_or_raise(cmd, properties) - local clients = client.get() - local focused = awful.client.next(0) - local findex = 0 - local matched_clients = { } - local n = 0 - - for i, c in pairs(clients) do - -- make an array of matched clients - if match(properties, c) then - n = n + 1 - matched_clients[n] = c - - if n == focused then - findex = n - end - end - end - - if n > 0 then - local c = matched_clients[1] - - -- if the focused window matched switch focus to next in list - if 0 < findex and findex < n then - c = matched_clients[findex + 1] - end - - local ctags = c:tags() - - if table.getn(ctags) == 0 then - -- ctags is empty, show client on current tag - local curtag = awful.tag.selected() - awful.client.movetotag(curtag, c) - else - -- Otherwise, pop to first tag client is visible on - awful.tag.viewonly(ctags[1]) - end - - -- And then focus the client - client.focus = c - c:raise() - awful.screen.focus(c.screen) - return - end - awful.util.spawn(cmd) -end - -function prev_client() - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end -end - -function next_client() - awful.client.focus.byidx(1) - if client.focus then - client.focus:raise() - end -end diff --git a/.config/awesome/infoline.lua b/.config/awesome/infoline.lua deleted file mode 100644 index 2b8e00c..0000000 --- a/.config/awesome/infoline.lua +++ /dev/null @@ -1,183 +0,0 @@ --- -*- coding: utf-8 -*- --------------------------------------------------------------------------------- --- @author Nicolas Berthier <nberthier@gmail.com> --- @copyright 2010 Nicolas Berthier --------------------------------------------------------------------------------- --- --- This is a module for defining infolines in awesome. An infoline is a wibox --- attached to a region (typically, a client or the root window). --- --- Remarks: --- --- - It has not been tested with multiple screens yet. --- --- Example usage: (TODO --- read the comments for now, there are not many --- functions) --- --------------------------------------------------------------------------------- - ---{{{ Grab environment (mostly aliases) -local setmetatable = setmetatable -local ipairs = ipairs -local type = type -local pairs = pairs -local string = string -local print = print -local error = error -local io = io - -local client = client -local awesome = awesome -local wibox = wibox -local widget = widget -local root = root -local screen = screen -local mouse = mouse ---}}} - -module ("infoline") - --- Privata data: we use weak keys in order to allow collection of private data --- if keys (clients) are collected (i.e., no longer used, after having been --- killed for instance). --- --- XXX: For now, we have at most one infoline per client, but it could be --- interesting to create several types of infolines (identified by indexes to be --- allocated by this module), and associated to, e.g., different configuration --- flags and positioning routine... -local data = setmetatable ({}, { __mode = 'k' }) - ---{{{ Infoline positioning - --- XXX: this is a hack that positions an infoline at the bottom of a given area. -local function setup_position (wb, geom) - local b = wb:geometry () - b.x = geom.x - b.width = geom.width - b.y = geom.y + geom.height - awesome.font_height - b.height = awesome.font_height - wb:geometry (b) -end - ---}}} - ---{{{ Configurations: - --- When true, this flag indicates that an infoline is hidden if its attached --- client loses its focus. Otherwise, it remains always visible. -follow_focus = true - ---}}} - ---{{{ Infoline updates - -function get_text (il) return il.wb.widgets[1].text end -function set_text (il, text) il.wb.widgets[1].text = text end - --- Forces a refresh of the given infoline. -function update (il) - local wb = il.wb - local c = il.cli - - if il.enabled then - -- XXX: Note this could be much better if we had some sort of root and - -- client interface unification: the following involves a priori useless - -- code duplication... - if c == root then - wb.screen = mouse.screen -- XXX: is this the behavior we need? - wb.visible = true - setup_position (wb, screen[mouse.screen].workarea) - else - if c:isvisible () and (not follow_focus or client.focus == c) then - wb.screen = c.screen - wb.visible = true - setup_position (wb, c:geometry ()) - else -- do we have to hide it? - wb.visible = false - end - end - elseif wb.visible then --otherwise we need to hide it. - wb.visible = false - end -end - -local function update_from_client (c) - -- Note that we may not have an infoline for this client, hence the - -- conditional... - if data[c] then update (data[c]) end -end - --- Force execution of the above function on client state modification. -client.add_signal ("focus", update_from_client) -client.add_signal ("unfocus", update_from_client) -client.add_signal ("unmanage", update_from_client) - ---}}} - ---{{{ Infoline management - ---- Creates a new infoline, with the given initial text. Note it is not visible ---- by default, and not attached to any client. -function new (text) - local il = { - wb = wibox ({ - ontop = true, -- XXX: setting a depth when attaching to - --a client would be much better - widgets = { - widget ({ type = "textbox", align="left" }) - }, - }) - } - -- these will remain false until the infoline is attached to a client. - il.wb.visible = false - il.enabled = false - set_text (il, text or "") - return il -end - --- Attached infolines will react to the following client-related signals, and --- automatically setup their position according to the client's geometry. -local csignals = { "property::geometry", "property::minimized", - "property::visible", "property::focus", "property::screen", } - --- Attaches an infoline to a client. Note the infoline becomes visible at that --- time, if the client is currently visible (and if it has focus, when --- `follow_focus' holds). -function attach (il, c) - data[c] = il - il.cli = c - il.enabled = true - update (il) - if c ~= root then - -- subscribe to client-related signals - for _, s in ipairs (csignals) do - c:add_signal (s, update_from_client) - end - end -end - ---- Detach the given infoline from its client, if any. -function dispose (il) - local c = il.cli - if c then -- note c can be nil here, if the given infoline has not been - --attached to any client... - il.enabled = false - update (il) -- a shortcut here would be: `il.wb.visible = false' - data[c] = nil - if c ~= root then - -- unsubscribe from client-related signals - for _, s in ipairs (csignals) do - c:remove_signal (s, update_from_client) - end - end - end -end - ---}}} - --- Local variables: --- indent-tabs-mode: nil --- fill-column: 80 --- lua-indent-level: 4 --- End: --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80 diff --git a/.config/awesome/keychain.lua b/.config/awesome/keychain.lua deleted file mode 100644 index 86ce7b2..0000000 --- a/.config/awesome/keychain.lua +++ /dev/null @@ -1,334 +0,0 @@ --- -*- coding: utf-8 -*- --------------------------------------------------------------------------------- --- @author Nicolas Berthier <nberthier@gmail.com> --- @copyright 2010 Nicolas Berthier --------------------------------------------------------------------------------- --- --- This is a module for defining keychains à la emacs in awesome. I was also --- inspired by ion3 behavior when designing it. --- --- Remarks: --- --- - This module does not handle `release' key bindings, but is it useful for --- keychains? --- --- - It has not been tested with multiple screens yet. --- --- - There might (... must) be incompatibilities with the shifty module. Also, --- defining global and per-client keychains with the same prefix is not --- allowed (or leads to unspecified behaviors... --- in practice: the --- per-client ones are ignored). However, I do think separation of per-client --- and global keys is a bad idea if client keys do not have a higher priority --- than the global ones... --- --- Example usage: see `rc.lua' file. --- --------------------------------------------------------------------------------- - ---{{{ Grab environment (mostly aliases) -local setmetatable = setmetatable -local ipairs = ipairs -local type = type -local pairs = pairs -local string = string -local print = print -local error = error -local io = io - -local capi = capi -local client = client -local awesome = awesome -local root = root - -local akey = require ("awful.key") -local join = awful.util.table.join -local clone = awful.util.table.clone ---}}} - -module ("keychain") - --- Privata data: we use weak keys in order to allow collection of private data --- if keys (clients) are collected (i.e., no longer used, after having been --- killed for instance) -local data = setmetatable ({}, { __mode = 'k' }) - ---{{{ Functional Tuples --- see http://lua-users.org/wiki/FunctionalTuples for details - ---- Creates a keystroke representation to fill the `escape' table configuration ---- property. --- @param m Modifiers table. --- @param k The key itself. --- @return A keystroke representation (only for the escape sequence, for now?). -function keystroke (m, k) - if type (m) ~= "table" then - error ("Keystroke modifiers must be given a table (got a ".. - type (m)..")") - end - if type (k) ~= "string" then - error ("Keystroke key must be given a string (got a ".. - type (m)..")") - end - return function (fn) return fn (m, k) end -end - --- keystroke accessors -local function ks_mod (_m, _k) return _m end -local function ks_key (_m, _k) return _k end - --- --- - ---- Creates a final keychain binding to fill the keychain binding tables, ---- meaning that the given function will be executed at the end of the keychain. --- @param m Modifiers table. --- @param k The key. --- @param cont The function to be bound to the given keys. --- @return A "final" key binding. -function key (m, k, cont) - if type (cont) ~= "function" then - error ("Final binding must be given a function (got a ".. - type (cont)..")") - end - return function (fn) return fn (keystroke (m, k), cont, true) end -end - ---- Creates an intermediate (prefix) keychain binding. --- @param m Modifiers table. --- @param k The key. --- @param sub The subchain description table to be bound to the given keys. --- @return An "intermediate" key binding. -function subchain (m, k, sub) - if type (sub) ~= "table" then - error ("Subchain binding must be given a table (got a ".. - type (sub)..")") - end - return function (fn) return fn (keystroke (m, k), sub, false) end -end - --- key/subchain binding accessors -local function binding_ks (ks, cont, leaf) return ks end -local function binding_cont (ks, cont, leaf) return cont end -local function binding_leaf (ks, cont, leaf) return leaf end - ---- Creates an intermediate keychain if sub is a table, or a final key binding ---- otherwise (and then sub must be a function). --- @param m Modifiers table. --- @param k The key. --- @param sub Either the subchain description table, or the function, to be --- bound to the given keys. -function sub (m, k, sub) - if type (sub) == "table" then - return subchain (m, k, sub) - else - return key (m, k, sub) - end -end - ---}}} - ---{{{ Default values - ---- Default escape sequences (S-g is inspired by emacs...) -local escape_keystrokes = { - keystroke ( { }, "Escape" ), - keystroke ( { "Mod4" }, "g" ), -} - ---}}} - ---{{{ Key table management facilities - -local function set_keys (c, k) - if c == root then root.keys (k) else c:keys (k) end -end - -local function keys_of (c) - if c == root then return root.keys () else return c:keys () end -end - ---}}} - ---{{{ Signal emission helper - -local function notif (sig, w, ...) - if w ~= root then - client.emit_signal (sig, w, ...) - else -- we use global signals otherwise - awesome.emit_signal (sig, ...) - end -end - ---}}} - ---{{{ Client/Root-related state management - -local function init_client_state_maybe (w) - if data[w] == nil then - local d = { } - d.keys = keys_of (w) -- save client keys - data[w] = d -- register client - notif ("keychain::enter", w) - end -end - -local function restore_client_state (c) - local w = c or root - local d = data[w] - -- XXX: Turns out that `d' can be nil already here, in case the keyboard has - -- been grabbed since the previous call to this funtion... (that also seems - -- to be called again upon release…) - if d then - set_keys (w, d.keys) -- restore client keys - data[w] = nil -- unregister client - end -end - -local function leave (c) - local w = c or root - - -- Destroy notifier structures if needed - if data[w] then -- XXX: necessary test? - notif ("keychain::leave", w) - end -end - --- force disposal of resources when clients are killed -client.add_signal ("unmanage", leave) - ---}}} - ---{{{ Key binding tree access helpers - -local function make_on_entering (m, k, subchain) return - function (c) - local w = c or root - - -- Register and initialize client state, if not already in a keychain - init_client_state_maybe (w) - - -- Update notifier text, and trigger its drawing if necessary - notif ("keychain::append", w, m, k) - - -- Setup subchain - set_keys (w, subchain) - end -end - -local function on_leaving (c) - -- Trigger disposal routine - leave (c) - - -- Restore initial key mapping of client - restore_client_state (c) -end - ---}}} - ---{{{ Configuration - --- Flag to detect late initialization error -local already_used = false - --- Escape binding table built once upon initialization -local escape_bindings = { } - ---- Fills the escape bindings table with actual `awful.key' elements triggering ---- execution of `on_leaving'. -local function init_escape_bindings () - escape_bindings = { } - for _, e in ipairs (escape_keystrokes) do - escape_bindings = join (escape_bindings, - akey (e (ks_mod), e (ks_key), on_leaving)) - end -end - --- Call it once upon module loading to initialize escape_bindings (in case --- `init' is not called). -init_escape_bindings () - - ---- Initializes the keychain module, with given properties; to be called before ---- ANY other function of this module. --- Configurations fields include: --- --- `escapes': A table of keystrokes (@see keychain.keystroke) escaping keychains --- (defaults are `Mod4-g' and `Escape'). --- --- @param c The table of properties. -function init (c) - local c = c or { } - - if already_used then - -- heum... just signal the error: "print" or "error"? - return print ("E: keychain: Call to `init' AFTER having bound keys!") - end - - escape_keystrokes = c.escapes and c.escapes or escape_keystrokes - - -- Now, fill the escape bindings table again with actual `awful.key' - -- elements triggering `on_leaving' executions, in case escape keys has - -- changed. - init_escape_bindings () -end - ---}}} - ---{{{ Keychain creation - ---- Creates a new keychain binding. --- @param m Modifiers table. --- @param k The key. --- @param chains A table of keychains, describing either final bindings (see --- key constructor) or subchains (see subchain constructor). If arg is not a --- table, then `awful.key' is called directly with the arguments. --- @return A key binding for the `awful.key' module. --- @see awful.key -function new (m, k, chains) - - -- If the argument is a function, then we need to return an actual awful.key - -- directly. - if type (chains) ~= "table" then - return akey (m, k, chains) - end - - -- This table will contain the keys to be mapped upon keystroke. It - -- initially contains the escape bindings, so that one can still rebind them - -- differently in `chains'. - local subchain = clone (escape_bindings) - - already_used = true -- subsequent init avoidance flag... - - -- For each entry of the given chains, add a corresponding `awful.key' - -- element in the subchain - for _, e in ipairs (chains) do - local ks = e (binding_ks) - if e (binding_leaf) then - -- We encountered a leaf in the chains. - local function on_leaf (c) on_leaving (c); e (binding_cont) (c) end - subchain = join (subchain, akey (ks (ks_mod), ks (ks_key), on_leaf)) - else - -- Recursively call subchain creation. "Funny" detail: I think there - -- is no way of creating ill-structured keychain descriptors that - -- would produce infinite recursive calls here, since we control - -- their creation with functional tuples, that cannot lead to cyclic - -- structures... - local subch = new (ks (ks_mod), ks (ks_key), e (binding_cont)) - subchain = join (subchain, subch) - end - end - - -- Then return an actual `awful.key', triggering the `on_entering' routine - return akey (m, k, make_on_entering (m, k, subchain)) -end ---}}} - --- Setup `__call' entry in module's metatable so that we can create new prefix --- binding using `keychain (m, k, ...)' directly. -setmetatable (_M, { __call = function (_, ...) return new (...) end }) - --- Local variables: --- indent-tabs-mode: nil --- fill-column: 80 --- lua-indent-level: 4 --- End: --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80 diff --git a/.config/awesome/oni.lua b/.config/awesome/oni.lua deleted file mode 100644 index 7cc5df1..0000000 --- a/.config/awesome/oni.lua +++ /dev/null @@ -1,73 +0,0 @@ -local awful = awful -local beautiful = beautiful -local client = client -local ext = require("ext") -local lfs = require("lfs") -local pairs = pairs -local string = string -local table = table -local widget = widget - -module("oni") - -local maildirfmt = "/home/slash/documents/mail/%s/inbox/new/" - -function mailcount(account) - local i = 0 - local dir = string.format(maildirfmt, account) - - for file in lfs.dir(dir) do - if file ~= "." and file ~= ".." then - i = i + 1 - end - end - - return i -end - -local function showmail(name) - awful.util.spawn("emacsclient -e '(oni:view-mail \"" .. name .. "\")'") -end - -function mailcount_widgets(label, account, name) - widgets = {} - widgets.label = widget({ type = "textbox" }) - widgets.label.text = string.format(" %s: ", label) - widgets.count = widget({ type = "textbox" }) - widgets.count.text = string.format(" %d ", mailcount(account)) - widgets.count.bg = beautiful.bg_focus - widgets.count:buttons( - awful.util.table.join( - awful.button({ }, 1, function (c) showmail(name) end))) - - return widgets -end - -function focus_raise(direction) - awful.client.focus.bydirection(direction) - if client.focus then client.focus:raise() end -end - -function ror_browser() - ext.run_or_raise("conkeror", { class = "Conkeror" }) -end - -function ror_editor() - ext.run_or_raise("emacsclient -c -a emacs", { class = "Emacs" }) -end - -function ror_term() - ext.run_or_raise("urxvt", { class = "URxvt" }) -end - -function run_browser() - awful.util.spawn("conkeror") -end - -function run_editor() - awful.util.spawn("emacsclient -c -a emacs") -end - -function run_term() - awful.util.spawn("urxvt") -end diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua deleted file mode 100644 index 745721d..0000000 --- a/.config/awesome/rc.lua +++ /dev/null @@ -1,424 +0,0 @@ --- Standard awesome library -local gears = require("gears") -local awful = require("awful") --- 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") - -awful.rules = require("awful.rules") -require("awful.autofocus") - -local maildir_base = os.getenv("HOME") .. "/documents/mail/" - -function ror(program, cls) - local rorfunc = function () - local matcher = function (c) - return awful.rules.match(c, { class = cls }) - end - - awful.client.run_or_raise(program, matcher) - end - - return rorfunc -end - -function ror_combo(mod, key, program, class) - return awful.util.table.join( - awful.key(mod, key, ror(program, class)), - awful.key(awful.util.table.join(mod, { "Shift" }), key, - function () awful.util.spawn(program) end)) -end - -function new_mail(maildir) - local count = 0 - - for file in lfs.dir(maildir_base .. maildir .. "/new") do - if file ~= "." and file ~= ".." then - count = count + 1 - end - end - - for file in lfs.dir(maildir_base .. maildir .. "/cur") do - if string.sub(file, -1) ~= "S" and file ~= "." - and file ~= ".." then - count = count + 1 - end - end - - return count -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, and wallpapers -beautiful.init("/usr/share/awesome/themes/default/theme.lua") - --- This is used later as the default terminal and editor to run. -terminal = "urxvt" -editor = os.getenv("EDITOR") or "nano" -editor_cmd = terminal .. " -e " .. 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 = -{ - awful.layout.suit.tile, - awful.layout.suit.tile.left, - awful.layout.suit.tile.bottom, - awful.layout.suit.tile.top, - awful.layout.suit.fair, - awful.layout.suit.fair.horizontal, - awful.layout.suit.spiral, - awful.layout.suit.spiral.dwindle, - awful.layout.suit.max, - awful.layout.suit.max.fullscreen, - awful.layout.suit.magnifier, - awful.layout.suit.floating -} - ------ Wallpaper -if beautiful.wallpaper then - for s = 1, screen.count() do - gears.wallpaper.maximized(beautiful.wallpaper, s, true) - end -end - ------ Tags --- Define a tag table which hold all screen tags. -tags = {} -for s = 1, 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 - ------ 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 = {} -mytasklist = {} - -mymaillist = wibox.widget.textbox() -mymaillist:set_text( - string.format(" ryu: %d gmail: %d aethon: %d 9f: %d", - new_mail('ryuslash.org/inbox'), - new_mail('gmail/inbox'), - new_mail('aethon/inbox'), - new_mail('ninthfloor/inbox'))) -mymaillisttimer = timer({ timeout = 60 }) -mymaillisttimer:connect_signal( - "timeout", - function () - mymaillist:set_text( - string.format(" ryu: %d gmail: %d aethon: %d 9f: %d", - new_mail('ryuslash.org/inbox'), - new_mail('gmail/inbox'), - new_mail('aethon/inbox'), - new_mail('ninthfloor/inbox'))) - end) -mymaillisttimer:start() - -mytodolist = wibox.widget.textbox() -mytodolist:set_text( - string.format(" ptodo: %d wtodo: %d", - awful.util.pread("todo-count t"), - awful.util.pread("todo-count w"))) -mytodolisttimer = timer({ timeout = 60 * 60 }) -mytodolisttimer:connect_signal( - "timeout", - function () - mytodolist:set_text( - string.format(" pers: %d work: %d", - awful.util.pread("todo-count t"), - awful.util.pread("todo-count w"))) - end) -mytodolisttimer:start() - -for s = 1, screen.count() do - -- Create a promptbox for each screen - mypromptbox[s] = awful.widget.prompt() - -- 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) - -- 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 = "top", 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(mytodolist) - right_layout:add(mymaillist) - right_layout:add(wibox.widget.systray()) - end - right_layout:add(mytextclock) - right_layout:add(mylayoutbox[s]) - - -- 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 - ------ Key bindings -globalkeys = awful.util.table.join( - awful.key({ modkey, }, "Left", awful.tag.viewprev), - awful.key({ modkey, }, "Right", awful.tag.viewnext), - awful.key({ modkey, }, "Escape", awful.tag.history.restore), - - awful.key({ modkey, }, "n", - function () - awful.client.focus.byidx(1) - if client.focus then client.focus:raise() end - end), - awful.key({ modkey, }, "p", - function () - awful.client.focus.byidx(-1) - if client.focus then client.focus:raise() end - end), - - -- 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, "Control" }, "n", - function () awful.screen.focus_relative(1) end), - awful.key({ modkey, "Control" }, "p", - function () awful.screen.focus_relative(-1) end), - awful.key({ modkey, }, "u", awful.client.urgent.jumpto), - awful.key({ modkey, }, "Tab", - function () - awful.client.focus.history.previous() - if client.focus then - client.focus:raise() - end - end), - - -- 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, }, "l", - 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" }, "l", - function () awful.tag.incnmaster(-1) end), - awful.key({ modkey, "Control" }, "h", - function () awful.tag.incncol(1) end), - awful.key({ modkey, "Control" }, "l", - 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), - - awful.key({ modkey, "Control" }, "j", awful.client.restore), - - -- 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), - - ror_combo({ modkey }, "e", 'emacsclient -ca emacs', 'Emacs'), - ror_combo({ modkey }, "c", 'urxvt', 'URxvt'), - ror_combo({ modkey }, "w", 'conkeror', 'Conkeror'), - awful.key({ "Control", "Mod1" }, "l", - function () awful.util.spawn('i3lock -c 000000') 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", - function () awful.screen.focus_relative(1) end), - awful.key({ modkey, "Shift" }, "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)) - --- Compute the maximum number of digit we need, limited to 9 -keynumber = 0 -for s = 1, screen.count() do - keynumber = math.min(9, math.max(#tags[s], keynumber)) -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, keynumber do - globalkeys = awful.util.table.join( - globalkeys, - awful.key({ modkey }, "#" .. i + 9, - function () - local screen = mouse.screen - if tags[screen][i] then - awful.tag.viewonly(tags[screen][i]) - end - end), - awful.key({ modkey, "Control" }, "#" .. i + 9, - function () - local screen = mouse.screen - if tags[screen][i] then - awful.tag.viewtoggle(tags[screen][i]) - end - end), - awful.key({ modkey, "Shift" }, "#" .. i + 9, - function () - if client.focus and tags[client.focus.screen][i] then - awful.client.movetotag(tags[client.focus.screen][i]) - end - end), - awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, - function () - if client.focus and tags[client.focus.screen][i] then - awful.client.toggletag(tags[client.focus.screen][i]) - end - end)) -end - --- Set keys -root.keys(globalkeys) - ------ Rules -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, - keys = clientkeys } }, - { rule = { class = "pinentry" }, - properties = { floating = true } }, - { rule = { class = "gimp" }, - properties = { floating = true } }, - { rule = { class = "Conkeror" }, - properties = { floating = false, - tag = tags[2][1] } }, - -- Set Firefox to always map on tags number 2 of screen 1. - -- { rule = { class = "Firefox" }, - -- properties = { tag = tags[1][2] } }, -} - ------ Signals --- 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. - -- awful.client.setslave(c) - - -- 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( - "focus", function(c) c.border_color = beautiful.border_focus end) -client.connect_signal( - "unfocus", function(c) c.border_color = beautiful.border_normal end) diff --git a/.config/awesome/themes/Makefile b/.config/awesome/themes/Makefile deleted file mode 100644 index 2c32a7e..0000000 --- a/.config/awesome/themes/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=themes -modules=custom - -include ../../../dotfiles.mk diff --git a/.config/awesome/themes/custom/Makefile b/.config/awesome/themes/custom/Makefile deleted file mode 100644 index c5e3982..0000000 --- a/.config/awesome/themes/custom/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=custom -objects=theme.lua - -include ../../../../dotfiles.mk diff --git a/.config/awesome/themes/custom/README b/.config/awesome/themes/custom/README deleted file mode 100644 index 1ddb349..0000000 --- a/.config/awesome/themes/custom/README +++ /dev/null @@ -1,3 +0,0 @@ -Background images: - Mikael Eriksson - Licensed under CC-BY-SA-3.0 diff --git a/.config/awesome/themes/custom/theme.lua b/.config/awesome/themes/custom/theme.lua deleted file mode 100644 index c65edc8..0000000 --- a/.config/awesome/themes/custom/theme.lua +++ /dev/null @@ -1,96 +0,0 @@ ---------------------------- --- Default awesome theme -- ---------------------------- - -theme = {} - -theme.font = "osaka_unicode 10" - -theme.bg_normal = "#222222" -theme.bg_focus = "#535d6c" -theme.bg_urgent = "#ff0000" -theme.bg_minimize = "#444444" - -theme.fg_normal = "#aaaaaa" -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|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 = "/home/slash/.config/awesome/themes/custom/taglist/squarefw.png" -theme.taglist_squares_unsel = "/home/slash/.config/awesome/themes/custom/taglist/squarew.png" - -theme.tasklist_floating_icon = "/home/slash/.config/awesome/themes/custom/tasklist/floatingw.png" - --- Variables set for theming the menu: --- menu_[bg|fg]_[normal|focus] --- menu_[border_color|border_width] -theme.menu_submenu_icon = "/home/slash/.config/awesome/themes/custom/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 = "/home/slash/.config/awesome/themes/custom/titlebar/close_normal.png" -theme.titlebar_close_button_focus = "/home/slash/.config/awesome/themes/custom/titlebar/close_focus.png" - -theme.titlebar_ontop_button_normal_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/ontop_normal_inactive.png" -theme.titlebar_ontop_button_focus_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/ontop_focus_inactive.png" -theme.titlebar_ontop_button_normal_active = "/home/slash/.config/awesome/themes/custom/titlebar/ontop_normal_active.png" -theme.titlebar_ontop_button_focus_active = "/home/slash/.config/awesome/themes/custom/titlebar/ontop_focus_active.png" - -theme.titlebar_sticky_button_normal_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/sticky_normal_inactive.png" -theme.titlebar_sticky_button_focus_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/sticky_focus_inactive.png" -theme.titlebar_sticky_button_normal_active = "/home/slash/.config/awesome/themes/custom/titlebar/sticky_normal_active.png" -theme.titlebar_sticky_button_focus_active = "/home/slash/.config/awesome/themes/custom/titlebar/sticky_focus_active.png" - -theme.titlebar_floating_button_normal_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/floating_normal_inactive.png" -theme.titlebar_floating_button_focus_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/floating_focus_inactive.png" -theme.titlebar_floating_button_normal_active = "/home/slash/.config/awesome/themes/custom/titlebar/floating_normal_active.png" -theme.titlebar_floating_button_focus_active = "/home/slash/.config/awesome/themes/custom/titlebar/floating_focus_active.png" - -theme.titlebar_maximized_button_normal_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/maximized_normal_inactive.png" -theme.titlebar_maximized_button_focus_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/maximized_focus_inactive.png" -theme.titlebar_maximized_button_normal_active = "/home/slash/.config/awesome/themes/custom/titlebar/maximized_normal_active.png" -theme.titlebar_maximized_button_focus_active = "/home/slash/.config/awesome/themes/custom/titlebar/maximized_focus_active.png" - --- You can use your own command to set your wallpaper -theme.wallpaper_cmd = { "awsetbg -u feh -c /usr/share/archlinux/wallpaper/archlinux-simplyblack.png" } - --- You can use your own layout icons like this: -theme.layout_fairh = "/home/slash/.config/awesome/themes/custom/layouts/fairhw.png" -theme.layout_fairv = "/home/slash/.config/awesome/themes/custom/layouts/fairvw.png" -theme.layout_floating = "/home/slash/.config/awesome/themes/custom/layouts/floatingw.png" -theme.layout_magnifier = "/home/slash/.config/awesome/themes/custom/layouts/magnifierw.png" -theme.layout_max = "/home/slash/.config/awesome/themes/custom/layouts/maxw.png" -theme.layout_fullscreen = "/home/slash/.config/awesome/themes/custom/layouts/fullscreenw.png" -theme.layout_tilebottom = "/home/slash/.config/awesome/themes/custom/layouts/tilebottomw.png" -theme.layout_tileleft = "/home/slash/.config/awesome/themes/custom/layouts/tileleftw.png" -theme.layout_tile = "/home/slash/.config/awesome/themes/custom/layouts/tilew.png" -theme.layout_tiletop = "/home/slash/.config/awesome/themes/custom/layouts/tiletopw.png" -theme.layout_spiral = "/home/slash/.config/awesome/themes/custom/layouts/spiralw.png" -theme.layout_dwindle = "/home/slash/.config/awesome/themes/custom/layouts/dwindlew.png" - -theme.awesome_icon = "/usr/share/awesome/icons/awesome16.png" - -return theme --- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/.config/clfswm/Makefile b/.config/clfswm/Makefile deleted file mode 100644 index 974bea3..0000000 --- a/.config/clfswm/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=clfswm -objects=clfswmrc - -include ../../dotfiles.mk diff --git a/.config/clfswm/clfswmrc b/.config/clfswm/clfswmrc deleted file mode 100644 index f69623e..0000000 --- a/.config/clfswm/clfswmrc +++ /dev/null @@ -1,25 +0,0 @@ -;; -*- mode: lisp; -*- -(in-package :clfswm) - -(defun start-i3lock () - "Run i3lock" - (do-shell "exec i3lock -c 000000")) - -(defun start-i3lock-2 () - "Run i3lock in second mode" - (setf *second-mode-leave-function* 'start-i3lock) - (leave-second-mode)) - -(defun my-bindings () - (define-main-key ("l" :mod-1 :control) 'start-i3lock) - (define-second-key ("l" :mod-1 :control) 'start-i3lock-2)) - -(add-hook *binding-hook* 'my-bindings) - -;; (defun my-init-hook () -;; (add-frame (create-frame :name "The Gimp" :x 0.6 :y 0 :w 0.3 :h 0.2) *root-frame*)) - -;;y (add-hook *init-hook* 'my-init-hook) - -;;(setf *frame-background* "#252a2b") -;;(setf *frame-foreground* "#eeeeec") diff --git a/.config/cower/Makefile b/.config/cower/Makefile deleted file mode 100644 index c7765dc..0000000 --- a/.config/cower/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=cower -objects=config - -include ../../dotfiles.mk diff --git a/.config/cower/config b/.config/cower/config deleted file mode 100644 index 6c24291..0000000 --- a/.config/cower/config +++ /dev/null @@ -1,3 +0,0 @@ -Color = always -TargetDir = /home/slash/var/aur/ -IgnoreRepo = pegas diff --git a/.config/dunst/Makefile b/.config/dunst/Makefile deleted file mode 100644 index 6076e74..0000000 --- a/.config/dunst/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=dunst -objects=dunstrc - -include ../../dotfiles.mk diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc deleted file mode 100644 index 76427ed..0000000 --- a/.config/dunst/dunstrc +++ /dev/null @@ -1,161 +0,0 @@ -# -*- mode: conf-unix; -*- -[global] - font = Monaco-12 - - # The format of the message. Possible variables are: - # %a appname - # %s summary - # %b body - # %i iconname (including its path) - # %I iconname (without its path) - # %p progress value if set ([ 0%] to [100%]) or nothing - format = "%s\n%b" - - # Sort messages by urgency - sort = yes - - # Show how many messages are currently hidden (because of geometry) - indicate_hidden = yes - - # alignment of message text. - # Possible values are "left", "center" and "right" - alignment = left - - # The frequency with wich text that is longer than the notification - # window allows bounces back and forth. - # This option conflicts with 'word_wrap'. - # Set to 0 to disable - bounce_freq = 0 - - # show age of message if message is older than show_age_threshold seconds. - # set to -1 to disable - show_age_threshold = 60; - - # split long notifications into multiple lines - word_wrap = yes - - - # the geometry of the window - # geometry [{width}]x{height}][+/-{x}+/-{y}] - # The geometry of the message window. - # The height is measured in lines everything else in pixels. If the width - # is omitted but the height is given ("-geometry x2"), the message window - # expands over the whole screen (dmenu-like). If width is 0, - # the window expands to the longest message displayed. - # A positive x is measured from the left, a negative from the - # right side of the screen. Y is measured from the top and down respectevly. - geometry = "0x3-30+20" - - # The transparency of the window. range: [0; 100] - # This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..) - transparency = 0 - - # Don't remove messages, if the user is idle (no mouse or keyboard input) - # for longer than idle_threshold seconds. - # Set to 0 to disable. - idle_threshold = 120 - - # Which monitor should the notifications be displayed on. - monitor = 0 - - # Display notification on focused monitor. Possible modes are: - # mouse: follow mouse pointer - # keyboard: follow window with keyboard focus - # none: don't follow anything - # - # "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property. - # This should be the case for almost all modern windowmanagers. - # - # If this option is set to mouse or keyboard, the monitor option will be - # ignored. - follow = none - - # should a notification popped up from history be sticky or - # timeout as if it would normally do. - sticky_history = yes - - # The height of a single line. If the height is smaller than the font height, - # it will get raised to the font height. - # This adds empty space above and under the text. - line_height = 0 - - # Draw a line of 'separatpr_height' pixel height between two notifications. - # Set to 0 to disable - separator_height = 2; - - # Define a color for the separator. - # This can either be "auto" or "foreground". "Auto" tries to find a color - # that fits nicely to the background color. - separator_color = auto - - -[shortcuts] - # shortcuts are specified as [modifier+][modifier+]...key - # available modifiers are 'ctrl', 'mod1' (the alt-key), 'mod2', 'mod3' - # and 'mod4' (windows-key) - # xev might be helpful to find names for keys - - # close notification - close = ctrl+space - - # close all notifications - close_all = ctrl+shift+space - - # redisplay last message(s) - # On the US keyboard layout 'grave' is normally above TAB and left of '1'. - history = ctrl+grave - -[urgency_low] - # IMPORTANT: colors have to be defined in quotation marks. - # Otherwise the '#' and following would be interpreted as a comment. - background = "#405c2e" - foreground = "#eeeeec" - timeout = 10 - -[urgency_normal] - background = "#222224" - foreground = "#eeeeec" - timeout = 10 - -[urgency_critical] - background = "#973732" - foreground = "#eeeeec" - timeout = 0 - - -# Every section that isn't one of the above is interpreted as a rules -# to override settings for certain messages. -# Messages can be matched by 'appname', 'summary', 'body' or 'icon' -# and you can override the 'timeout', 'urgency', 'foreground', 'background' -# and 'format'. -# Shell-like globbing will get expanded. -# -# NOTE: if you don't want a notification to be displayed, set the format to "" -# NOTE: It might be helpful to run dunst -print in a terminal in order to find -# fitting options for rules. - -#[ignore] -## This notification will not be displayed -# summary = "foobar" -# format = "" - -#[signed_on] -# appname = Pidgin -# summary = "*signed on*" -# urgency = low -# -#[signed_off] -# appname = Pidgin -# summary = *signed off* -# urgency = low -# -#[says] -# appname = Pidgin -# summary = *says* -# urgency = critical -# -#[twitter] -# appname = Pidgin -# summary = *twitter.com* -# urgency = normal -# diff --git a/.config/fehlstart/Makefile b/.config/fehlstart/Makefile deleted file mode 100644 index 0c6998d..0000000 --- a/.config/fehlstart/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=fehlstart -objects=fehlstart.rc - -include ../../dotfiles.mk diff --git a/.config/fehlstart/fehlstart.rc b/.config/fehlstart/fehlstart.rc deleted file mode 100644 index 6810f50..0000000 --- a/.config/fehlstart/fehlstart.rc +++ /dev/null @@ -1,22 +0,0 @@ - -[Bindings] -launch=r - -[Matching] -strict=false -executable=true - -[Update] -interval=15 - -[Icons] -show=true -cache=true - -[Border] -color=#000000 -width=1 - -[Window] -width=200 -height=100 diff --git a/.config/fish/Makefile b/.config/fish/Makefile deleted file mode 100644 index cdce7a6..0000000 --- a/.config/fish/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=fish -objects=config.fish - -include ../../dotfiles.mk diff --git a/.config/fish/config.fish b/.config/fish/config.fish deleted file mode 100644 index f515917..0000000 --- a/.config/fish/config.fish +++ /dev/null @@ -1,76 +0,0 @@ -function fish_prompt -d "Write out the prompt" - set last_status $status - set current_directory (prompt_pwd) - set git_branch (git branch --contains HEAD 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/') - set cnormal (set_color white) - - echo -n $cnormal - - printf '%s%s%s' (set_color magenta) (hostname|cut -d . -f 1) $cnormal - - if test -n "$current_directory" - printf ' %s%s%s' (set_color $fish_color_cwd) $current_directory $cnormal - end - - if test -n "$git_branch" - printf '@%s%s%s' (set_color yellow) $git_branch $cnormal - end - - if test $last_status -eq 0 - printf '%s' (set_color --bold green) - else - printf '%s' (set_color --bold red) - end - - printf '>%s ' (set_color normal) -end - -function grep - /bin/grep --color=always $argv -end - -function less - /bin/less -FXRS $argv -end - -function ls - /bin/ls -F --color=always $argv -end - -function mysql - /usr/bin/mysql --pager $argv -end - -function slrn - set -x NNTPSERVER 'news.gmane.org' - /usr/bin/slrn $argv -end - -function shutdown - dbus-send --system --print-reply \ - --dest="org.freedesktop.ConsoleKit" \ - /org/freedesktop/ConsoleKit/Manager \ - org.freedesktop.ConsoleKit.Manager.Stop -end - -function reboot - dbus-send --system --print-reply \ - --dest="org.freedesktop.ConsoleKit" \ - /org/freedesktop/ConsoleKit/Manager \ - org.freedesktop.ConsoleKit.Manager.Restart -end - -function engage - play -n -c1 synth whitenoise band -n 100 20 band -n 50 20 gain +25 fade h 1 864000 1 -end - -function lscompmod -d "List kernel modules used by hardware" - lspci -mvk | awk '/^Module/ {print $2}' | sort -u -end - -set -x PAGER 'less -FXRS' -set -x BROWSER conkeror -set -x EDITOR 'emacsclient -c -a emacs' -set -x PATH ~/usr/bin $PATH /sbin /usr/sbin /usr/local/emacs/bin/ \ - /usr/local/bin /usr/local/stumpwm/bin /usr/local/scwm/bin \ - /usr/local/clfswm/bin /opt/plan9/bin diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf deleted file mode 100644 index 6204d1f..0000000 --- a/.config/fontconfig/fonts.conf +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - true - - - - true - - - - hintslight - - - - rgb - - - - true - - - - - - lcddefault - - - - diff --git a/.config/herbstluftwm/Makefile b/.config/herbstluftwm/Makefile deleted file mode 100644 index e8f232f..0000000 --- a/.config/herbstluftwm/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -SUBDIR=herbstluftwm -objects=autostart panel.sh - -include ../../dotfiles.mk - -install-autostart: MODE=744 diff --git a/.config/herbstluftwm/autostart b/.config/herbstluftwm/autostart deleted file mode 100755 index a74f1aa..0000000 --- a/.config/herbstluftwm/autostart +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/bash - -# this is a simple config for herbstluftwm - -function hc() { - herbstclient "$@" -} - -hc emit_hook reload - -# remove all existing keybindings -hc keyunbind --all - -# keybindings -Mod=Mod4 -hc keybind $Mod-Shift-q quit -hc keybind $Mod-Shift-r reload -hc keybind $Mod-Shift-c close - -hc keybind $Mod-c spawn urxvt -hc keybind $Mod-e spawn emacsclient -ca emacs -hc keybind $Mod-w spawn conkeror - -# tags -TAG_NAMES=( {1..9} ) -TAG_KEYS=( {1..9} 0 ) - -hc rename default "${TAG_NAMES[0]}" || true -for i in ${!TAG_NAMES[@]} ; do - hc add "${TAG_NAMES[$i]}" - key="${TAG_KEYS[$i]}" - if ! [ -z "$key" ] ; then - hc keybind "$Mod-$key" use_index "$i" - hc keybind "$Mod-Shift-$key" move_index "$i" - fi -done - -# cycle through tags -hc keybind $Mod-period use_index +1 --skip-visible -hc keybind $Mod-comma use_index -1 --skip-visible -hc keybind $Mod-Right use_index +1 --skip-visible -hc keybind $Mod-Left use_index -1 --skip-visible - -# layouting -hc keybind $Mod-r remove -hc keybind $Mod-space cycle_layout 1 -hc keybind $Mod-u split vertical 0.5 -hc keybind $Mod-o split horizontal 0.5 -hc keybind $Mod-s floating toggle -# hc keybind $Mod-f fullscreen toggle -# hc keybind $Mod-p pseudotile toggle - -# resizing -RESIZESTEP=0.05 -hc keybind $Mod-Control-h resize left +$RESIZESTEP -hc keybind $Mod-Control-j resize down +$RESIZESTEP -hc keybind $Mod-Control-k resize up +$RESIZESTEP -hc keybind $Mod-Control-l resize right +$RESIZESTEP - -# mouse -hc mouseunbind --all -hc mousebind $Mod-Button1 move -hc mousebind $Mod-Button2 resize -hc mousebind $Mod-Button3 zoom - -# focus -hc keybind $Mod-BackSpace cycle_monitor -hc keybind $Mod-Tab cycle_all +1 -hc keybind $Mod-Shift-Tab cycle_all -1 -# hc keybind $Mod-c cycle -hc keybind $Mod-b focus left -hc keybind $Mod-n focus down -hc keybind $Mod-p focus up -hc keybind $Mod-f focus right -hc keybind $Mod-i jumpto urgent -hc keybind $Mod-Shift-h shift left -hc keybind $Mod-Shift-j shift down -hc keybind $Mod-Shift-k shift up -hc keybind $Mod-Shift-l shift right - -# colors -hc set frame_border_active_color '#222222' -hc set frame_border_normal_color '#101010' -hc set frame_bg_normal_color '#565656' -hc set frame_bg_active_color '#345F0C' -hc set frame_border_width 1 -hc set window_border_width 3 -hc set window_border_inner_width 1 -hc set window_border_normal_color '#454545' -hc set window_border_active_color '#9fbc00' -hc set always_show_frame 1 -hc set frame_gap 4 -# add overlapping window borders -hc set window_gap -2 -hc set frame_padding 2 -hc set smart_window_surroundings 0 -hc set smart_frame_surroundings 1 -hc set mouse_recenter_gap 0 - - -# rules -hc unrule -F -#hc rule class=XTerm tag=3 # move all xterms to tag 3 -hc rule focus=off # normally do not focus new clients -# give focus to most common terminals -hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on -hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on -hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on -hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK)' manage=off - -# unlock, just to be sure -hc unlock - -herbstclient set tree_style '╾│ ├└╼─┐' - -# do multi monitor setup here, e.g.: -# hc set_monitors 1280x1024+0+0 1280x1024+1280+0 -# or simply: -# hc detect_monitors - -hc set_monitors 1920x1080+0+0 1680x1050+1920+0 -hc pad 0 21 diff --git a/.config/herbstluftwm/panel.sh b/.config/herbstluftwm/panel.sh deleted file mode 100755 index 22b46ae..0000000 --- a/.config/herbstluftwm/panel.sh +++ /dev/null @@ -1,150 +0,0 @@ -#!/bin/bash - -monitor=${1:-0} -monitor2=1 -geometry=( $(herbstclient monitor_rect "$monitor") ) -if [ -z "$geometry" ] ;then - echo "Invalid monitor $monitor" - exit 1 -fi -# geometry has the format: WxH+X+Y -x=${geometry[0]} -width=${geometry[2]} -height=12 -y=0 #$(expr ${geometry[3]} - $height) -tag_width=40 -font="-misc-tamsyn-medium-r-normal-*-14-*-*-*-*-*-iso8859-*" - -selcolor='#24c6e0' -locolor='#657b83' -bgcolor='#002b36' -hicolor="#808080" -urcolor="#e0c625" - -function uniq_linebuffered() { - awk '$0 != l { print ; l=$0 ; fflush(); }' "$@" -} - -function print_tags() { - # draw tags - echo -n "$separator" - for i in "${TAGS[@]}" ; do - if [[ "${TAGS2[@]}" == *"#${i:1}"* ]]; then - echo -n "^bg($selcolor)^fg(#000000) ${i:1} ^fg()^bg()" - elif [[ "${TAGS2[@]}" == *"+${i:1}"* ]]; then - echo -n "^bg($locolor)^fg(#000000) ${i:1} ^fg()^bg()" - else - case ${i:0:1} in - '#') - echo -n "^bg($selcolor)^fg(#000000) ${i:1} ^fg()^bg()" - ;; - '+') - echo -n "^bg($locolor)^fg(#000000) ${i:1} ^fg()^bg()" - ;; - ':') - echo -n "^bg($hicolor)^fg(#000000) ${i:1} ^fg()^bg()" - ;; - '!') - echo -n "^bg($urcolor)^fg(#000000) ${i:1} ^fg()^bg()" - ;; - *) - echo -n "^bg($bgcolor)^fg(#ffffff) ${i:1} ^fg()^bg()" - ;; - esac - fi - echo -n "$separator" - done -} - -function print_mailboxes() { - declare -A mailnames - mailboxes=(ninthfloor gmail aethon ryuslash.org) - mailnames=( - [ninthfloor]="9f" - [gmail]="gm" - [aethon]="aet" - [ryuslash.org]="ryu") - mailtxt="" - for j in "${mailboxes[@]}"; do - mailfile="$HOME/documents/mail/$j/inbox/new/" - mailcnt=$(ls $mailfile | wc -l) - - if [ $mailcnt -gt 0 ]; then - mailsha1=$(echo $j | sha1sum) - mailcolor="#${mailsha1:0:6}" - else - mailcolor=$bgcolor - fi - - mailtxt="$mailtxt${separator}^bg($mailcolor)^fg(#ffffff) ${mailnames[$j]} ^fg()^bg()" - done - mailtxt_only=$(echo -n "$mailtxt" | sed 's.\^[^(]*([^)]*)..g') - let mailtxt_width=$(textwidth "$font" "$mailtxt_only")+10 - echo -n "^p(_RIGHT)^p(-$mailtxt_width)$mailtxt" -} - -function print_services() { - services=(emacs httpd mysqld dunst xbindkeys mpdscribble sshd mpd) - servicetxt="" - for j in "${services[@]}"; do - servicetxt="$servicetxt$separator$(status $j)" - done - servicetxt_only=$(echo -n "$servicetxt" | sed 's.\^[^(]*([^)]*)..g') - let servicetxt_width=($(textwidth "$font" "$servicetxt_only")+7)/2 - - echo -n "^p(_CENTER)^p(-$servicetxt_width)$servicetxt" -} - -function status() -{ - running=$(${1}_running 2>/dev/null || pidof $1) - - if [ -n "$running" ]; then - color="darkgreen" - else - color="darkred" - fi - - echo -n "^bg($color)^fg(#ffffff) $1 ^fg()^bg()" -} - -function emacs_running() -{ - ps ax | awk '{ print $5 " " $6 }' | grep -E "^emacs --daemon" -} - -{ - childpid=$! - herbstclient --idle - kill $childpid -} 2> /dev/null | { - TAGS=( $(herbstclient tag_status $monitor) ) - TAGS2=( $(herbstclient tag_status $monitor2) ) - - separator="^fg($bgcolor)^ro(1x$height)^fg()" - print_tags - print_services - print_mailboxes - - echo - # wait for next event - read line || break - cmd=( $line ) - # find out event origin - case "${cmd[0]}" in - tag*) - TAGS=( $(herbstclient tag_status $monitor) ) - TAGS2=( $(herbstclient tag_status $monitor2) ) - ;; - quit_panel) - exit - ;; - esac - - sleep 1s -} 2> /dev/null | dzen2 -w $width -x $x -y $y -fn "$font" -h $height \ - -ta l -bg "$bgcolor" - -# Local Variables: -# eval: (git-auto-commit-mode 1) -# End: diff --git a/.config/newsbeuter/.gitignore b/.config/newsbeuter/.gitignore deleted file mode 100644 index 8afd898..0000000 --- a/.config/newsbeuter/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -cache.* -credentials -history.* diff --git a/.config/newsbeuter/Makefile b/.config/newsbeuter/Makefile deleted file mode 100644 index df228e9..0000000 --- a/.config/newsbeuter/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=newsbeuter -objects=config urls - -include ../../dotfiles.mk diff --git a/.config/newsbeuter/config b/.config/newsbeuter/config deleted file mode 100644 index 257f150..0000000 --- a/.config/newsbeuter/config +++ /dev/null @@ -1,27 +0,0 @@ - -auto-reload yes -reload-threads 3 -reload-time 60 - -browser firefox - -confirm-exit yes - -feedlist-format "%-35t %?d?- %-35d&? %> %u" -articlelist-format "%-4i %f %t" -feedlist-title-format "%N %V %> %u feeds with new articles" -articlelist-title-format "%T" - -max-items 500 - -show-read-feeds no -show-read-articles no - -html-renderer "w3m -dump -T text/HTML -cols 72" - -color listfocus default red -color info default black bold - -highlight article "^(Feed|Title|Author|Link|Date):.*" yellow default bold - -article-sort-order date-desc diff --git a/.config/newsbeuter/urls b/.config/newsbeuter/urls deleted file mode 100644 index 911e000..0000000 --- a/.config/newsbeuter/urls +++ /dev/null @@ -1,176 +0,0 @@ -# -*- mode: conf; eval: (git-auto-commit-mode 1) -*- -http://ryuslash.ninth.su/blog/blog.xml -#-----[ Followed projects ]------------------------------------------- -# https://github.com/ryuslash.private.atom?token=7362ca0604736cd92b5441949e8c9cd4 -# http://gitorious.org/~ryuslash/watchlist.atom - -#-----[ Blogs ]------------------------------------------------------- -# http://julien.danjou.info/blog/index.xml blogs -# http://kakaroto.homelinux.net/feed/ blogs -# http://awhan.wordpress.com/feed/ blogs -http://beej.us/blog/feed/ blogs -# http://torvalds-family.blogspot.com/feeds/posts/default blogs -# http://emacs.wordpress.com/feed/ blogs -http://feedproxy.google.com/SaferCode blogs -# http://blog.gitorious.org/feed/ blogs -# http://dieter.plaetinck.be/index.rss blogs -http://irreal.org/blog/?feed=rss2 - -# Reddit - -# http://www.reddit.com/r/announcements/new/.rss -# http://www.reddit.com/r/archlinux/new/.rss -# http://www.reddit.com/r/blog/new/.rss -# http://www.reddit.com/r/c_language/new/.rss -# http://www.reddit.com/r/C_Programming/new/.rss -# http://www.reddit.com/r/coding/new/.rss -# http://www.reddit.com/r/commandline/new/.rss -# http://www.reddit.com/r/cpp/new/.rss -# http://www.reddit.com/r/csharp/new/.rss -# http://www.reddit.com/r/django/new/.rss -# http://www.reddit.com/r/emacs/new/.rss -# http://www.reddit.com/r/ExpertProgramming/new/.rss -# http://www.reddit.com/r/Fedora/new/.rss -# http://www.reddit.com/r/git/new/.rss -# http://www.reddit.com/r/golang/new/.rss -# http://www.reddit.com/r/javascript/new/.rss -# http://www.reddit.com/r/linux/new/.rss -# http://www.reddit.com/r/linux_gaming/new/.rss -# http://www.reddit.com/r/LinuxHacking/new/.rss -# http://www.reddit.com/r/maemo/new/.rss -# http://www.reddit.com/r/n900/new/.rss -# http://www.reddit.com/r/opensource/new/.rss -# http://www.reddit.com/r/PHP/new/.rss -# http://www.reddit.com/r/programming/new/.rss -# http://www.reddit.com/r/Python/new/.rss -# http://www.reddit.com/r/scheme/new/.rss -# http://www.reddit.com/r/systems/new/.rss -# http://www.reddit.com/r/wayland/new/.rss - -#-----[ CVS Changes ]------------------------------------------------- -# http://git.naquadah.org/?p=naquadah-theme.git;a=rss cvs -#http://git.naquadah.org/?p=rainbow.git;a=rss cvs -# http://code.google.com/feeds/p/autopair/svnchanges/basic cvs -# http://git.cs.fau.de/?p=re06huxa/herbstluftwm;a=atom cvs -# https://github.com/knopwob/dunst/commits/master.atom cvs -# https://github.com/akrennmair/newsbeuter/commits/master.atom -# http://repo.or.cz/w/conkeror.git/atom -# https://github.com/mooz/keysnail/commits/master.atom - -#-----[ Programming ]------------------------------------------------- -# http://www.reddit.com/r/cpp/.rss devel -# http://services.devx.com/outgoing/devxfeed.xml devel -#http://www.dzone.com/feed/frontpage/rss.xml devel -# http://www.reddit.com/r/ExpertProgramming/.rss devel -# http://www.reddit.com/r/programming/.rss devel -# http://steve-yegge.blogspot.com/feeds/posts/default devel -# http://www.reddit.com/r/systems/.rss devel -# http://www.reddit.com/r/coding/.rss devel -# http://www.reddit.com/r/git/.rss devel -# http://www.reddit.com/r/C_Programming/.rss devel -# http://feeds.feedburner.com/FalloutTutorials devel -# http://www.devarticles.com/rss.xml devel -# http://www.script-tutorials.com/feed/rss/ -# http://news.ycombinator.com/rss -# https://www.djangoproject.com/rss/community/q-and-a/ - -#-----[ Linux and FLOSS ]--------------------------------------------- -# http://www.reddit.com/r/commandline/.rss linux -# http://www.desktoplinux.com/backend/headlines.rss linux -# http://distrowatch.com/news/dw.xml linux -# http://www.howtoforge.com/node/feed linux -# http://www.ibm.com/developerworks/views/linux/rss/libraryview.jsp?type_by=Articles linux -# http://www.ibm.com/developerworks/views/linux/rss/libraryview.jsp?type_by=Tutorials linux -# http://feeds.feedburner.com/LinuxMagazine linux -# http://www.linuxprogrammingblog.com/rss.xml linux -# http://linuxtoday.com/backend/biglt.rss linux -# http://www.linux.com/rss/feeds.php linux -# http://www.linuxinsider.com/perl/syndication/rssfull.pl linux -# http://lwn.net/headlines/newrss linux -# http://blogs.zdnet.com/open-source/wp-rss2.php linux -# http://ostatic.com/blog/feed linux -# http://www.reddit.com/r/linux/.rss linux -# http://www.theopenforce.com/atom.xml linux -# http://www.ubuntugeek.com/feed/ linux -# http://www.warpedsystems.sk.ca/backend/index.xml linux -# http://www.reddit.com/r/archlinux/.rss linux -# http://www.reddit.com/r/linuxquestions/.rss linux -http://www.echolinux.com/rss -# http://www.tuxradar.com/rss - -#-----[ Emacs ]------------------------------------------------------- -# http://wordpress.com/tag/emacs/feed/ emacs -# http://www.reddit.com/r/emacs/.rss emacs -# http://planet.emacsen.org/atom.xml emacs -# http://emacsblog.org/feed/ emacs -# http://www.emacswiki.org/emacs?action=rss emacs -# http://feeds.feedburner.com/XahsEmacsBlog -# http://www.masteringemacs.org/feed/ -# http://wikemacs.org/wiki/index.php?title=Special:RecentChanges&feed=atom -# http://stackoverflow.com/feeds/tag?tagnames=emacs&sort=newest -# http://stackoverflow.com/feeds/tag?tagnames=elisp&sort=newest - -#-----[ N900 ]-------------------------------------------------------- -# http://www.reddit.com/r/n900/.rss n900 -# http://maemo.org/news/planet-maemo/rss.xml n900 -# http://www.reddit.com/r/maemo/.rss n900 - -#-----[ iPhone ]------------------------------------------------------ -http://icodeblog.com/feed/ iphone -http://iphonesdkdev.blogspot.com/feeds/posts/default iphone -http://iphonedevelopertips.com/feed iphone - -#-----[ Other Software ]---------------------------------------------- -# http://www.archlinux.org/feeds/news/ software -# http://gitlog.wordpress.com/feed/ software -# http://rollingrelease.com/?feed=rss software -# http://sourceforge.net/export/rss2_keepsake.php?group_id=134378 software -# http://valajournal.blogspot.com/feeds/posts/default software -# http://www.gimp.org/news.rdf -http://stackoverflow.com/feeds/tag?tagnames=git&sort=newest -# http://git.savannah.gnu.org/cgit/identica-mode.git/atom/?h=master - -#-----[ Games ]------------------------------------------------------- -# http://feeds.feedburner.com/qj/qjnet game -# http://www.swtor.com/feed/news/all - -#-----[ Funny ]------------------------------------------------------- -# http://feeds.feedburner.com/ClientsFromHell funny -#http://feeds.feedburner.com/VeryDemotivational funny - -#-----[ Comics ]------------------------------------------------------ -# http://feeds.feedburner.com/AbstruseGoose comics -# http://www.cad-comic.com/rss/rss.xml comics -# http://feeds.dilbert.com/DilbertDailyStrip comics -# http://feedproxy.google.com/uclick/garfield comics -# http://feeds.feedburner.com/GeekAndPoke comics -# http://feeds.feedburner.com/NotInventedHere comics -# http://syndicated.livejournal.com/oglaf/data/rss comics -# http://feeds.feedburner.com/omaketheater comics -# http://www.penny-arcade.com/rss.xml comics -# http://www.pvponline.com/rss/?section=article comics -# http://www.questionablecontent.net/QCRSS.xml comics -# http://feeds.feedburner.com/ScenesFromAMultiverse comics -# http://www.vgcats.com/vgcats.rdf.xml comics -# http://feeds2.feedburner.com/virtualshackles comics -# http://xkcd.com/rss.xml comics -# http://feeds.feedburner.com/maximumble?format=xml comics -http://feeds.feedburner.com/ProgsLife comics -# http://www.rsspect.com/rss/asw.xml -# http://pbfcomics.com/feed/feed.xml -http://feeds.feedburner.com/MinionComics -# http://www.savagechickens.com/feed -# http://feeds.feedburner.com/basiccomic - -#-----[ Misc ]-------------------------------------------------------- -http://wallbase.cc/rss misc -http://www.mailinator.com/rss.jsp?email=ryuslash misc -# http://www.reddit.com/r/unixporn/.rss misc - - -#-----[ New ]---------------------------------------------------------- -# http://rss.feedsportal.com/c/32569/f/491734/index.rss -# http://feeds.feedburner.com/TheGeekStuff -# http://feeds2.feedburner.com/Command-line-fu -# http://feeds.feedburner.com/GoDjango -# http://identity.mozilla.com/rss diff --git a/.config/zathura/Makefile b/.config/zathura/Makefile deleted file mode 100644 index b076c74..0000000 --- a/.config/zathura/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=zathura -objects=zathurarc - -include ../../dotfiles.mk diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc deleted file mode 100644 index 5066895..0000000 --- a/.config/zathura/zathurarc +++ /dev/null @@ -1,7 +0,0 @@ -map scroll full-up -map scroll down -map scroll up -map scroll right -map scroll left - -set guioptions cs diff --git a/.conkerorrc/Makefile b/.conkerorrc/Makefile deleted file mode 100644 index be7ee27..0000000 --- a/.conkerorrc/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -SUBDIR=.conkerorrc -modules=themes styles -objects=gtk2rc init.js ext_restore.js - -include ../dotfiles.mk diff --git a/.conkerorrc/ext_restore.js b/.conkerorrc/ext_restore.js deleted file mode 100644 index 39b125e..0000000 --- a/.conkerorrc/ext_restore.js +++ /dev/null @@ -1,33 +0,0 @@ -/// From http://conkeror.org/Tips#Restore_Killed_Buffer_Url -// I think by the time kill_buffer_hook runs the buffer is gone so I -// patch kill_buffer - -var kill_buffer_original = kill_buffer_original || kill_buffer; - -var killed_buffer_urls = []; - -kill_buffer = function (buffer, force) { - if (buffer.display_uri_string) { - killed_buffer_urls.push(buffer.display_uri_string); - } - - kill_buffer_original(buffer,force); -}; - -interactive("restore-killed-buffer-url", "Loads url from a previously killed buffer", - function restore_killed_buffer_url (I) { - if (killed_buffer_urls.length !== 0) { - var url = yield I.minibuffer.read( - $prompt = "Restore killed url:", - $completer = all_word_completer($completions = killed_buffer_urls), - $default_completion = killed_buffer_urls[killed_buffer_urls.length - 1], - $auto_complete = "url", - $auto_complete_initial = true, - $auto_complete_delay = 0, - $match_required); - - load_url_in_new_buffer(url); - } else { - I.window.minibuffer.message("No killed buffer urls"); - } - }); diff --git a/.conkerorrc/gtk2rc b/.conkerorrc/gtk2rc deleted file mode 100644 index fd511e5..0000000 --- a/.conkerorrc/gtk2rc +++ /dev/null @@ -1,11 +0,0 @@ -include "/home/slash/.gtkrc-2.0" - -style "noscrollbars" { - GtkScrollbar::slider-width=0 - GtkScrollbar::trough-border=0 - GtkScrollbar::has-backward-stepper=0 - GtkScrollbar::has-forward-stepper=0 - GtkScrollbar::has-secondary-backward-stepper=0 - GtkScrollbar::has-secondary-forward-stepper=0 -} -widget "MozillaGtkWidget.*" style "noscrollbars" diff --git a/.conkerorrc/init.js b/.conkerorrc/init.js deleted file mode 100644 index 520ef04..0000000 --- a/.conkerorrc/init.js +++ /dev/null @@ -1,315 +0,0 @@ -require("content-policy.js"); -require("favicon"); -require("session"); - -load_paths.push("file:///usr/local/clark/share/conkeror/modules/"); -load_paths.push("file:///home/slash/projects/cdispass/"); -theme_load_paths.push("/home/slash/.conkerorrc/themes/"); - -require("clark"); -require("cdispass"); - -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", - "https://duckduckgo.com/?q=%s+site%3Aemacswiki.org", - $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 = "arstdhneio"; -read_buffer_show_icons = true; -title_format_fn = ext_title_format; -url_remoting_fn = load_url_in_new_buffer; -session_auto_save_auto_load = true; - -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); -define_key(content_buffer_text_keymap, "C-c d", "dispass-and-submit"); - -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); -theme_load("yoshi"); - -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" + - "}" - ) -); - -oni_add_sheet("github.css"); -oni_add_sheet("help.css"); -oni_add_sheet("git-scm.css"); diff --git a/.conkerorrc/styles/.gitignore b/.conkerorrc/styles/.gitignore deleted file mode 100644 index 8b13789..0000000 --- a/.conkerorrc/styles/.gitignore +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.conkerorrc/styles/Makefile b/.conkerorrc/styles/Makefile deleted file mode 100644 index 8057419..0000000 --- a/.conkerorrc/styles/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=styles -objects=github.css help.css git-scm.css - -include ../../dotfiles.mk diff --git a/.conkerorrc/styles/base.less b/.conkerorrc/styles/base.less deleted file mode 100644 index 410efe2..0000000 --- a/.conkerorrc/styles/base.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "tango"; -@import "yoshi"; - -@monospace-font: "Envy Code R"; -@background: @dblack; -@foreground: @lwhite; diff --git a/.conkerorrc/styles/git-scm.less b/.conkerorrc/styles/git-scm.less deleted file mode 100644 index d69a97d..0000000 --- a/.conkerorrc/styles/git-scm.less +++ /dev/null @@ -1,18 +0,0 @@ -@import "base"; - -@-moz-document domain(git-scm.com) { - .book#main { - background: @background !important; - color: @aluminium-1 !important; - - code, pre { - background: @aluminium-6 !important; - color: @aluminium-2 !important; - font-family: @monospace-font !important; - } - - &, code, pre { - border: none !important; - } - } -} diff --git a/.conkerorrc/styles/github.css b/.conkerorrc/styles/github.css deleted file mode 100644 index 961ba4f..0000000 --- a/.conkerorrc/styles/github.css +++ /dev/null @@ -1,168 +0,0 @@ -@-moz-document url("https://github.com/"), url("https://github.com/dashboard") { - #dashboard .filter-bar { - background:#111111 !important; - border-bottom-color:#404040 !important; - } - - #dashboard .filter-bar li a.filter_selected { - color:#404040 !important; - } - - #dashboard .repos { - border-color:#404040 !important; - background-color:#111111 !important; - } - - #dashboard .repos .bottom-bar { - background-color:#111111 !important; - } - - #dashboard .repos .top-bar { - background:#111111 !important; - border-bottom-color:#404040 !important; - } - - #dashboard .repos h2 { - color:inherit !important; - } - - #dashboard ul.repo_list li.private { - background:#404040 !important; - } - - #dashboard ul.repo_list li a { - border-width:0 !important; - } - - #footer { - text-shadow:none !important; - } - - .button, .minibutton { - background: #111111 !important; - color: #bfbfbf !important; - text-shadow: none !important; - border-color: #404040 !important; - } - - .button.primary, .minibutton.primary { - background: #111111 !important; - color: #bfbfbf !important; - border-color: #404040 !important; - text-shadow: none; - } - - .header { - background:#404040 !important; - color:#bfbfbf !important; - border-bottom-color:#111111 !important; - text-shadow:none !important; - } - - .header .divider-vertical { - background:#111111 !important; - border-right-color:#404040 !important; - } - - .header .top-nav a,.header .topsearch a#advanced_search,.header #user-links a { - color:#bfbfbf !important; - } - - .markdown-body code,.markdown-body tt { - background-color:#404040 !important; - border-color:#111111 !important; - color:#bfbfbf !important; - font-family:"Inconsolata" !important; - } - - .minibutton.dark-grey { - backgrond:#404040 !important; - } - - .news .alert { - border-top-color:#404040 !important; - } - - .news .alert .branch-link, - .news .alert .pull-info { - background:#404040 !important; - color:#bfbfbf !important; - } - - .news .alert .gravatar { - background:none !important; - } - - .news .alert .simple .title { - color:#bfbfbf !important; - } - - .news .commits li img { - background:none !important; - } - - .news blockquote { - color:#bfbfbf !important; - } - - .pagehead .container>ul.tabs { - background:#111111 !important; - border:none !important; - } - - .pagehead .container>ul.tabs li a { - text-shadow:none !important; - border:none !important; - } - - .pagehead .container>ul.tabs li a:hover,.pagehead .container>ul.tabs li a.selected { - background:#404040 !important; - } - - .pagehead-actions a.feed { - background:#404040 !important; - border:#111111 !important; - color:#bfa47d !important; - } - - .pagination { - background:#404040 !important; - border-color:#111111 !important; - } - - .pagination a { - text-shadow:none !important; - border-bottom-color:#404040 !important; - } - - .pagination a:hover { - background:#111111 !important; - } - - a { - color:#bfa47d !important; - } - - a:visited { - color:#b27dbf !important; - } - - a.header-logo-blacktocat,a.header-logo-blacktocat:visited { - color:#404040 !important; - } - - body { - background-color:#111111 !important; - color:#bfbfbf !important; - } - - input[type="text"] { - background-color: #404040 !important; - color: #bfbfbf !important - } - - p.tip, - strong.protip { - color: #ededed !important; - } -} diff --git a/.conkerorrc/styles/help.less b/.conkerorrc/styles/help.less deleted file mode 100644 index 339d7fa..0000000 --- a/.conkerorrc/styles/help.less +++ /dev/null @@ -1,21 +0,0 @@ -@import "base"; - -@-moz-document url("chrome://conkeror-help/content/help.html") { - body { - background: @background !important; - color: @aluminium-1 !important; - } - - a { - color: @orange-1 !important; - - &:visited { - color: @plum-1 !important; - } - } - - pre, .key { - background: @aluminium-5 !important; - font-family: @monospace-font !important; - } -} diff --git a/.conkerorrc/styles/tango.less b/.conkerorrc/styles/tango.less deleted file mode 100644 index ed6858b..0000000 --- a/.conkerorrc/styles/tango.less +++ /dev/null @@ -1,27 +0,0 @@ -@butter-1: #fce94f; -@butter-2: #edd400; -@butter-3: #c4a000; -@orange-1: #fcaf3e; -@orange-2: #f57900; -@orange-3: #ce5c00; -@chocolate-1: #e9b96e; -@chocolate-2: #c17d11; -@chocolate-3: #8f5902; -@chameleon-1: #8ae234; -@chameleon-2: #73d216; -@chameleon-3: #4e9a06; -@sky-blue-1: #729fcf; -@sky-blue-2: #3465a4; -@sky-blue-3: #204a87; -@plum-1: #ad7fa8; -@plum-2: #75507b; -@plum-3: #5c3566; -@scarlet-red-1: #ef2929; -@scarlet-red-2: #cc0000; -@scarlet-red-3: #a40000; -@aluminium-1: #eeeeec; -@aluminium-2: #d3d7cf; -@aluminium-3: #babdb6; -@aluminium-4: #888a85; -@aluminium-5: #555753; -@aluminium-6: #2e3436; diff --git a/.conkerorrc/styles/yoshi.less b/.conkerorrc/styles/yoshi.less deleted file mode 100644 index 5fdac7e..0000000 --- a/.conkerorrc/styles/yoshi.less +++ /dev/null @@ -1,24 +0,0 @@ -@lblack: #ededed; -@dblack: #111111; -@lwhite: #bfbfbf; -@dwhite: #404040; -@lred: #bf7d7d; -@dred: #402929; -@lorange: #bfa47d; -@dorange: #403729; -@lyellow: #b2bf7d; -@dyellow: #3b4029; -@lgreen: #8abf6d; -@dgreen: #2d4029; -@lturquoise: #7dbf97; -@dturquoise: #294032; -@lcyan: #7dbfbf; -@dcyan: #294040; -@lblue: #6d97bf; -@dblue: #293240; -@lpurple: #8a7dbf; -@dpurple: #2d2940; -@lmagenta: #b27dbf; -@dmagenta: #3b2940; -@lpink: #bf6da4; -@dpink: #402937; diff --git a/.conkerorrc/themes/Makefile b/.conkerorrc/themes/Makefile deleted file mode 100644 index 6e95dc4..0000000 --- a/.conkerorrc/themes/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=themes -modules=naquadah yoshi - -include ../../dotfiles.mk diff --git a/.conkerorrc/themes/naquadah/Makefile b/.conkerorrc/themes/naquadah/Makefile deleted file mode 100644 index 6a1634a..0000000 --- a/.conkerorrc/themes/naquadah/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -SUBDIR=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 diff --git a/.conkerorrc/themes/naquadah/conkeror--scrollbars.css b/.conkerorrc/themes/naquadah/conkeror--scrollbars.css deleted file mode 100644 index 0f70e96..0000000 --- a/.conkerorrc/themes/naquadah/conkeror--scrollbars.css +++ /dev/null @@ -1,36 +0,0 @@ - -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); - -/* The "background" behind the scrolling part of the scrollbar. */ -scrollbar { - background-color: #222; -} - -/* corner between horizontal and vertical scrollbars */ -scrollcorner { - background-color: black; -} - -/* The scroll up/down buttons. */ -scrollbarbutton { - background-color: #666; -} - -/* The actual scrolling part of the scrollbar. */ -thumb { - background-color: #666; -} - -thumb, scrollbarbutton { - -moz-border-bottom-colors: #000 #333; - -moz-border-left-colors: #aaa #888; - -moz-border-right-colors: #000 #333; - -moz-border-top-colors: #aaa #888; -} - -scrollbarbutton:hover:active, scrollbarbutton[active="true"] { - -moz-border-bottom-colors: #aaa #888; - -moz-border-left-colors: #000 #333; - -moz-border-right-colors: #aaa #888; - -moz-border-top-colors: #000 #333; -} diff --git a/.conkerorrc/themes/naquadah/hints--url-panel.css b/.conkerorrc/themes/naquadah/hints--url-panel.css deleted file mode 100644 index 143f3c1..0000000 --- a/.conkerorrc/themes/naquadah/hints--url-panel.css +++ /dev/null @@ -1,17 +0,0 @@ - -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); - -.panel { - border-top: 4px double #333333; - color: white; - background-color: black; -} - -.panel .panel-row-label { - font-weight: bold; -} - -.panel .url-panel-label { - font-weight: bold; -} - diff --git a/.conkerorrc/themes/naquadah/minibuffer.css b/.conkerorrc/themes/naquadah/minibuffer.css deleted file mode 100644 index c882f3e..0000000 --- a/.conkerorrc/themes/naquadah/minibuffer.css +++ /dev/null @@ -1,52 +0,0 @@ - -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); - -#minibuffer { - background-color: #252A2E; - border: 0px none #444; - border-top: 0; - color: #EEEEEC; - font: 11px Tahoma; -} - -#minibuffer-input, #minibuffer-input * { - color: #EEEEEC; -} - -#minibuffer-prompt { - color: #EEEEEC; -} - -/* Completions display */ - -tree.completions treechildren { border: none !important; } - -tree.completions treecol { -moz-binding: none !important; } -tree.completions { - -moz-appearance: none !important; - border: 0px none !important; - border-top: 4px double #333333 !important; - background-color: #252A2E !important; - -moz-border-top-colors: -moz-initial !important; - color: #EEEEEC !important; -} - -tree.completions treechildren::-moz-tree-row { - background-color: #252A2E !important; - border: none; -} - -tree.completions treechildren::-moz-tree-row(current) { - background-color: #0C191C !important; - color: #EEEEEC; -} - -tree.completions treechildren::-moz-tree-cell-text(completion-description) { - color: green !important; - font-weight: bold !important; -} - -tree.completions treechildren::-moz-tree-cell-text(current) { - color: #EEEEEC !important; -} - diff --git a/.conkerorrc/themes/naquadah/mode-line.css b/.conkerorrc/themes/naquadah/mode-line.css deleted file mode 100644 index 7e1ed45..0000000 --- a/.conkerorrc/themes/naquadah/mode-line.css +++ /dev/null @@ -1,11 +0,0 @@ -.mode-line { - font: 11px Tahoma; - padding: 0px; - border: 1px solid #2E3436; - color: #EEEEEC; - background-color: #0C191C; -} - -.mode-line label { - color: #EEEEEC; -} diff --git a/.conkerorrc/themes/naquadah/new-tabs.css b/.conkerorrc/themes/naquadah/new-tabs.css deleted file mode 100644 index f5d30c0..0000000 --- a/.conkerorrc/themes/naquadah/new-tabs.css +++ /dev/null @@ -1,54 +0,0 @@ -#tab2-bar { - background: #222; -} - -.tab2 { - margin: 2px 0px 0px 2px; - padding: 0px; - height: 22px; - border-width: 2px; - border-bottom-width: 0; - border-style: solid; - -moz-border-radius: 3px 3px 0 0; - -moz-border-left-colors: #888 #555; - -moz-border-right-colors: #000 #171717; - -moz-border-top-colors: #888 #555; - background: #333; - min-width: 200px; - max-width: 200px; - overflow: hidden; /* Chops end of label */ -} - -.tab2[selected=true] { - -moz-border-left-colors: #aaa #888; - -moz-border-right-colors: #000 #333; - -moz-border-top-colors: #aaa #888; - background: #666; -} - -.tab2:hover { - -moz-border-left-colors: #eee #bbb; - -moz-border-right-colors: #333 #666; - -moz-border-top-colors: #eee #bbb; - background: #999; -} - -.tab2-label { - margin-left: 4px; - padding-top: 1px; - color: #fff; - font: 11px Tahoma; -} - -.tab2-icon { - margin: 1px !important; - padding: 1px; - width: 20px; - height: 15px; - max-height: 15px; - -moz-border-radius: 1px; - background: black; - color: white; - font: 900 11px Tahoma; - text-align: center; -} diff --git a/.conkerorrc/themes/naquadah/tab-bar.css b/.conkerorrc/themes/naquadah/tab-bar.css deleted file mode 100644 index c451778..0000000 --- a/.conkerorrc/themes/naquadah/tab-bar.css +++ /dev/null @@ -1,41 +0,0 @@ - -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); - -/* TABS */ -#tab2-bar { - background: #000; -} - -#tab2-bar .tab2 { - margin: 0; - padding: 0; - border: none; - /*height: 19px; - border: 1px solid #666; - min-width: 200px; - max-width: 200px;*/ - background: #333; - overflow: hidden; -} - -#tab2-bar .tab2-label { - margin: 0; - color: white; - font: 11px Tahoma; -} - -#tab2-bar .tab2-icon { - height: 16px; - width: 16px; - background: #222; - color: white; - border: 1px solid #999; - font: 900 11px Tahoma; - text-align: center; -} - -#tab2-bar .tab2[selected=true] { - border: 1px solid white; - background: #666; - border: 1px solid #999; -} diff --git a/.conkerorrc/themes/naquadah/theme.json b/.conkerorrc/themes/naquadah/theme.json deleted file mode 100644 index bb74ee1..0000000 --- a/.conkerorrc/themes/naquadah/theme.json +++ /dev/null @@ -1,9 +0,0 @@ -{ "sheets" : [ - "conkeror--scrollbars.css", - "new-tabs.css", - "minibuffer.css", - "mode-line.css", - "hints--url-panel.css", - "tab-bar.css" - ] -} diff --git a/.conkerorrc/themes/yoshi/Makefile b/.conkerorrc/themes/yoshi/Makefile deleted file mode 100644 index 1c5bb94..0000000 --- a/.conkerorrc/themes/yoshi/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -SUBDIR=yoshi -objects=conkeror--scrollbars.css hints--url-panel.css minibuffer.css \ - mode-line.css new-tabs.css tab-bar.css theme.json - -include ../../../dotfiles.mk diff --git a/.conkerorrc/themes/yoshi/conkeror--scrollbars.css b/.conkerorrc/themes/yoshi/conkeror--scrollbars.css deleted file mode 100644 index 0f70e96..0000000 --- a/.conkerorrc/themes/yoshi/conkeror--scrollbars.css +++ /dev/null @@ -1,36 +0,0 @@ - -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); - -/* The "background" behind the scrolling part of the scrollbar. */ -scrollbar { - background-color: #222; -} - -/* corner between horizontal and vertical scrollbars */ -scrollcorner { - background-color: black; -} - -/* The scroll up/down buttons. */ -scrollbarbutton { - background-color: #666; -} - -/* The actual scrolling part of the scrollbar. */ -thumb { - background-color: #666; -} - -thumb, scrollbarbutton { - -moz-border-bottom-colors: #000 #333; - -moz-border-left-colors: #aaa #888; - -moz-border-right-colors: #000 #333; - -moz-border-top-colors: #aaa #888; -} - -scrollbarbutton:hover:active, scrollbarbutton[active="true"] { - -moz-border-bottom-colors: #aaa #888; - -moz-border-left-colors: #000 #333; - -moz-border-right-colors: #aaa #888; - -moz-border-top-colors: #000 #333; -} diff --git a/.conkerorrc/themes/yoshi/hints--url-panel.css b/.conkerorrc/themes/yoshi/hints--url-panel.css deleted file mode 100644 index 143f3c1..0000000 --- a/.conkerorrc/themes/yoshi/hints--url-panel.css +++ /dev/null @@ -1,17 +0,0 @@ - -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); - -.panel { - border-top: 4px double #333333; - color: white; - background-color: black; -} - -.panel .panel-row-label { - font-weight: bold; -} - -.panel .url-panel-label { - font-weight: bold; -} - diff --git a/.conkerorrc/themes/yoshi/minibuffer.css b/.conkerorrc/themes/yoshi/minibuffer.css deleted file mode 100644 index 12ca4e8..0000000 --- a/.conkerorrc/themes/yoshi/minibuffer.css +++ /dev/null @@ -1,49 +0,0 @@ - -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); - -#minibuffer { - background-color: #111113; - border: none; - color: #EEEEEC; - font: 16px "Envy Code R"; -} - -#minibuffer-input, #minibuffer-input * { - color: #EEEEEC; -} - -#minibuffer-prompt { - color: #EEEEEC; -} - -/* Completions display */ - -tree.completions treechildren { border: none !important; } - -tree.completions treecol { -moz-binding: none !important; } -tree.completions { - -moz-appearance: none !important; - border: 0px none !important; - background-color: #111113 !important; - -moz-border-top-colors: -moz-initial !important; - color: #EEEEEC !important; - font: 18px "Envy Code R"; -} - -tree.completions treechildren::-moz-tree-row { - background-color: #111113 !important; - border: none; -} - -tree.completions treechildren::-moz-tree-row(current) { - background-color: #536580 !important; - color: #EEEEEC; -} - -tree.completions treechildren::-moz-tree-cell-text(completion-description) { - color: #b8ffa6 !important; -} - -tree.completions treechildren::-moz-tree-cell-text(current) { - color: #EEEEEC !important; -} diff --git a/.conkerorrc/themes/yoshi/mode-line.css b/.conkerorrc/themes/yoshi/mode-line.css deleted file mode 100644 index 31aabd7..0000000 --- a/.conkerorrc/themes/yoshi/mode-line.css +++ /dev/null @@ -1,11 +0,0 @@ -.mode-line { - font: 16px "Envy Code R"; - padding: 0px; - border: none; - color: #EEEEEC; - background-color: #222224; -} - -.mode-line label { - color: #EEEEEC; -} diff --git a/.conkerorrc/themes/yoshi/new-tabs.css b/.conkerorrc/themes/yoshi/new-tabs.css deleted file mode 100644 index f5d30c0..0000000 --- a/.conkerorrc/themes/yoshi/new-tabs.css +++ /dev/null @@ -1,54 +0,0 @@ -#tab2-bar { - background: #222; -} - -.tab2 { - margin: 2px 0px 0px 2px; - padding: 0px; - height: 22px; - border-width: 2px; - border-bottom-width: 0; - border-style: solid; - -moz-border-radius: 3px 3px 0 0; - -moz-border-left-colors: #888 #555; - -moz-border-right-colors: #000 #171717; - -moz-border-top-colors: #888 #555; - background: #333; - min-width: 200px; - max-width: 200px; - overflow: hidden; /* Chops end of label */ -} - -.tab2[selected=true] { - -moz-border-left-colors: #aaa #888; - -moz-border-right-colors: #000 #333; - -moz-border-top-colors: #aaa #888; - background: #666; -} - -.tab2:hover { - -moz-border-left-colors: #eee #bbb; - -moz-border-right-colors: #333 #666; - -moz-border-top-colors: #eee #bbb; - background: #999; -} - -.tab2-label { - margin-left: 4px; - padding-top: 1px; - color: #fff; - font: 11px Tahoma; -} - -.tab2-icon { - margin: 1px !important; - padding: 1px; - width: 20px; - height: 15px; - max-height: 15px; - -moz-border-radius: 1px; - background: black; - color: white; - font: 900 11px Tahoma; - text-align: center; -} diff --git a/.conkerorrc/themes/yoshi/tab-bar.css b/.conkerorrc/themes/yoshi/tab-bar.css deleted file mode 100644 index c451778..0000000 --- a/.conkerorrc/themes/yoshi/tab-bar.css +++ /dev/null @@ -1,41 +0,0 @@ - -@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); - -/* TABS */ -#tab2-bar { - background: #000; -} - -#tab2-bar .tab2 { - margin: 0; - padding: 0; - border: none; - /*height: 19px; - border: 1px solid #666; - min-width: 200px; - max-width: 200px;*/ - background: #333; - overflow: hidden; -} - -#tab2-bar .tab2-label { - margin: 0; - color: white; - font: 11px Tahoma; -} - -#tab2-bar .tab2-icon { - height: 16px; - width: 16px; - background: #222; - color: white; - border: 1px solid #999; - font: 900 11px Tahoma; - text-align: center; -} - -#tab2-bar .tab2[selected=true] { - border: 1px solid white; - background: #666; - border: 1px solid #999; -} diff --git a/.conkerorrc/themes/yoshi/theme.json b/.conkerorrc/themes/yoshi/theme.json deleted file mode 100644 index bb74ee1..0000000 --- a/.conkerorrc/themes/yoshi/theme.json +++ /dev/null @@ -1,9 +0,0 @@ -{ "sheets" : [ - "conkeror--scrollbars.css", - "new-tabs.css", - "minibuffer.css", - "mode-line.css", - "hints--url-panel.css", - "tab-bar.css" - ] -} diff --git a/.conky_box.lua b/.conky_box.lua deleted file mode 100644 index ef53427..0000000 --- a/.conky_box.lua +++ /dev/null @@ -1,311 +0,0 @@ ---[[BOX WIDGET v1.1 by Wlourf 27/01/2011 -This widget can drawn some boxes, even circles in your conky window -http://u-scripts.blogspot.com/2011/01/box-widget.html) - -Inspired by Background by londonali1010 (2009), thanks ;-) - -The parameters (all optionals) are : -x - x coordinate of top-left corner of the box, default = 0 = (top-left corner of conky window) -y - y coordinate of top-left corner of the box, default = 0 = (top-left corner of conky window) -w - width of the box, default = width of the conky window -h - height of the box, default = height of the conky window -corners - corners is a table for the four corners in this order : top-left, top-right,bottom-right, bottom-left - each corner is defined in a table with a shape and a radius, available shapes are : "curve","circle","line" - example for the same shapes for all corners: - { {"circle",10} } - example for first corner different from the three others - { {"circle",10}, {"circle",5} } - example for top corners differents from bottom corners - { {"circle",10}, {"circle",10}, {"line",0} } - default = { {"line",0} } i.e=no corner -operator - set the compositing operator (needs in the conkyrc : own_window_argb_visual yes) - see http://cairographics.org/operators/ - available operators are : - "clear","source","over","in","out","atop","dest","dest_over","dest_in","dest_out","dest_atop","xor","add","saturate" - default = "over" -border - if border>0, the script draws only the border, like a frame, default=0 -dash - if border>0 and dash>0, the border is draw with dashes, default=0 -skew_x - skew box around x axis, default = 0 -skew_y - skew box around y axis, default = 0 -scale_x - rescale the x axis, default=1, useful for drawing elipses ... -scale_y - rescale the x axis, default=1 -angle - angle of rotation of the box in degrees, default = 0 - i.e. a horizontal graph -rot_x - x point of rotation's axis, default = 0, - relative to top-left corner of the box, (not the conky window) -rot_y - y point of rotation's axis, default = 0 - relative to top-left corner of the box, (not the conky window) -draw_me - if set to false, box is not drawn (default = true or 1) - it can be used with a conky string, if the string returns 1, the box is drawn : - example : "${if_empty ${wireless_essid wlan0}}${else}1$endif", - -linear_gradient - table with the coordinates of two points to define a linear gradient, - points are relative to top-left corner of the box, (not the conky window) - {x1,y1,x2,y2} -radial_gradient - table with the coordinates of two circle to define a radial gradient, - points are relative to top-left corner of the box, (not the conky window) - {x1,y1,r1,x2,y2,r2} (r=radius) -colour - table of colours, default = plain white {{1,0xFFFFFF,0.5}} - this table contains one or more tables with format {P,C,A} - P=position of gradient (0 = start of the gradient, 1= end of the gradient) - C=hexadecimal colour - A=alpha (opacity) of color (0=invisible,1=opacity 100%) - Examples : - for a plain color {{1,0x00FF00,0.5}} - for a gradient with two colours {{0,0x00FF00,0.5},{1,0x000033,1}} {x=80,y=150,w=20,h=20, - radial_gradient={20,20,0,20,20,20}, - colour={{0.5,0xFFFFFF,1},{1,0x000000,0}}, - or {{0.5,0x00FF00,1},{1,0x000033,1}} -with this one, gradient will start in the middle - for a gradient with three colours {{0,0x00FF00,0.5},{0.5,0x000033,1},{1,0x440033,1}} - and so on ... - - - -To call this script in Conky, use (assuming you have saved this script to ~/scripts/): - lua_load ~/scripts/box.lua - lua_draw_hook_pre main_box - -And leave one line blank or not after TEXT - -Changelog: -+ v1.0 -- Original release (19.12.2010) -+ v1.1 -- Adding parameters: operator, dash, angle, skew_x, skew_y, draw_me - corners are described in a table - --- 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 version 3 (GPLv3) --- --- 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, write to the Free Software --- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, --- MA 02110-1301, USA. - - -]] - - -require 'cairo' - -function conky_main_box() - - if conky_window==nil then return end - - ---------------------- PARAMETERS BEGIN HERE - local boxes_settings={ - { - x = conky_window.text_start_x - 10, - y = conky_window.text_start_y - 10, - w = conky_window.text_width + 20, - h = conky_window.text_height + 20, - colour = {{1,0x000000,0.4}}, - }, - } - - - ---------------------------- PARAMETERS END HERE - - local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height) - local cr=cairo_create(cs) - - if tonumber(conky_parse("$updates"))<5 then return end - for i in pairs(boxes_settings) do - draw_box (cr,boxes_settings[i]) - end - cairo_destroy(cr) - cairo_surface_destroy(cs) -end - - -function draw_box(cr,t) - - if t.draw_me == true then t.draw_me = nil end - if t.draw_me ~= nil and conky_parse(tostring(t.draw_me)) ~= "1" then return end - - local table_corners={"circle","curve","line"} - - local t_operators={ - clear = CAIRO_OPERATOR_CLEAR, - source = CAIRO_OPERATOR_SOURCE, - over = CAIRO_OPERATOR_OVER, - ["in"] = CAIRO_OPERATOR_IN, - out = CAIRO_OPERATOR_OUT, - atop = CAIRO_OPERATOR_ATOP, - dest = CAIRO_OPERATOR_DEST, - dest_over = CAIRO_OPERATOR_DEST_OVER, - dest_in = CAIRO_OPERATOR_DEST_IN, - dest_out = CAIRO_OPERATOR_DEST_OUT, - dest_atop = CAIRO_OPERATOR_DEST_ATOP, - xor = CAIRO_OPERATOR_XOR, - add = CAIRO_OPERATOR_ADD, - saturate = CAIRO_OPERATOR_SATURATE, - } - - function rgba_to_r_g_b_a(tc) - --tc={position,colour,alpha} - local colour = tc[2] - local alpha = tc[3] - return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha - end - - function table.copy(t) - local t2 = {} - for k,v in pairs(t) do - t2[k] = {v[1],v[2]} - end - return t2 - end - - function draw_corner(num,t) - local shape=t[1] - local radius=t[2] - local x,y = t[3],t[4] - if shape=="line" then - if num == 1 then cairo_line_to(cr,radius,0) - elseif num == 2 then cairo_line_to(cr,x,radius) - elseif num == 3 then cairo_line_to(cr,x-radius,y) - elseif num == 4 then cairo_line_to(cr,0,y-radius) - end - end - if shape=="circle" then - local PI = math.pi - if num == 1 then cairo_arc(cr,radius,radius,radius,-PI,-PI/2) - elseif num == 2 then cairo_arc(cr,x-radius,y+radius,radius,-PI/2,0) - elseif num == 3 then cairo_arc(cr,x-radius,y-radius,radius,0,PI/2) - elseif num == 4 then cairo_arc(cr,radius,y-radius,radius,PI/2,-PI) - end - end - if shape=="curve" then - if num == 1 then cairo_curve_to(cr,0,radius ,0,0 ,radius,0) - elseif num == 2 then cairo_curve_to(cr,x-radius,0, x,y, x,radius) - elseif num == 3 then cairo_curve_to(cr,x,y-radius, x,y, x-radius,y) - elseif num == 4 then cairo_curve_to(cr,radius,y, x,y, 0,y-radius) - end - end - end - - --check values and set default values - if t.x == nil then t.x = 0 end - if t.y == nil then t.y = 0 end - if t.w == nil then t.w = conky_window.width end - if t.h == nil then t.h = conky_window.height end - if t.radius == nil then t.radius = 0 end - if t.border == nil then t.border = 0 end - if t.colour==nil then t.colour={{1,0xFFFFFF,0.5}} end - if t.linear_gradient ~= nil then - if #t.linear_gradient ~= 4 then - t.linear_gradient = {t.x,t.y,t.width,t.height} - end - end - if t.angle==nil then t.angle = 0 end - - if t.skew_x == nil then t.skew_x=0 end - if t.skew_y == nil then t.skew_y=0 end - if t.scale_x==nil then t.scale_x=1 end - if t.scale_y==nil then t.scale_y=1 end - if t.rot_x == nil then t.rot_x=0 end - if t.rot_y == nil then t.rot_y=0 end - - if t.operator == nil then t.operator = "over" end - if (t_operators[t.operator]) == nil then - print ("wrong operator :",t.operator) - t.operator = "over" - end - - if t.radial_gradient ~= nil then - if #t.radial_gradient ~= 6 then - t.radial_gradient = {t.x,t.y,0, t.x,t.y, t.width} - end - end - - for i=1, #t.colour do - if #t.colour[i]~=3 then - print ("error in color table") - t.colour[i]={1,0xFFFFFF,1} - end - end - - if t.corners == nil then t.corners={ {"line",0} } end - local t_corners = {} - local t_corners = table.copy(t.corners) - --don't use t_corners=t.corners otherwise t.corners is altered - - --complete the t_corners table if needed - for i=#t_corners+1,4 do - t_corners[i]=t_corners[#t_corners] - local flag=false - for j,v in pairs(table_corners) do flag=flag or (t_corners[i][1]==v) end - if not flag then print ("error in corners table :",t_corners[i][1]);t_corners[i][1]="curve" end - end - - --this way : - -- t_corners[1][4]=x - -- t_corners[2][3]=y - --doesn't work - t_corners[1]={t_corners[1][1],t_corners[1][2],0,0} - t_corners[2]={t_corners[2][1],t_corners[2][2],t.w,0} - t_corners[3]={t_corners[3][1],t_corners[3][2],t.w,t.h} - t_corners[4]={t_corners[4][1],t_corners[4][2],0,t.h} - - t.no_gradient = (t.linear_gradient == nil ) and (t.radial_gradient == nil ) - - cairo_save(cr) - cairo_translate(cr, t.x, t.y) - if t.rot_x~=0 or t.rot_y~=0 or t.angle~=0 then - cairo_translate(cr,t.rot_x,t.rot_y) - cairo_rotate(cr,t.angle*math.pi/180) - cairo_translate(cr,-t.rot_x,-t.rot_y) - end - if t.scale_x~=1 or t.scale_y~=1 or t.skew_x~=0 or t.skew_y~=0 then - local matrix0 = cairo_matrix_t:create() - tolua.takeownership(matrix0) - cairo_matrix_init (matrix0, t.scale_x,math.pi*t.skew_y/180 , math.pi*t.skew_x/180 ,t.scale_y,0,0) - cairo_transform(cr,matrix0) - end - - local tc=t_corners - cairo_move_to(cr,tc[1][2],0) - cairo_line_to(cr,t.w-tc[2][2],0) - draw_corner(2,tc[2]) - cairo_line_to(cr,t.w,t.h-tc[3][2]) - draw_corner(3,tc[3]) - cairo_line_to(cr,tc[4][2],t.h) - draw_corner(4,tc[4]) - cairo_line_to(cr,0,tc[1][2]) - draw_corner(1,tc[1]) - - if t.no_gradient then - cairo_set_source_rgba(cr,rgba_to_r_g_b_a(t.colour[1])) - else - if t.linear_gradient ~= nil then - pat = cairo_pattern_create_linear (t.linear_gradient[1],t.linear_gradient[2],t.linear_gradient[3],t.linear_gradient[4]) - elseif t.radial_gradient ~= nil then - pat = cairo_pattern_create_radial (t.radial_gradient[1],t.radial_gradient[2],t.radial_gradient[3], - t.radial_gradient[4],t.radial_gradient[5],t.radial_gradient[6]) - end - for i=1, #t.colour do - cairo_pattern_add_color_stop_rgba (pat, t.colour[i][1], rgba_to_r_g_b_a(t.colour[i])) - end - cairo_set_source (cr, pat) - cairo_pattern_destroy(pat) - end - - cairo_set_operator(cr,t_operators[t.operator]) - - if t.border>0 then - cairo_close_path(cr) - if t.dash ~= nil then cairo_set_dash(cr, t.dash, 1, 0.0) end - cairo_set_line_width(cr,t.border) - cairo_stroke(cr) - else - cairo_fill(cr) - end - - cairo_restore(cr) -end - diff --git a/.conkyrc b/.conkyrc deleted file mode 100644 index 297229e..0000000 --- a/.conkyrc +++ /dev/null @@ -1,53 +0,0 @@ -# -*- eval: (git-auto-commit-mode 1) -*- -background yes -use_xft yes -xftfont tamsyn:pixelsize=14 -!xftalpha 0.1 -update_interval 2.0 -total_run_times 0 -double_buffer yes -minimum_size 250 5 -maximum_width 400 -draw_shades no -draw_outline no -draw_borders no -draw_graph_borders no -default_color gray -default_shade_color red -default_outline_color green -alignment top_right -gap_x 10 -gap_y 42 -no_buffers yes -uppercase no -cpu_avg_samples 2 -net_avg_samples 1 -override_utf8_locale no -use_spacer yes -lua_load ~/.conkybox.lua -lua_draw_hook_pre conky_main_box - -TEXT -${font Arial:bold:size=10}${color Tan1}TODO ${color RoyalBlue}${voffset -2}${hr 2} -$font${color SlateGray}${exec /home/slash/development/projects/ntd/src/ntd list short} - -$if_mpd_playing${font Arial:bold:size=10}${color Tan1}MUSIC ${color RoyalBlue}${voffset -2}${hr 2} -$font$alignc${color SlateGray}$mpd_title -$alignc$mpd_artist -$alignc$mpd_album -$mpd_bar - -$endif${font Arial:bold:size=10}${color Tan1}USAGE ${color RoyalBlue}${voffset -2}${hr 2} -$font${color SlateGray}CPU1 $alignr${cpu cpu1}% ${cpubar cpu1 7,170} -$font${color SlateGray}CPU2 $alignr${cpu cpu2}% ${cpubar cpu2 7,170} -$font${color SlateGray}MEM $alignr${memperc}% ${membar 7,170} -$font${color SlateGray}SWAP $alignr${swapperc}% ${swapbar 7, 170} - -${font Arial:bold:size=10}${color Tan1}HDD ${color RoyalBlue}${voffset -2}${hr 2} -${font}${color SlateGray}Write: $alignr$diskio_write -Read: $alignr$diskio_read - -${font Arial:bold:size=10}${color Tan1}TOP PROCESS ${color RoyalBlue}${voffset -2}${hr 2} -${color SlateGray}${font}CPU: ${top name 1}${alignr}${top cpu 1}% -MEM: ${top_mem name 1}${alignr}${top_mem mem 1}% -IO: ${top_io name 1}${alignr}${top_io io_perc 1}% diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index d55f3be..0000000 --- a/.gitconfig +++ /dev/null @@ -1,22 +0,0 @@ -[user] - name = Tom Willemse - email = tom@ryuslash.org -[core] - editor = emacs -nw - whitespace = trailing-space,tab-in-indent,space-before-tab -[color] - ui = auto -[alias] - st = status -s - unadd = reset HEAD - 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 -[sendemail] - smtpencryption = tls - smtpserver = smtp.gmail.com - smtpuser = ryuslash@gmail.com - smtpserverport = 587 -[merge] - tool = emerge -[push] - default = simple diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 6dc3062..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.old diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e368c11..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule ".config/zsh/syntax-highlighting"] - path = .config/zsh/syntax-highlighting - url = git://github.com/zsh-users/zsh-syntax-highlighting diff --git a/.guile b/.guile deleted file mode 100644 index bcbc981..0000000 --- a/.guile +++ /dev/null @@ -1,2 +0,0 @@ -(use-modules (ice-9 readline)) -(activate-readline) diff --git a/.hgrc b/.hgrc deleted file mode 100644 index adef43b..0000000 --- a/.hgrc +++ /dev/null @@ -1,4 +0,0 @@ -[ui] -username = Tom Willemse -[extensions] -hgext.bookmarks = diff --git a/.local/Makefile b/.local/Makefile deleted file mode 100644 index a473a83..0000000 --- a/.local/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=.local -modules=share - -include ../dotfiles.mk diff --git a/.local/share/Makefile b/.local/share/Makefile deleted file mode 100644 index da723ff..0000000 --- a/.local/share/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=share -modules=applications - -include ../../dotfiles.mk diff --git a/.local/share/applications/Makefile b/.local/share/applications/Makefile deleted file mode 100644 index 4fb9a44..0000000 --- a/.local/share/applications/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=applications -objects=moc.desktop ncmpcpp.desktop poweroff.desktop reboot.desktop - -include ../../../dotfiles.mk diff --git a/.local/share/applications/moc.desktop b/.local/share/applications/moc.desktop deleted file mode 100644 index 7d83074..0000000 --- a/.local/share/applications/moc.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=moc -GenericName=Music Player -Comment=Play Music -Exec=urxvt -e mocp -Icon=audio-x-generic.png -Type=Application diff --git a/.local/share/applications/ncmpcpp.desktop b/.local/share/applications/ncmpcpp.desktop deleted file mode 100644 index 8151a1e..0000000 --- a/.local/share/applications/ncmpcpp.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=ncmpcpp -GenericName=Music Player -Comment=Play Music -Exec=urxvt -e ncmpcpp -Icon=audio-x-generic.png -Type=Application diff --git a/.local/share/applications/poweroff.desktop b/.local/share/applications/poweroff.desktop deleted file mode 100644 index b809e56..0000000 --- a/.local/share/applications/poweroff.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=poweroff -GenericName=Power Off -Comment=Turn off the power -Exec=systemctl poweroff -Icon=system-shutdown.png -Type=Application diff --git a/.local/share/applications/reboot.desktop b/.local/share/applications/reboot.desktop deleted file mode 100644 index 34ca716..0000000 --- a/.local/share/applications/reboot.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=reboot -GenericName=Reboot -Comment=Reboot the system -Exec=systemctl reboot -Icon=reload.png -Type=Application diff --git a/.moc/.gitignore b/.moc/.gitignore deleted file mode 100644 index 1210ad5..0000000 --- a/.moc/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -cache/ -equalizer -last_directory -softmixer -tags_cache diff --git a/.moc/Makefile b/.moc/Makefile deleted file mode 100644 index ec1b2b7..0000000 --- a/.moc/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -SUBDIR=.moc -modules=themes -objects=config - -include ../dotfiles.mk diff --git a/.moc/config b/.moc/config deleted file mode 100644 index 76619d2..0000000 --- a/.moc/config +++ /dev/null @@ -1,3 +0,0 @@ -Layout1 = playlist(0,0,100%,100%):directory(0,0,100%,100%) -Layout2 = directory(0,0,50%,100%):playlist(50%,0,FILL,100%) -CanStartInPlaylist = yes diff --git a/.moc/themes/Makefile b/.moc/themes/Makefile deleted file mode 100644 index 77c8f1f..0000000 --- a/.moc/themes/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=themes -objects=custom - -include ../../dotfiles.mk diff --git a/.moc/themes/custom b/.moc/themes/custom deleted file mode 100644 index f9eef4d..0000000 --- a/.moc/themes/custom +++ /dev/null @@ -1,118 +0,0 @@ -# Example color theme for MOC. -# You can use a theme by copying it to ~/.moc/themes directory and using -# Theme config option or -T command line option. -# -# Fill free to make your own themes and send me them. It will be included in -# official MOC releases or on the MOC web site. -# -# The format of this file is: -# Lines beginning with # are comments. -# Blank lines are ignored. -# Every other line is expected to be in format: -# -# ELEMENT = FOREGROUND_COLOR BACKGROUND_COLOR [ATTRIBUTE[,ATTRIBUTE,..]] -# -# or -# -# colordef COLOR = RED GREEEN BLUE -# -# Where names are case insensitive. -# -# ELEMENT is an element of MOC interface. This can be: -# background - default background for regions when nothing is displayed -# frame - frames for windows -# window_title - the title of the window (eg name of the current -# directory) -# directory - a directory in the menu -# selected_directory - a directory that is selected using arrows -# playlist - playlist file -# selected_playlist - see selected directory -# file - an ordinary file in the menu (mp3, ogg, ...) -# selected_file - see selected directory -# marked_file - a file that is currently beeing played -# marked_selected_file - a file that is currently beeing played and is also -# selected using arrows -# info - information shown at the right side of files -# status - the status line with a message -# title - the title of the file that is currently beeing played -# state - the state: play, stop, or paus (>, [], ||) -# current_time - current time of playing -# time_left - the time left to the end of playing the current file -# total_time - the length of the currently played file -# time_total_frames - the brackets outside the total time of a file ([10:13]) -# sound_parameters - the frequency and bitrate numbers -# legend - "KHz" and "Kbps" -# disabled - disabled element ([STEREO]) -# enabled - enabled element -# empty_mixer_bar - "empty" part of the volume bar -# filled_mixer_bar - "filled" part of the volume bar -# empty_time_bar - "empty" part of the time bar -# filled_time_bar - "filled" part of the time bar -# entry - place wher user can type a search query or a file name -# entry_title - the title of an entry -# error - error message -# message - information message -# plist_time - total time of displayed items -# -# FOREGOUND_VOLOR and BACKGROUND_COLOR can have one of the following values: -# black, red, green, yellow, blue, magenta, cyan, white, default (can be -# transparent), grey (not standard, but works) -# -# Optional ATTRIBUTE parameters can be (from ncurses manual): -# normal - default (no highlight) -# standout - best highlighting mode of the terminal -# underline - underlining -# reverse - reverse video -# blink - blinking -# dim - half bright -# bold - extra bright or bold -# protect - protected mode -# -# You can specify a list of attributes separated by commas: attr1,attr2,attr3. -# Don't use spaces anywhere in such a list. -# -# With colordef you can chend the definition of a color. It works only if -# your termina supports it, if not those lines will be silently ignored. -# COLOR must be a valid color name and the RED GREEN and BLUE are numbers -# from 0 to 1000. Example: -# -# colordef red = 1000 0 0 -# -# HINT: you have only 8 colors, but combined with attributes bold and/or -# reversed you actually get more colors. -# -# If you don't specify some elements, the default values will be used. -# -# Here follows the default configuration: -background = default default -frame = default default -window_title = default default -directory = default default bold -selected_directory = default black bold -playlist = default default bold -selected_playlist = default black bold -file = default default -selected_file = default black -marked_file = green default bold -marked_selected_file = green black bold -info = blue default bold -status = default default -title = default default bold -state = default default bold -current_time = default default bold -time_left = default default bold -total_time = default default bold -time_total_frames = default default -sound_parameters = default default bold -legend = default default -disabled = blue default bold -enabled = default default bold -empty_mixer_bar = default default -filled_mixer_bar = black cyan -empty_time_bar = default default -filled_time_bar = black cyan -entry = default default -entry_title = black cyan -error = red default bold -message = green default bold -plist_time = default default diff --git a/.mutt/.gitignore b/.mutt/.gitignore deleted file mode 100644 index ce8da72..0000000 --- a/.mutt/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -cache -temp -alias -certificates diff --git a/.mutt/Makefile b/.mutt/Makefile deleted file mode 100644 index ba059f1..0000000 --- a/.mutt/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -SUBDIR=.mutt -objects=aethon.muttrc arch.muttrc colors.muttrc gmail.muttrc \ - iactor.muttrc macros mailcap muttrc ninthfloor.muttrc \ - ryuslash.org.muttrc sig - -include ../dotfiles.mk diff --git a/.mutt/aethon.muttrc b/.mutt/aethon.muttrc deleted file mode 100644 index 259098a..0000000 --- a/.mutt/aethon.muttrc +++ /dev/null @@ -1,14 +0,0 @@ -### -# aethon.nl specific options -### - -set from = "thomas@aethon.nl" -set smtp_url = "smtp://thomas@aethon.nl@smtp.gmail.com:587/" -set mbox = "+aethon/INBOX" -set signature = "~/documents/work/aethon/signature.txt" -set postponed = "+aethon/drafts" -unset record - -macro index E "+aethon/archive~B " "search everything" -macro index D "+aethon/trash" "move message to the trash" -macro index S "+aethon/spam" "mark message as spam" diff --git a/.mutt/arch.muttrc b/.mutt/arch.muttrc deleted file mode 100644 index 36b260b..0000000 --- a/.mutt/arch.muttrc +++ /dev/null @@ -1,14 +0,0 @@ -### -# archlinux.us specific options -### - -set from = "tom.willemsen@archlinux.us" -set smtp_url = "smtp://tom.willemsen@archlinux.us@smtp.gmail.com:587/" -set mbox = "+arch/INBOX" -set postponed = "+arch/drafts" -unset record -unset signature - -macro index E "+arch/archive~B " "search everything" -macro index D "+arch/trash" "move message to the trash" -macro index S "+arch/spam" "mark message as spam" diff --git a/.mutt/colors.muttrc b/.mutt/colors.muttrc deleted file mode 100644 index 0779b07..0000000 --- a/.mutt/colors.muttrc +++ /dev/null @@ -1,65 +0,0 @@ -### -*- eval: (git-auto-commit-mode 1) -*- -# mutt colors file -### - -# set default -color normal default default - -# main colors -# element foreground background -color status color7 color1 -color indicator color0 color2 -color tree color5 default -color error brightcolor1 default -color message color3 default - -# uncolor certain messages -uncolor index "~P" -uncolor index "~N ~u" -uncolor index "~N !~u" -uncolor index "~T" -uncolor index "~D" - -# and recolor them appropriately -color index color3 default "~P" -color index color2 default "~u" -color index brightcolor2 default "~N ~u" # new ML mail -color index brightcolor3 default "~N !~u" # new non-ML mail -color index brightcolor5 default "~T" -color index color1 default "~D" - -# set up the headers -color header brightcolor2 default "^from:" -color header brightcolor2 default "^to:" -color header brightcolor2 default "^cc:" -color header brightcolor2 default "^date:" -color header brightcolor2 default "^subject:" - -# message bodies -color attachment color3 default -color search color1 color0 -color signature color5 default -color tilde color4 default - -# urls -color body brightcolor4 default "(^|<| )mailto:[^ ]+@[^ ]( |>|$)" -color body brightcolor4 default "(^|<| )(http|https|ftp|file|telnet|news|finger)://[^ ]+( |>|$)" - -# smileys -color body brightcolor5 default "(^| )+(|[<>|])[8;:](|[^ ])[)(/|DOPS]( |$)+" -color body brightcolor5 default "(^| )+[)(/|DOPS](|[^ ])[8;:](|[<>|])( |$)+" - -# *bold*, _underline_ and /italic/ -color body brightcolor6 default "(^| )\\*[^*]+\\*( |$)" -color body brightcolor6 default "(^| )_[^_]+_( |$)" -color body brightcolor6 default "(^| )/[^/]+/( |$)" - -# quote blocks -color quoted brightcolor7 default -color quoted1 brightcolor1 default -color quoted2 brightcolor2 default -color quoted3 brightcolor3 default -color quoted4 brightcolor4 default -color quoted5 brightcolor5 default -color quoted6 brightcolor6 default -color quoted7 brightdefault default diff --git a/.mutt/gmail.muttrc b/.mutt/gmail.muttrc deleted file mode 100644 index 80c9178..0000000 --- a/.mutt/gmail.muttrc +++ /dev/null @@ -1,14 +0,0 @@ -### -# gmail specific option -### - -set from = "ryuslash@gmail.com" -set smtp_url = "smtp://ryuslash@gmail.com@smtp.gmail.com:587/" -set mbox = "+gmail/INBOX" -set postponed = "+gmail/drafts" -unset record -unset signature - -macro index E "+gmail/archive~B " "search everything" -macro index D "+gmail/trash" "move message to the trash" -macro index S "+gmail/spam" "mark message as spam" diff --git a/.mutt/iactor.muttrc b/.mutt/iactor.muttrc deleted file mode 100644 index f090b5f..0000000 --- a/.mutt/iactor.muttrc +++ /dev/null @@ -1,13 +0,0 @@ -### -# iactor specific options -### - -set from = "tom@iactor.nl" -set smtp_url = "mail.iactor.nl:2525" -set mbox = "+iactor/INBOX" -set record = "+iactor/Sent" -set postponed = "+iactor/Drafts" -unset signature - -macro index E "+iactor/INBOX~B " "search everything" -macro index D "+iactor/Trash" "move message to the trash" diff --git a/.mutt/macros b/.mutt/macros deleted file mode 100644 index 3f6ec6b..0000000 --- a/.mutt/macros +++ /dev/null @@ -1 +0,0 @@ -macro pager \cb 'urlview' 'Follow links with urlview' diff --git a/.mutt/mailcap b/.mutt/mailcap deleted file mode 100644 index fba56f6..0000000 --- a/.mutt/mailcap +++ /dev/null @@ -1,6 +0,0 @@ -text/html; w3m -dump -T text/html -cols 80 %s; nametemplate=%s.html; copiousoutput -application/vnd.openxmlformats-officedocument.wordprocessingml.document; libreoffice %s -application/vnd.ms-excel; libreoffice %s -image/jpeg; feh %s -image/png; feh %s -application/pdf; gv %s diff --git a/.mutt/muttrc b/.mutt/muttrc deleted file mode 100644 index 2af358d..0000000 --- a/.mutt/muttrc +++ /dev/null @@ -1,121 +0,0 @@ -# ~/.muttrc -### - -# directories and commands -set alias_file = ~/.mutt/alias # alias file -set header_cache = ~/.mutt/cache/headers # where to store headers -set message_cachedir = ~/.mutt/cache/bodies # where to store bodies -set certificate_file = ~/.mutt/certificates # where to store certs -set mailcap_path = ~/.mutt/mailcap # entries for filetypes -set tmpdir = ~/.mutt/temp # where to keep temp files -set editor = "emacsclient -c" - -# main options -set mbox_type = Maildir # mailbox type -set folder = ~/documents/mail # mailbox location -set spoolfile = "+ninthfloor/INBOX" # ninthfloor is the default inbox -set timeout = 3 # idle time before scanning -set mail_check = 0 # minimum time between scans -set sort_alias = alias # sort alias file by alias -set reverse_alias # show names from alias file in index -unset move # gmail does that -set delete # don't ask, just do -unset confirmappend # don't ask, just do! -set quit # don't ask, just do!! -unset mark_old # read/new is good enough for me -set beep_new # bell on new mails -set pipe_decode # strip headers and eval mimes when piping -set thorough_search # strip headers and eval mimes before searching -set ssl_force_tls = yes - -# index options -set sort = threads # like gmail -set sort_aux = last-date-received # not like gmail -set uncollapse_jump # don't collapse on an unread message -#set sort_re # thread based on regex - -# pager options -set pager_index_lines = 10 # number of index lines to - # show -set pager_context = 5 # number of context lines - # to show -set pager_stop # don't go to next message - # automatically -set menu_scroll # scroll in menus -set smart_wrap # don't split words -set tilde # show tildes like in vim -unset markers # no ugly plus signs -auto_view text/html # view html automatically -alternative_order text/plain text/enriched text/html # save html for last -set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+| {4}" - -# formats -set status_format = "-%r %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?] (%s/%S) %> (%P) " -set date_format = "%d %b %H:%M" -set index_format = "%3C %Z %D [%-12.12L] %s" -set alias_format = "%4n %t %-20a %r" - -# composing mail -set realname = "Tom Willemse" # who am I? -set envelope_from # which from? -set sig_dashes # dashes before my sig... sweet -set edit_headers # show headers when composing -set fast_reply # skip to compose when replying -set askcc # ask for CC: -set fcc_attach # save attachments with the body -unset mime_forward # forward attachments as part fo body -set forward_format = "Fwd: %s" # format for subject when forwarding -set forward_decode # decode when forwarding -set attribution = "On %d, %n wrote:" # set the attribution -set reply_to # reply to Reply to: field -set reverse_name # reply as whomever it was to -set include # include message in replies -set forward_quote # include message inforwards - -# headers to show -ignore * # ignore all headers -unignore from: to: cc: date: subject: # show only these -hdr_order from: to: cc: date: subject: # and in this order - -# boxes -mailboxes +arch/INBOX #+arch/archive +arch/sent +arch/drafts +arch/spam +arch/trash -mailboxes +gmail/INBOX #+gmail/archive +gmail/sent +gmail/drafts +gmail/spam +gmail/trash -mailboxes +iactor/INBOX #+iactor/INBOX.Admin +iactor/INBOX.Important +iactor/INBOX.Intern +iactor/INBOX.Taken +iactor/Sent +iactor/Drafts +iactor/Trash -mailboxes +aethon/INBOX -mailboxes +ninthfloor/INBOX +ninthfloor/mailinglists -mailboxes +ryuslash.org/INBOX - -# always sourced -source $alias_file # required for functionality -source ~/.mutt/colors.muttrc # source colors file -source ~/.mutt/ninthfloor.muttrc # source arch as default - -# account specific sources -folder-hook arch/* source ~/.mutt/arch.muttrc -folder-hook gmail/* source ~/.mutt/gmail.muttrc -folder-hook iactor/* source ~/.mutt/iactor.muttrc -folder-hook aethon/* source ~/.mutt/aethon.muttrc -folder-hook ninthfloor/* source ~/.mutt/ninthfloor.muttrc -folder-hook ryuslash.org/* source ~/.mutt/ryuslash.org.muttrc - -# abook -set query_command = "abook --mutt-query '%s'" - -# macros -macro index I "!" "go to Inbox" -macro index Z "/usr/bin/offlineimap -q -o" "sync IMAP" -macro generic,index,pager \ca "abook" "launch abook" -macro index,pager A "abook --add-email" "add the sender address to abook" -macro generic,index,pager 1 "=ninthfloor/INBOX" "Show ninthfloor inbox" -macro generic,index,pager 2 "=gmail/INBOX" "Show gmail inbox" -macro generic,index,pager 3 "=arch/INBOX" "Show arch inbox" -macro generic,index,pager 4 "=aethon/INBOX" "Show aethon inbox" -macro generic,index,pager 5 "=ryuslash.org/INBOX" "Show ryuslash.org inbox" -macro generic,index,pager 6 "=iactor/INBOX" "Show iactor inbox" - -# key bindings -bind pager \177 previous-line # default didn't want to work anymore -#bind generic i what-key - -# mailing lists -subscribe dev@suckless.org diff --git a/.mutt/ninthfloor.muttrc b/.mutt/ninthfloor.muttrc deleted file mode 100644 index 16a3358..0000000 --- a/.mutt/ninthfloor.muttrc +++ /dev/null @@ -1,13 +0,0 @@ -### -# ninthfloor specific options -### - -set from = "ryuslash@ninthfloor.org" -set smtp_url = "smtp://ryuslash@mail.ninthfloor.org:587" -set mbox = "+ninthfloor/INBOX" -set record = "+ninthfloor/Sent" -set postponed = "+ninthfloor/Drafts" -unset signature - -macro index E "+ninthfloor/INBOX~B " "search everything" -macro index D "+ninthfloor/Trash" "move message to the trash" diff --git a/.mutt/ryuslash.org.muttrc b/.mutt/ryuslash.org.muttrc deleted file mode 100644 index 315aa9d..0000000 --- a/.mutt/ryuslash.org.muttrc +++ /dev/null @@ -1,13 +0,0 @@ -### -# ryuslash.org specific options -### - -set from = "tom@ryuslash.org" -set smtp_url = "smtp://tom@ryuslash.org@smtp.alwaysdata.com:587" -set mbox = "+ryuslash.org/INBOX" -set record = "+ryuslash.org/Sent" -set postponed = "+ryuslash.org/Drafts" -unset signature - -macro index E "+ryuslash.org/INBOX~B " "search everything" -macro index D "+ninthfloor/Trash" "move message to the trash" diff --git a/.mutt/sig b/.mutt/sig deleted file mode 100644 index e69de29..0000000 diff --git a/.ncmpcpp/Makefile b/.ncmpcpp/Makefile deleted file mode 100644 index 059c96b..0000000 --- a/.ncmpcpp/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=.ncmpcpp -objects=config - -include ../dotfiles.mk diff --git a/.ncmpcpp/config b/.ncmpcpp/config deleted file mode 100644 index 6d8655f..0000000 --- a/.ncmpcpp/config +++ /dev/null @@ -1,25 +0,0 @@ -# Playlist -autocenter_mode = "yes" -centered_cursor = "yes" -now_playing_prefix = "$b" -now_playing_suffix = "$/b" -playlist_display_mode = "classic" # (classic/columns) -song_list_format = "{$3%a$9 - }{$4%t$9} {$R$5[%b]$9}" - -# Bars -display_bitrate = "no" -progressbar_look = ">> " -song_status_format = "$0%t$9 {$1by$9 $0%a$9} {$1from$9 $0%b$9}{$1,$9 $0%y$9}" -titles_visibility = "no" - -# Browser -browser_display_mode = "classic" # (classic/columns) -browser_playlist_prefix = "$2plist >$9 " - -# Others -allow_physical_directories_deletion = "yes" -allow_physical_files_deletion = "yes" -fancy_scrolling = "yes" -mpd_music_dir = "/mnt/music/mp3" -search_engine_display_mode = "columns" # (classic/columns) -user_interface = "alternative" # (classic/alternative) diff --git a/.offlineimap.py b/.offlineimap.py deleted file mode 100644 index fb4f66e..0000000 --- a/.offlineimap.py +++ /dev/null @@ -1,51 +0,0 @@ -from offlineimap import imaputil - - -def lld_flagsimap2maildir(flagstring): - flagmap = {'\\seen': 'S', - '\\answered': 'R', - '\\flagged': 'F', - '\\deleted': 'T', - '\\draft': 'D', - 'gnus-expire': 'E'} - retval = [] - imapflaglist = [x.lower() for x in flagstring[1:-1].split()] - - for imapflag in imapflaglist: - if imapflag in flagmap: - retval.append(flagmap[imapflag]) - - retval.sort() - return set(retval) - - -def lld_flagsmaildir2imap(list): - flagmap = {'S': '\\Seen', - 'R': '\\Answered', - 'F': '\\Flagged', - 'T': '\\Deleted', - 'D': '\\Draft', - 'E': 'gnus-expire'} - retval = [] - - for mdflag in list: - if mdflag in flagmap: - retval.append(flagmap[mdflag]) - - retval.sort() - return '(' + ' '.join(retval) + ')' - -imaputil.flagsmaildir2imap = lld_flagsmaildir2imap -imaputil.flagsimap2maildir = lld_flagsimap2maildir - - -def getuser(host): - import netrc - mynet = netrc.netrc() - return mynet.authenticators(host)[0] - - -def getpassword(host): - import netrc - mynet = netrc.netrc() - return mynet.authenticators(host)[2] diff --git a/.offlineimaprc b/.offlineimaprc deleted file mode 100644 index 5b96d16..0000000 --- a/.offlineimaprc +++ /dev/null @@ -1,110 +0,0 @@ -# -*- mode: conf-unix; -*- -[general] -# NOTE: cronjob calls the quiet UI with -u -ui = TTYUI -accounts = ryuslash.org,gmail,aethon,ninthfloor -pythonfile = ~/.offlineimap.py - -[Account ryuslash.org] -localrepository = ryuslash.org-local -remoterepository = ryuslash.org-remote -# postsynchook = /home/slash/usr/bin/emacs-send-mail ryuslash.org - -[Repository ryuslash.org-local] -type = Maildir -localfolders = ~/documents/mail/ryuslash.org -nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize()) - -[Repository ryuslash.org-remote] -type = IMAP -remotehost = imap.alwaysdata.com -remoteusereval = getuser("imap.alwaysdata.com") -remotepasseval = getpassword("imap.alwaysdata.com") -nametrans = lambda folder: folder.lower() - -[Account aethon] -localrepository = aethon-local -remoterepository = aethon-remote -# postsynchook = /home/slash/usr/bin/emacs-send-mail aethon - -[Repository aethon-local] -type = Maildir -localfolders = ~/documents/mail/aethon -nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Concepten', re.sub('^sent$', '[Gmail]/Verzonden berichten', re.sub('^trash$', '[Gmail]/Prullenbak', folder)))) - -[Repository aethon-remote] -type = Gmail -remoteusereval = getuser("imap.google.com-aethon") -remotepasseval = getpassword("imap.google.com-aethon") -realdelete = no -cert_fingerprint = b0ba392bba326e6feb1add4d04fa0fb86cd173fa -folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Concepten', '[Gmail]/Verzonden berichten', '[Gmail]/Prullenbak'] -nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Concepten$', 'drafts', re.sub('^\[Gmail\]/Verzonden berichten$', 'sent', re.sub('^\[Gmail\]/Prullenbak$', 'trash', folder)))) - -[Account gmail] -localrepository = gmail-local -remoterepository = gmail-remote -# postsynchook = /home/slash/usr/bin/emacs-send-mail gmail - -[Repository gmail-local] -type = Maildir -localfolders = ~/documents/mail/gmail -nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Drafts', re.sub('^sent$', '[Gmail]/Sent Mail', re.sub('^trash$', '[Gmail]/Trash', folder)))) - -[Repository gmail-remote] -type = Gmail -remoteusereval = getuser("imap.google.com") -remotepasseval = getpassword("imap.google.com") -realdelete = no -cert_fingerprint = b0ba392bba326e6feb1add4d04fa0fb86cd173fa -folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash'] -nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder)))) - -[Account ninthfloor] -localrepository = ninthfloor-local -remoterepository = ninthfloor-remote -# postsynchook = /home/slash/usr/bin/emacs-send-mail ninthfloor - -[Repository ninthfloor-local] -type = Maildir -localfolders = ~/documents/mail/ninthfloor -nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize()) - -[Repository ninthfloor-remote] -type = IMAP -remotehost = ninthfloor.org -remoteusereval = getuser("ninthfloor.org") -remotepasseval = getpassword("ninthfloor.org") -nametrans = lambda folder: folder.lower() - -[Account arch] -localrepository = arch-local -remoterepository = arch-remote - -[Repository arch-local] -type = Maildir -localfolders = ~/documents/mail/arch -nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Drafts', re.sub('^sent$', '[Gmail]/Sent Mail', re.sub('^trash$', '[Gmail]/Trash', folder)))) - -[Repository arch-remote] -type = Gmail -remoteusereval = getuser("imap.google.com-arch") -remotepasseval = getpassword("imap.google.com-arch") -realdelete = no -cert_fingerprint = 6d1b5b5ee0180ab493b71d3b94534b5ab937d042 -folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash'] -nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder)))) - -[Account iactor] -localrepository = iactor-local -remoterepository = iactor-remote - -[Repository iactor-local] -type = Maildir -localfolders = ~/documents/mail/iactor - -[Repository iactor-remote] -type = IMAP -remotehost = mail.iactor.nl -remoteusereval = getuser("mail.iactor.nl") -remotepasseval = getpassword("mail.iactor.nl") diff --git a/.pentadactyl/Makefile b/.pentadactyl/Makefile deleted file mode 100644 index 6c3ac5c..0000000 --- a/.pentadactyl/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=.pentadactyl -modules=plugins - -include ../dotfiles.mk diff --git a/.pentadactyl/plugins/Makefile b/.pentadactyl/plugins/Makefile deleted file mode 100644 index badaa01..0000000 --- a/.pentadactyl/plugins/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=plugins -objects=emacs.penta - -include ../../dotfiles.mk diff --git a/.pentadactyl/plugins/emacs.penta b/.pentadactyl/plugins/emacs.penta deleted file mode 100644 index e28bce3..0000000 --- a/.pentadactyl/plugins/emacs.penta +++ /dev/null @@ -1,98 +0,0 @@ -set editor=emacsclient -set go=bCs -set hintkeys="arstdhneio" -set stal=never -set titlestring= - -highlight -a Hint text-transform: uppercase - -map -b : -map -b -m base - -map -b -m c -map -b -m c - -map -b -m i -map -b -m i - -map -b -m c,i -map -b -m c,i -map -b -m c,i -map -b -m c,i -map -b -m c,i -map -b -m c,i - -map -b gg -map -b > G -map -b -map -b y - -map -b u -map -b 0 -map -b -map -b $ -map -b -map -b gT -map -b gt -map -b 2j -map -b 2k -map -b ? -map -b / -map -b -map -b Y -map -b P - -map -b ~ ~ -map -b e gF -map -b g gf -map -b h gh -map -b i gi -map -b k d -map -b m ;c -map -b p ;i -map -b r r -map -b R R -map -b u gu - -map -b b -map -b ZZ -map -b t -map -b :restart -map -b gU -map -b O - -map -map -map -map -map -map : -map ~ -map / -map ? -map $ -map 0 -map b -map B -map d -map F -map gg -map gh -map gi -map gU -map G -map i -map j -map k -map o -map O -map p -map P -map q -map r -map t -map u -map w -map y -map Y -map ZZ diff --git a/.sawfish/Makefile b/.sawfish/Makefile deleted file mode 100644 index 842bb1a..0000000 --- a/.sawfish/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=.sawfish -objects=rc - -include ../dotfiles.mk diff --git a/.sawfish/rc b/.sawfish/rc deleted file mode 100644 index 5f7da7c..0000000 --- a/.sawfish/rc +++ /dev/null @@ -1,186 +0,0 @@ -;; -*- mode: sawfish; -*- -(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.util.stacking) - -(define oni:window-packing-keymap (make-keymap)) -(define oni:window-growing-keymap (make-keymap)) -(define oni:window-shrinking-keymap (make-keymap)) -(define oni:window-yanking-keymap (make-keymap)) -(define oni:window-management-keymap (make-keymap)) -(define oni:extended-keymap (make-keymap)) -(define my-keymap (make-keymap)) - -(defun oni:emacs-main-window-p (window) - "Check wether or not WINDOW is Emacs' main window." - (let ((name (window-name window))) - (and (string-match "^emacs: " name) - (not (string= "emacs: *Sauron*" name))))) - -(defun oni:place-emacs-windows () - "Place Emacs' main, sauron and optionally speedbar windows the -way I like them." - (let ((main-window (car (filter-windows oni:emacs-main-window-p))) - (sauron-window (get-window-by-name "emacs: *Sauron*")) - (speedbar-window (get-window-by-name "^Speedbar " #:regex t))) - (move-window-to main-window 0 0) - (move-window-to sauron-window 0 0) - - (set-window-type sauron-window 'transient) - (pack-window-down sauron-window) - (grow-window-right sauron-window) - - (when speedbar-window - (move-window-to speedbar-window 0 0) - (set-window-type speedbar-window 'transient) - (yank-window-right main-window) - (grow-window-down speedbar-window)) - - (grow-window-down main-window) - (grow-window-right main-window))) - -(define-command 'oni:place-emacs-windows oni:place-emacs-windows) - -(defun oni:run-or-raise (command #!key id name class role) - "Either run COMMAND, or if a window with class CLASS is found, -raise it." - (let* ((windows (filter - (lambda (x) - (and (or (not id) (equal (window-id x) id)) - (or (not name (equal (window-name x) name))) - (or (not class) (equal (window-class x) class)) - (or (not role) (equal (window-role x) role)))) - (window-order))) - (first (car windows)) - (w (if (equal first (input-focus)) (last windows) first))) - (if w (display-window w) - (call-command `(run-shell-command ,command))))) - -(define (send-cz window #!optional arg) - (synthesize-event "C-z" window)) -(define-command 'send-cz send-cz #:spec "%W\nP") - -(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 - '(("Emacs" (system "emacsclient -c &")) - ("Terminal" (system "urxvt &")))) - -(bind-keys oni:window-packing-keymap - "p" 'pack-window-up - "n" 'pack-window-down - "b" 'pack-window-left - "f" 'pack-window-right) - -(bind-keys oni:window-growing-keymap - "p" 'grow-window-up - "n" 'grow-window-down - "b" 'grow-window-left - "f" 'grow-window-right) - -(bind-keys oni:window-shrinking-keymap - "p" 'shrink-window-up - "n" 'shrink-window-down - "b" 'shrink-window-left - "f" 'shrink-window-right) - -(bind-keys oni:window-yanking-keymap - "p" 'yank-window-up - "n" 'yank-window-down - "b" 'yank-window-left - "f" 'yank-window-right) - -(bind-keys oni:window-management-keymap - "M" 'maximize-window-toggle - "p" oni:window-packing-keymap - "g" oni:window-growing-keymap - "s" oni:window-shrinking-keymap - "y" oni:window-yanking-keymap - "E" 'oni:place-emacs-windows) - -(bind-keys global-keymap - "XF86AudioPlay" '(run-shell-command "mpc toggle") - "XF86AudioStop" '(run-shell-command "mpc stop") - "XF86AudioMute" '(run-shell-command "amixer sset Master toggle") - "XF86AudioLowerVolume" '(run-shell-command "mpc volume -5") - "XF86AudioRaiseVolume" '(run-shell-command "mpc volume +5") - "XF86AudioPrev" '(run-shell-command "mpc prev") - "XF86AudioNext" '(run-shell-command "mpc next")) - -(bind-keys oni:extended-keymap - "w" oni:window-management-keymap - "Super-b" 'popup-window-list-menu) - -(bind-keys my-keymap - "C" '(run-shell-command "urxvt") - "C-b" 'popup-window-list-menu - "E" '(run-shell-command (getenv "EDITOR")) - "W" '(run-shell-command (getenv "BROWSER")) - "c" '(oni:run-or-raise "urxvt" #:class "URxvt") - "e" '(oni:run-or-raise (getenv "EDITOR") #:class "Emacs") - "w" '(oni:run-or-raise (getenv "BROWSER") #:class "Conkeror") - "z" 'send-cz) - -;; (ungrab-keymap global-keymap) -(bind-keys - global-keymap - "C-M-l" '(run-shell-command "i3lock -c \"#000000\"") - "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 - "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-F" 'yank-window-right - "Super-M" 'maximize-window-toggle - "Super-N" 'yank-window-down - "Super-P" 'yank-window-up - "Super-TAB" 'cycle-windows - "Super-`" 'popup-root-menu - "Super-b" 'pack-window-left - "Super-f" 'pack-window-right - "Super-n" 'pack-window-down - "Super-p" 'pack-window-up - "Super-x" oni:extended-keymap - "C-z" my-keymap - ) -;; (grab-keymap global-keymap) - -(add-window-matcher '((WM_CLASS . "^(Firefox|Conkeror)/Navigator$")) - '((position . north-east) - (maximized . all))) - -(define (term-window-position w) - (- (screen-width) (window-width w) 1680)) - -(add-hook 'place-window-hook - (lambda (w) - (case (intern (window-class w)) - ((URxvt) - (resize-window-with-hints w 79 24) - (move-window-to w (term-window-position w) 0) - (grow-window-down w) - t) - ((Emacs) - (resize-window-with-hints w 101 24) - (move-window-to w 0 0) - (grow-window-down w) - t)))) diff --git a/.screenrc b/.screenrc deleted file mode 100644 index 16e3032..0000000 --- a/.screenrc +++ /dev/null @@ -1,4 +0,0 @@ -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" diff --git a/.scwmrc b/.scwmrc deleted file mode 100644 index 72ddae8..0000000 --- a/.scwmrc +++ /dev/null @@ -1,305 +0,0 @@ -;; -*- mode: scheme; -*- -;; simple.scwmrc was system.scwmrc until Scwm-0.99.2 - -;; Uncomment the below to send a single UDP packet to -;; the scwm usage counter machine at startup -;; The single packet just contains the hostname and version number -;; To disable, set environment variable SCWM_DO_NOT_LOG_USAGE -;;(define thank-scwm-authors-with-usage-note #t) - -(define user-image-load-path - (list (string-append (user-home) "/src/scwm/pixmaps") - (string-append (user-home) "/src/scwm/bitmaps"))) - -;;; set path to use for image searches -(set! image-load-path - (append - user-image-load-path - '("/usr/X11/lib/X11/mini-icons" "/usr/X11/include/X11/pixmaps" - "/usr/lib/icons" "/usr/local/X11/include/X11/pixmaps" - "/usr/local/lib/icons" "/usr/local/icons" - "/uns/share/include/X11/pixmaps" "/uns/share/include/X11/bitmaps") - image-load-path)) - -;;-------------------------------;; -;; import the scwm modules ;; - -#! -(use-scwm-modules minimal base winops winlist wininfo - doc style message-window face - preferences style - ;optargs winlist-menu) - winlist-menu) -!# - - -(use-modules - (app scwm minimal) - (app scwm base) - (app scwm style) - (app scwm winops) - (app scwm winlist) - (app scwm wininfo) - (app scwm doc) - (app scwm message-window) - (app scwm face) - ;(app scwm preferences) - (app scwm optargs) - (app scwm winlist-menu)) - - -;;-------------------------------;; -;; set some basic styles info ;; - - -(define font - (make-font "-unknown-DejaVu Sans Mono-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1")) - -(menu-style #:fg "#eeeeec" - #:bg "#252a2b" - #:stipple "blue" - #:hl-fg "yellow" - #:font font) - -(title-style #:font font #:justify 'left) - -(set-icon-font! font) -(set-highlight-foreground! "white") -(set-highlight-background! "blueviolet") -(set-rubber-band-mask! 127) - -;;-------------------------------;; -;; set some paths ;; -;; - -;; these are OK for my system, but may need to be changed for -;; yours. This should probably be eventually autoconfed or something. - -;;; set path to use for image searches -(set! image-load-path - (append - user-image-load-path - '("/usr/X11/lib/X11/mini-icons" "/usr/X11/include/X11/pixmaps" - "/usr/lib/icons" "/usr/local/X11/include/X11/pixmaps" - "/usr/local/lib/icons" "/usr/local/icons" - "/uns/share/include/X11/pixmaps" "/uns/share/include/X11/bitmaps") - image-load-path)) - -;;-------------------------------;; -;; set some window styles ;; - -(window-style "*" - #:fg "white" #:bg "navy" - #:icon "unknown1.xpm" - #:icon-box (list (x- 70) 1 69 (y- 141)) - #:border-width 6 - #:focus 'mouse - #:mwm-func-hint #t #:mwm-decor-hint #t - #:hint-override #t #:decorate-transient #t - #:PPosition-hint #f - #:lenience #t - ) -(define desk-widget - (make-style #:plain-border #t #:sticky #t #:winlist-skip #t - #:border-width 3 #:focus 'none)) - -(window-style "*lock" #:use-style desk-widget) -(window-style "xload" #:no-titlebar #t #:use-style desk-widget) -(window-style "xscreensaver" #:no-titlebar #t #:use-style desk-widget) -(window-style "xbiff" #:no-titlebar #t #:use-style desk-widget) -(window-style "xcalc" #:icon "xcalc.xpm") -(window-style "xman" #:icon "xman.xpm") -(window-style "xmag" #:icon "mag_glass.xpm") -(window-style "Emacs" #:icon "gnu-animal.xpm") -(window-style "XTerm" #:icon "xterm.xpm") - - -;; People seem to prefer move by full virtual desks -(set-edge-resistance! 500 10) -(set-edge-scroll! (%x 100) (%y 100)) - - -;;-------------------------------;; -;; define some useful menus ;; - - -(define window-ops-menu - (menu - (list - (menu-title "Window Ops") menu-separator - (menuitem "Move" #:action interactive-move) - (menuitem "Resize" #:action interactive-resize) - (menuitem "Raise" #:action raise-window) - (menuitem "Lower" #:action lower-window) -;; (menuitem "Print" #:action print-window) - (menuitem "(Un)Window-Shade" #:action toggle-window-shade) - (menuitem "(De)Iconify" #:action toggle-iconify) - (menuitem "(Un)Maximize" #:action toggle-maximize-vertical) - (menuitem "(Un)Stick" #:action toggle-stick) - (menuitem "(Un)Keep On Top" #:action toggle-on-top) - menu-separator - (menuitem "Close" #:action close-window) - (menuitem "Delete" #:action delete-window) - (menuitem "Destroy" #:action destroy-window) - menu-separator - (menuitem "Refresh Screen" #:action refresh)))) - -(define* (popup-ops) - "" - (interactive) - (popup-menu window-ops-menu)) - -;; Hack to let quit work -(set-procedure-property! quit 'interactive #t) - -(define menu-quit-verify - (menu - (list - (menu-title "Really quit scwm?") menu-separator - ;;(menuitem "Yes" #:action scheme-quit) - (menuitem "Yes" #:action quit) - (menuitem "No" #:action #f) - menu-separator - (menuitem "Restart scwm" #:action (lambda () (restart "scwm")))))) - -(define (quit-verify) - (popup-menu menu-quit-verify)) - -(define desk-menu - (menu - (list - (menu-title "Desks") menu-separator - (menuitem "Desk 1" #:action (lambda () (set-current-desk! 0))) - (menuitem "Desk 2" #:action (lambda () (set-current-desk! 1))) - (menuitem "Desk 3" #:action (lambda () (set-current-desk! 2))) - (menuitem "Desk 4" #:action (lambda () (set-current-desk! 3)))))) - -(define util-menu - (menu - (list - (menu-title "Utilities") menu-separator - ;(menuitem "Preferences..." #:action scwm-options-dialog) - menu-separator - (menuitem "urxvt" #:action (lambda () (execute "urxvt"))) - (menuitem "emacs" #:action (lambda () (execute "emacsclient -c -a emacs"))) - (menuitem "firefox" #:action (lambda () (execute "firefox"))) - (menuitem "top" #:action - (lambda () (execute "urxvt -T Top -n Top -e top"))) - menu-separator - (menuitem "Desks" #:action desk-menu) - menu-separator - (menuitem "Exit scwm" #:action menu-quit-verify)))) - -(define* (popup-util) - "" - (interactive) - (popup-menu util-menu)) - -(define (make-small-window-ops-menu w) - (menu - (list -;; (menu-title "Window Ops2") -;; menu-separator - (menuitem "Move" #:action interactive-move) - (menuitem "Resize" #:action interactive-resize) - (menuitem "Raise" #:action raise-window) - (menuitem "Lower" #:action lower-window) - (menuitem "Iconify" #:action iconify-window) - menu-separator - (menuitem "More..." #:action - (menu - (list - (menuitem (if (maximized? w) - "Unmaximize" - "Maximize") - #:action toggle-maximize-vertical) - (menuitem (if (sticky-window? w) - "Unstick" - "Stick") #:action toggle-stick) - (menuitem (if (shaded-window? w) - "UnWindow-Shade" - "Window-Shade") - #:action toggle-window-shade) - (menuitem (if (kept-on-top? w) - "UnKeep On Top" - "Keep On Top") #:action toggle-on-top)))) - menu-separator - (menuitem "Close" #:action close-window) - (menuitem "Destroy" #:action destroy-window)))) - -(define* (popup-small-ops) - "" (interactive) - (popup-menu (make-small-window-ops-menu (get-window)))) - - -;; now set some mouse and key bindings ;; - -;; first our root menus -(bind-mouse 'root 1 popup-util) -(bind-mouse 'root 2 popup-ops) -(bind-mouse 'root 3 (lambda () - (show-window-list-menu #f #f #:show-geometry #t))) -(bind-mouse 'root "M-3" (lambda () (popup-menu desk-menu))) - - -;; window buttons -(bind-mouse 'left-button-1 1 popup-small-ops) -(bind-mouse 'right-button-1 1 toggle-maximize-vertical) -(bind-mouse 'right-button-2 1 iconify-window) - -;; operations on parts of the window -(bind-mouse '(frame-corners frame-sides) 2 popup-small-ops) -(bind-mouse 'frame-corners 1 resize-or-raise) -(bind-mouse 'frame-sides 1 move-or-raise) - -(define* (move-or-shade) - "" - (interactive) - (case (mouse-event-type) - ((double-click) (toggle-window-shade)) - (else (move-or-raise)))) - -(bind-mouse 'title 1 move-or-shade) -(bind-mouse 'title 3 lower-window) - - -;; key bindings for the menus -(bind-key 'all "M-F1" popup-util) -(bind-key 'all "M-F2" popup-ops) - -;; in case of emergency, hit Control-Meta-Shift-Q -(bind-key 'all "C-M-S-q" quit-verify) - -;; some stuff for icons -(define* (move-or-deiconify) - "" - (interactive) - (case (mouse-event-type) - ((motion) (interactive-move)) - ((double-click) (deiconify-window)))) - -(bind-mouse 'icon 1 move-or-deiconify) -(bind-mouse 'icon 2 deiconify-window) - - - -;; move the pointer with the keyboard -(bind-key 'all "M-Left" (lambda () (move-pointer (%x -1) 0))) -(bind-key 'all "M-Right" (lambda () (move-pointer (%x 1) 0))) -(bind-key 'all "M-Up" (lambda () (move-pointer 0 (%y -1)))) -(bind-key 'all "M-Down" (lambda () (move-pointer 0 (%y 1)))) - -;; move the viewport with the keyboard -(bind-key 'all "C-M-Left" (lambda () (move-viewport (%x -100) 0))) -(bind-key 'all "C-M-Right" (lambda () (move-viewport (%x 100) 0))) -(bind-key 'all "C-M-Up" (lambda () (move-viewport 0 (%y -100)))) -(bind-key 'all "C-M-Down" (lambda () (move-viewport 0 (%y 100)))) - -;; rotate the current window with the keyboard -(bind-key 'all "C-S-Tab" - (lambda () - (next-window #:only visible? #:except iconified-window?))) - -(bind-key 'all "M-S-Tab" - (lambda () - (prev-window #:only visible? #:except iconified-window?))) diff --git a/.slrnrc b/.slrnrc deleted file mode 100644 index 00e28d0..0000000 --- a/.slrnrc +++ /dev/null @@ -1,49 +0,0 @@ -nnrpaccess news.eternal-september.org slash "" -server news.eternal-september.org .local/share/slrn/newsrc/eternal-september -server news.gmane.org .local/share/slrn/newsrc/gmane - -color unread_subject "white" "default" "bold" - -color article "lightgray" "default" -color author "magenta" "default" -color boldtext "brightblue" "default" "bold" -color box "black" "white" -color cursor "brightgreen" "default" -color date "lightgray" "default" -color description "lightgray" "default" -color error "red" "default" "blink" -color frame "yellow" "blue" -color from_myself "brightmagenta" "default" "bold" -color group "lightgray" "default" "bold" -color grouplens_display "lightgray" "default" -color header_name "green" "default" "bold" -color header_number "green" "default" -color headers "brightcyan" "default" -color neg_score "green" "default" -color pos_score "blue" "default" -color high_score "red" "default" "bold" -color italicstext "magenta" "default" "bold" -color menu "white" "red" -color menu_press "lightgray" "yellow" -color message "lightgray" "default" -color normal "default" "default" -color pgpsignature "lightgray" "default" -color quotes "red" "default" -color quotes1 "magenta" "default" -color quotes2 "brown" "default" -color quotes3 "brown" "default" -color quotes4 "brown" "default" -color quotes5 "brown" "default" -color quotes6 "brown" "default" -color quotes7 "brown" "default" -color response_char "green" "default" "bold" -color signature "red" "default" -color selection "yellow" "blue" "bold" -color status "white" "red" -color subject "lightgray" "default" -color thread_number "lightgray" "default" "bold" -color tilde "green" "default" "bold" -color tree "red" "default" "bold" -color underlinetext "cyan" "default" "underline" -color url "white" "default" "bold" -color verbatim "green" "default" diff --git a/.ssh/.gitignore b/.ssh/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/.ssh/Makefile b/.ssh/Makefile deleted file mode 100644 index b805834..0000000 --- a/.ssh/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=.ssh -objects=config - -include ../dotfiles.mk diff --git a/.ssh/config b/.ssh/config deleted file mode 100644 index edace41..0000000 --- a/.ssh/config +++ /dev/null @@ -1,22 +0,0 @@ -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 diff --git a/.stumpwmrc b/.stumpwmrc deleted file mode 100644 index 30df336..0000000 --- a/.stumpwmrc +++ /dev/null @@ -1,224 +0,0 @@ -;; -*- 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 mpd-playing-p () - "Check if MPD is currently in the playing state." - (and (cl-ppcre:scan - "\\n\\[playing\\]" - (with-output-to-string (status) - (sb-ext:run-program "/usr/bin/mpc" '() :output status))) - t)) - -(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)))) - -(defun mpd-pause () - "Pause MPD playback." - (when (setf *mpd-was-playing-p* (mpd-playing-p)) - (sb-ext:run-program "/usr/bin/mpc" '("pause") :wait nil))) - -(defun mpd-play () - "Resume MPD playback." - (when *mpd-was-playing-p* - (sb-ext:run-program "/usr/bin/mpc" '("play") :wait nil))) - -(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 *lock-screen-hook* 'mpd-pause) -(add-hook *screen-unlocked-hook* 'set-jabber-online) -(add-hook *screen-unlocked-hook* 'mpd-play) - -(set-prefix-key (kbd "C-z")) - -(define-key *top-map* (kbd "C-M-l") "lock-screen") -(define-key *top-map* (kbd "XF86AudioLowerVolume") "exec mpc volume -5") -(define-key *top-map* (kbd "XF86AudioMute") - "exec amixer sset Master toggle") -(define-key *top-map* (kbd "XF86AudioNext") "exec mpc next") -(define-key *top-map* (kbd "XF86AudioPlay") "exec mpc toggle") -(define-key *top-map* (kbd "XF86AudioPrev") "exec mpc prev") -(define-key *top-map* (kbd "XF86AudioRaiseVolume") "exec mpc volume +5") - -(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))) - -(restore-from-file - (concatenate 'string (sb-ext:posix-getenv "HOME") - "/.stumpwm.d/desktop.lisp")) - -; (swank:create-server) diff --git a/.tmux.conf b/.tmux.conf deleted file mode 100644 index ef38f70..0000000 --- a/.tmux.conf +++ /dev/null @@ -1,3 +0,0 @@ -set -g default-terminal "screen-256color" -set-option -g status-bg 2 -set-option -g status-fg 7 diff --git a/.urlview b/.urlview deleted file mode 100644 index 35d5f34..0000000 --- a/.urlview +++ /dev/null @@ -1,2 +0,0 @@ -REGEXP (((http|https|ftp|gopher)|mailto)[.:][^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):] -COMMAND conkeror %s diff --git a/.w3m/.gitignore b/.w3m/.gitignore deleted file mode 100644 index c375d5b..0000000 --- a/.w3m/.gitignore +++ /dev/null @@ -1 +0,0 @@ -history diff --git a/.w3m/Makefile b/.w3m/Makefile deleted file mode 100644 index ba96315..0000000 --- a/.w3m/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=.w3m -objects=config - -include ../dotfiles.mk diff --git a/.w3m/config b/.w3m/config deleted file mode 100644 index 9c4a8a2..0000000 --- a/.w3m/config +++ /dev/null @@ -1,141 +0,0 @@ -simple_preserve_space 0 -gb18030_as_ucs 0 -strict_iso2022 1 -use_jisx0213 0 -use_jisx0212 0 -use_jisx0201k 0 -use_jisc6226 0 -use_jisx0201 0 -use_gb12345_map 0 -fix_width_conv 1 -search_conv 1 -pre_conv 0 -ucs_conv 1 -use_language_tag 1 -east_asian_width 0 -use_combining 1 -use_wide 1 -ext_halfdump 0 -follow_locale 1 -system_charset UTF-8 -auto_detect 2 -document_charset UTF-8 -display_charset UTF-8 -cookie_avoid_wrong_number_of_dots -cookie_accept_domains -cookie_reject_domains -accept_bad_cookie 0 -accept_cookie 0 -show_cookie 1 -use_cookie 0 -ssl_ca_file -ssl_ca_path -ssl_key_file -ssl_cert_file -ssl_verify_server 0 -ssl_forbid_method -no_cache 0 -noproxy_netaddr 1 -no_proxy -ftp_proxy -https_proxy -http_proxy -use_proxy 1 -max_news 50 -nntpmode -nntpserver -dns_order 0 -meta_refresh 0 -follow_redirection 10 -default_url 0 -retry_http 1 -argv_is_url 0 -accept_media text/html, text/*;q=0.5, image/* -accept_encoding gzip, compress, bzip, bzip2, deflate -accept_language en;q=1.0 -no_referer 0 -user_agent -pre_form_file ~/.w3m/pre_form -ftppass_hostnamegen 1 -ftppasswd -disable_secret_security_check 0 -passwd_file ~/.w3m/passwd -use_lessopen 0 -bgextviewer 1 -extbrowser3 -extbrowser2 -extbrowser /usr/bin/mozilla -mailer /usr/bin/mail -mailto_options 1 -editor /usr/bin/vi -urimethodmap ~/.w3m/urimethodmap, /usr/etc/w3m/urimethodmap -mailcap ~/.w3m/mailcap, /usr/etc/w3m/mailcap -mime_types ~/.mime.types, /usr/etc/mime.types -index_file -cgi_bin -personal_document_root -document_root -keymap_file keymap -preserve_timestamp 1 -auto_uncompress 0 -decode_cte 0 -clear_buffer 1 -ignorecase_search 1 -wrap_search 0 -mark_all_pages 0 -vi_prec_num 0 -emacs_like_lineedit 0 -mark 0 -close_tab_back 0 -confirm_qq 1 -save_hist 1 -history 100 -use_history 1 -pagerline 10000 -visited_color magenta -visited_anchor 0 -active_color cyan -active_style 0 -bg_color terminal -mark_color cyan -form_color red -image_color green -anchor_color blue -basic_color terminal -color 1 -nextpage_topline 0 -label_topline 0 -show_srch_str 1 -show_lnum 0 -fold_line 0 -image_map_list 1 -imgdisplay w3mimgdisplay -image_scale 100 -ext_image_viewer 1 -max_load_image 4 -auto_image 1 -pseudo_inlines 1 -display_image 1 -view_unseenobject 0 -ignore_null_img_alt 1 -display_ins_del 1 -fold_textarea 0 -graphic_char 0 -alt_entity 1 -multicol 0 -dictcommand file:///$LIB/w3mdict.cgi -use_dictcommand 0 -dirlist_cmd file:///$LIB/dirlist.cgi -ext_dirlist 1 -display_lineinfo 0 -decode_url 1 -display_link_number 1 -display_link 1 -open_tab_dl_list 0 -open_tab_blank 0 -target_self 0 -frame 0 -pixel_per_line 17 -pixel_per_char 8 -indent_incr 4 -tabstop 8 diff --git a/.weechat/Makefile b/.weechat/Makefile deleted file mode 100644 index 6f81768..0000000 --- a/.weechat/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=.weechat -objects=alias.conf irc.conf weechat.conf - -include ../dotfiles.mk diff --git a/.weechat/alias.conf b/.weechat/alias.conf deleted file mode 100644 index dc8e9b3..0000000 --- a/.weechat/alias.conf +++ /dev/null @@ -1,38 +0,0 @@ -# -# alias.conf -- weechat v0.3.6 -# - -[cmd] -AAWAY = "allserv /away" -AME = "allchan /me" -AMSG = "allchan /msg *" -ANICK = "allserv /nick" -BYE = "quit" -C = "buffer clear" -CHAT = "dcc chat" -CL = "buffer clear" -CLOSE = "buffer close" -EXIT = "quit" -ident = "msg NickServ identify $*" -IG = "ignore" -J = "join" -K = "kick" -KB = "kickban" -LEAVE = "part" -M = "msg" -MUB = "unban *" -N = "names" -Q = "query" -REDRAW = "window refresh" -SAY = "msg *" -SIGNOFF = "quit" -T = "topic" -UB = "unban" -V = "command core version" -W = "who" -WC = "window merge" -WI = "whois" -WII = "whois $1 $1" -WW = "whowas" - -[completion] diff --git a/.weechat/irc.conf b/.weechat/irc.conf deleted file mode 100644 index 1e15734..0000000 --- a/.weechat/irc.conf +++ /dev/null @@ -1,154 +0,0 @@ -# -# irc.conf -- weechat v0.3.6 -# - -[look] -buffer_switch_autojoin = on -buffer_switch_join = on -color_nicks_in_names = off -color_nicks_in_nicklist = off -color_nicks_in_server_messages = on -color_pv_nick_like_channel = on -display_away = local -display_ctcp_blocked = on -display_ctcp_reply = on -display_ctcp_unknown = on -display_host_join = on -display_host_join_local = on -display_host_quit = on -display_old_topic = on -display_pv_away_once = on -display_pv_back = on -hide_nickserv_pwd = on -highlight_tags = "irc_privmsg,irc_notice" -item_away_message = on -item_channel_modes = on -item_channel_modes_hide_key = off -item_display_server = buffer_plugin -item_nick_modes = on -item_nick_prefix = on -msgbuffer_fallback = current -new_channel_position = none -new_pv_position = none -nick_color_force = "" -nick_color_stop_chars = "_|[" -nick_completion_smart = speakers -nick_prefix = "" -nick_suffix = "" -notice_as_pv = auto -notify_tags_ison = "notify_message" -notify_tags_whois = "notify_message" -part_closes_buffer = off -raw_messages = 256 -server_buffer = merge_with_core -smart_filter = on -smart_filter_delay = 5 -smart_filter_join = on -smart_filter_nick = on -smart_filter_quit = on -topic_strip_colors = off - -[color] -input_nick = lightcyan -item_away = yellow -item_channel_modes = default -item_lag_counting = default -item_lag_finished = yellow -message_join = green -message_quit = red -nick_prefix = green -nick_prefixes = "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue" -nick_suffix = green -notice = green -reason_quit = default -topic_new = white -topic_old = darkgray - -[network] -autoreconnect_delay_growing = 2 -autoreconnect_delay_max = 1800 -colors_receive = on -colors_send = on -lag_check = 60 -lag_disconnect = 0 -lag_min_show = 500 -lag_refresh_interval = 1 -notify_check_ison = 1 -notify_check_whois = 5 -send_unknown_commands = off - -[msgbuffer] - -[ctcp] - -[ignore] - -[server_default] -addresses = "" -anti_flood_prio_high = 2 -anti_flood_prio_low = 2 -autoconnect = off -autojoin = "" -autoreconnect = on -autoreconnect_delay = 10 -autorejoin = off -autorejoin_delay = 30 -away_check = 0 -away_check_max_nicks = 25 -command = "" -command_delay = 0 -connection_timeout = 60 -default_msg_part = "WeeChat %v" -default_msg_quit = "WeeChat %v" -ipv6 = off -local_hostname = "" -nicks = "slash,slash1,slash2,slash3,slash4" -notify = "" -password = "" -proxy = "" -realname = "" -sasl_mechanism = plain -sasl_password = "" -sasl_timeout = 15 -sasl_username = "" -ssl = off -ssl_cert = "" -ssl_dhkey_size = 2048 -ssl_priorities = "NORMAL" -ssl_verify = on -username = "slash" - -[server] -freenode.addresses = "irc.freenode.net" -freenode.proxy -freenode.ipv6 -freenode.ssl -freenode.ssl_cert -freenode.ssl_priorities -freenode.ssl_dhkey_size -freenode.ssl_verify -freenode.password -freenode.sasl_mechanism -freenode.sasl_username -freenode.sasl_password -freenode.sasl_timeout -freenode.autoconnect = on -freenode.autoreconnect -freenode.autoreconnect_delay -freenode.nicks = "ryuslash" -freenode.username = "ryuslash" -freenode.realname -freenode.local_hostname -freenode.command -freenode.command_delay -freenode.autojoin -freenode.autorejoin -freenode.autorejoin_delay -freenode.connection_timeout -freenode.anti_flood_prio_high -freenode.anti_flood_prio_low -freenode.away_check -freenode.away_check_max_nicks -freenode.default_msg_part -freenode.default_msg_quit -freenode.notify diff --git a/.weechat/weechat.conf b/.weechat/weechat.conf deleted file mode 100644 index 60ae637..0000000 --- a/.weechat/weechat.conf +++ /dev/null @@ -1,512 +0,0 @@ -# -# weechat.conf -- weechat v0.3.6 -# - -[debug] - -[startup] -command_after_plugins = "" -command_before_plugins = "" -display_logo = on -display_version = on - -[look] -align_end_of_lines = message -bar_more_down = "++" -bar_more_left = "<<" -bar_more_right = ">>" -bar_more_up = "--" -buffer_notify_default = all -buffer_time_format = "%H:%M:%S" -color_basic_force_bold = off -color_inactive_buffer = off -color_inactive_message = on -color_inactive_prefix = on -color_inactive_prefix_buffer = on -color_inactive_time = off -color_inactive_window = off -color_pairs_auto_reset = 5 -color_real_white = off -command_chars = "" -confirm_quit = off -day_change = on -day_change_time_format = "%a, %d %b %Y" -eat_newline_glitch = off -highlight = "" -highlight_regex = "" -highlight_tags = "" -hotlist_add_buffer_if_away = on -hotlist_buffer_separator = ", " -hotlist_count_max = 2 -hotlist_count_min_msg = 2 -hotlist_names_count = 3 -hotlist_names_length = 0 -hotlist_names_level = 12 -hotlist_names_merged_buffers = off -hotlist_short_names = on -hotlist_sort = group_time_asc -hotlist_unique_numbers = on -input_cursor_scroll = 20 -input_share = none -input_share_overwrite = off -input_undo_max = 32 -item_buffer_filter = "*" -item_time_format = "%H:%M" -jump_current_to_previous_buffer = on -jump_previous_buffer_when_closing = on -mouse = off -mouse_timer_delay = 100 -nickmode = on -nickmode_empty = off -paste_max_lines = 3 -prefix_action = " *" -prefix_align = right -prefix_align_max = 0 -prefix_align_min = 0 -prefix_align_more = on -prefix_buffer_align = right -prefix_buffer_align_max = 0 -prefix_buffer_align_more = on -prefix_error = "=!=" -prefix_join = "-->" -prefix_network = "--" -prefix_quit = "<--" -prefix_suffix = "|" -read_marker = line -read_marker_always_show = off -read_marker_string = "- " -save_config_on_exit = on -save_layout_on_exit = none -scroll_amount = 3 -scroll_page_percent = 100 -search_text_not_found_alert = on -separator_horizontal = "-" -separator_vertical = "" -set_title = on -time_format = "%a, %d %b %Y %T" - -[palette] - -[color] -bar_more = lightmagenta -chat = default -chat_bg = default -chat_buffer = white -chat_channel = white -chat_delimiters = green -chat_highlight = yellow -chat_highlight_bg = magenta -chat_host = cyan -chat_inactive_buffer = darkgray -chat_inactive_window = darkgray -chat_nick = lightcyan -chat_nick_colors = "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue" -chat_nick_other = cyan -chat_nick_self = white -chat_prefix_action = white -chat_prefix_buffer = brown -chat_prefix_buffer_inactive_buffer = darkgray -chat_prefix_error = yellow -chat_prefix_join = lightgreen -chat_prefix_more = lightmagenta -chat_prefix_network = magenta -chat_prefix_quit = lightred -chat_prefix_suffix = green -chat_read_marker = magenta -chat_read_marker_bg = default -chat_server = brown -chat_tags = red -chat_text_found = yellow -chat_text_found_bg = lightmagenta -chat_time = default -chat_time_delimiters = brown -chat_value = cyan -input_actions = lightgreen -input_text_not_found = red -nicklist_away = cyan -nicklist_group = green -nicklist_offline = blue -separator = blue -status_count_highlight = magenta -status_count_msg = brown -status_count_other = default -status_count_private = green -status_data_highlight = lightmagenta -status_data_msg = yellow -status_data_other = default -status_data_private = lightgreen -status_filter = green -status_more = yellow -status_name = white -status_name_ssl = lightgreen -status_number = yellow -status_time = default - -[completion] -default_template = "%(nicks)|%(irc_channels)" -nick_add_space = on -nick_completer = ":" -nick_first_only = off -nick_ignore_chars = "[]`_-^" -partial_completion_alert = on -partial_completion_command = off -partial_completion_command_arg = off -partial_completion_count = on -partial_completion_other = off - -[history] -display_default = 5 -max_commands = 100 -max_lines = 4096 -max_visited_buffers = 50 - -[proxy] - -[network] -gnutls_ca_file = "%h/ssl/CAs.pem" -gnutls_handshake_timeout = 30 - -[plugin] -autoload = "*" -debug = off -extension = ".so" -path = "%h/plugins" -save_config_on_unload = on - -[bar] -input.color_bg = default -input.color_delim = cyan -input.color_fg = default -input.conditions = "" -input.filling_left_right = vertical -input.filling_top_bottom = horizontal -input.hidden = off -input.items = "[input_prompt]+(away),[input_search],[input_paste],input_text" -input.position = bottom -input.priority = 1000 -input.separator = off -input.size = 1 -input.size_max = 0 -input.type = window -nicklist.color_bg = default -nicklist.color_delim = cyan -nicklist.color_fg = default -nicklist.conditions = "nicklist" -nicklist.filling_left_right = vertical -nicklist.filling_top_bottom = columns_vertical -nicklist.hidden = off -nicklist.items = "buffer_nicklist" -nicklist.position = right -nicklist.priority = 200 -nicklist.separator = on -nicklist.size = 0 -nicklist.size_max = 0 -nicklist.type = window -status.color_bg = red -status.color_delim = cyan -status.color_fg = default -status.conditions = "" -status.filling_left_right = vertical -status.filling_top_bottom = horizontal -status.hidden = off -status.items = "[time],[buffer_count],[buffer_plugin],buffer_number+:+buffer_name+{buffer_nicklist_count}+buffer_filter,[lag],[hotlist],completion,scroll" -status.position = bottom -status.priority = 500 -status.separator = off -status.size = 1 -status.size_max = 0 -status.type = window -title.color_bg = red -title.color_delim = cyan -title.color_fg = white -title.conditions = "" -title.filling_left_right = vertical -title.filling_top_bottom = horizontal -title.hidden = off -title.items = "buffer_title" -title.position = top -title.priority = 500 -title.separator = off -title.size = 1 -title.size_max = 0 -title.type = window - -[layout] - -[notify] - -[filter] - -[key] -ctrl-? = "/input delete_previous_char" -ctrl-A = "/input move_beginning_of_line" -ctrl-B = "/input move_previous_char" -ctrl-Cb = "/input insert \x02" -ctrl-Cc = "/input insert \x03" -ctrl-Ci = "/input insert \x1D" -ctrl-Co = "/input insert \x0F" -ctrl-Cr = "/input insert \x12" -ctrl-Cu = "/input insert \x15" -ctrl-D = "/input delete_next_char" -ctrl-E = "/input move_end_of_line" -ctrl-F = "/input move_next_char" -ctrl-H = "/input delete_previous_char" -ctrl-I = "/input complete_next" -ctrl-J = "/input return" -ctrl-K = "/input delete_end_of_line" -ctrl-L = "/window refresh" -ctrl-M = "/input return" -ctrl-N = "/buffer +1" -ctrl-P = "/buffer -1" -ctrl-R = "/input search_text" -ctrl-Sctrl-U = "/input set_unread" -ctrl-T = "/input transpose_chars" -ctrl-U = "/input delete_beginning_of_line" -ctrl-W = "/input delete_previous_word" -ctrl-X = "/input switch_active_buffer" -ctrl-Y = "/input clipboard_paste" -meta-meta2-1~ = "/window scroll_top" -meta-meta2-23~ = "/bar scroll nicklist * yb" -meta-meta2-24~ = "/bar scroll nicklist * ye" -meta-meta2-4~ = "/window scroll_bottom" -meta-meta2-5~ = "/window scroll_up" -meta-meta2-6~ = "/window scroll_down" -meta-meta2-7~ = "/window scroll_top" -meta-meta2-8~ = "/window scroll_bottom" -meta-meta2-A = "/buffer -1" -meta-meta2-B = "/buffer +1" -meta-meta2-C = "/buffer +1" -meta-meta2-D = "/buffer -1" -meta-0 = "/buffer *10" -meta-1 = "/buffer *1" -meta-2 = "/buffer *2" -meta-3 = "/buffer *3" -meta-4 = "/buffer *4" -meta-5 = "/buffer *5" -meta-6 = "/buffer *6" -meta-7 = "/buffer *7" -meta-8 = "/buffer *8" -meta-9 = "/buffer *9" -meta-< = "/input jump_previously_visited_buffer" -meta-= = "/filter toggle" -meta-> = "/input jump_next_visited_buffer" -meta-OA = "/input history_global_previous" -meta-OB = "/input history_global_next" -meta-OC = "/input move_next_word" -meta-OD = "/input move_previous_word" -meta-OF = "/input move_end_of_line" -meta-OH = "/input move_beginning_of_line" -meta-Oa = "/input history_global_previous" -meta-Ob = "/input history_global_next" -meta-Oc = "/input move_next_word" -meta-Od = "/input move_previous_word" -meta2-15~ = "/buffer -1" -meta2-17~ = "/buffer +1" -meta2-18~ = "/window -1" -meta2-19~ = "/window +1" -meta2-1;3A = "/buffer -1" -meta2-1;3B = "/buffer +1" -meta2-1;3C = "/buffer +1" -meta2-1;3D = "/buffer -1" -meta2-1;5A = "/input history_global_previous" -meta2-1;5B = "/input history_global_next" -meta2-1~ = "/input move_beginning_of_line" -meta2-20~ = "/bar scroll title * x-50%" -meta2-21~ = "/bar scroll title * x+50%" -meta2-23~ = "/bar scroll nicklist * y-100%" -meta2-24~ = "/bar scroll nicklist * y+100%" -meta2-3~ = "/input delete_next_char" -meta2-4~ = "/input move_end_of_line" -meta2-5;3~ = "/window scroll_up" -meta2-5~ = "/window page_up" -meta2-6;3~ = "/window scroll_down" -meta2-6~ = "/window page_down" -meta2-7~ = "/input move_beginning_of_line" -meta2-8~ = "/input move_end_of_line" -meta2-A = "/input history_previous" -meta2-B = "/input history_next" -meta2-C = "/input move_next_char" -meta2-D = "/input move_previous_char" -meta2-F = "/input move_end_of_line" -meta2-G = "/window page_down" -meta2-H = "/input move_beginning_of_line" -meta2-I = "/window page_up" -meta2-Z = "/input complete_previous" -meta-_ = "/input redo" -meta-a = "/input jump_smart" -meta-b = "/input move_previous_word" -meta-d = "/input delete_next_word" -meta-f = "/input move_next_word" -meta-h = "/input hotlist_clear" -meta-jmeta-l = "/input jump_last_buffer" -meta-jmeta-r = "/server raw" -meta-jmeta-s = "/server jump" -meta-j01 = "/buffer 1" -meta-j02 = "/buffer 2" -meta-j03 = "/buffer 3" -meta-j04 = "/buffer 4" -meta-j05 = "/buffer 5" -meta-j06 = "/buffer 6" -meta-j07 = "/buffer 7" -meta-j08 = "/buffer 8" -meta-j09 = "/buffer 9" -meta-j10 = "/buffer 10" -meta-j11 = "/buffer 11" -meta-j12 = "/buffer 12" -meta-j13 = "/buffer 13" -meta-j14 = "/buffer 14" -meta-j15 = "/buffer 15" -meta-j16 = "/buffer 16" -meta-j17 = "/buffer 17" -meta-j18 = "/buffer 18" -meta-j19 = "/buffer 19" -meta-j20 = "/buffer 20" -meta-j21 = "/buffer 21" -meta-j22 = "/buffer 22" -meta-j23 = "/buffer 23" -meta-j24 = "/buffer 24" -meta-j25 = "/buffer 25" -meta-j26 = "/buffer 26" -meta-j27 = "/buffer 27" -meta-j28 = "/buffer 28" -meta-j29 = "/buffer 29" -meta-j30 = "/buffer 30" -meta-j31 = "/buffer 31" -meta-j32 = "/buffer 32" -meta-j33 = "/buffer 33" -meta-j34 = "/buffer 34" -meta-j35 = "/buffer 35" -meta-j36 = "/buffer 36" -meta-j37 = "/buffer 37" -meta-j38 = "/buffer 38" -meta-j39 = "/buffer 39" -meta-j40 = "/buffer 40" -meta-j41 = "/buffer 41" -meta-j42 = "/buffer 42" -meta-j43 = "/buffer 43" -meta-j44 = "/buffer 44" -meta-j45 = "/buffer 45" -meta-j46 = "/buffer 46" -meta-j47 = "/buffer 47" -meta-j48 = "/buffer 48" -meta-j49 = "/buffer 49" -meta-j50 = "/buffer 50" -meta-j51 = "/buffer 51" -meta-j52 = "/buffer 52" -meta-j53 = "/buffer 53" -meta-j54 = "/buffer 54" -meta-j55 = "/buffer 55" -meta-j56 = "/buffer 56" -meta-j57 = "/buffer 57" -meta-j58 = "/buffer 58" -meta-j59 = "/buffer 59" -meta-j60 = "/buffer 60" -meta-j61 = "/buffer 61" -meta-j62 = "/buffer 62" -meta-j63 = "/buffer 63" -meta-j64 = "/buffer 64" -meta-j65 = "/buffer 65" -meta-j66 = "/buffer 66" -meta-j67 = "/buffer 67" -meta-j68 = "/buffer 68" -meta-j69 = "/buffer 69" -meta-j70 = "/buffer 70" -meta-j71 = "/buffer 71" -meta-j72 = "/buffer 72" -meta-j73 = "/buffer 73" -meta-j74 = "/buffer 74" -meta-j75 = "/buffer 75" -meta-j76 = "/buffer 76" -meta-j77 = "/buffer 77" -meta-j78 = "/buffer 78" -meta-j79 = "/buffer 79" -meta-j80 = "/buffer 80" -meta-j81 = "/buffer 81" -meta-j82 = "/buffer 82" -meta-j83 = "/buffer 83" -meta-j84 = "/buffer 84" -meta-j85 = "/buffer 85" -meta-j86 = "/buffer 86" -meta-j87 = "/buffer 87" -meta-j88 = "/buffer 88" -meta-j89 = "/buffer 89" -meta-j90 = "/buffer 90" -meta-j91 = "/buffer 91" -meta-j92 = "/buffer 92" -meta-j93 = "/buffer 93" -meta-j94 = "/buffer 94" -meta-j95 = "/buffer 95" -meta-j96 = "/buffer 96" -meta-j97 = "/buffer 97" -meta-j98 = "/buffer 98" -meta-j99 = "/buffer 99" -meta-k = "/input grab_key_command" -meta-n = "/window scroll_next_highlight" -meta-p = "/window scroll_previous_highlight" -meta-r = "/input delete_line" -meta-u = "/input scroll_unread" -meta-wmeta-meta2-A = "/window up" -meta-wmeta-meta2-B = "/window down" -meta-wmeta-meta2-C = "/window right" -meta-wmeta-meta2-D = "/window left" -meta-wmeta2-1;3A = "/window up" -meta-wmeta2-1;3B = "/window down" -meta-wmeta2-1;3C = "/window right" -meta-wmeta2-1;3D = "/window left" -meta-wmeta-b = "/window balance" -meta-wmeta-s = "/window swap" -meta-z = "/window zoom" -ctrl-_ = "/input undo" - -[key_search] -ctrl-J = "/input search_stop" -ctrl-M = "/input search_stop" -ctrl-R = "/input search_switch_case" -meta2-A = "/input search_previous" -meta2-B = "/input search_next" - -[key_cursor] -ctrl-J = "/cursor stop" -ctrl-M = "/cursor stop" -meta-meta2-A = "/cursor move area_up" -meta-meta2-B = "/cursor move area_down" -meta-meta2-C = "/cursor move area_right" -meta-meta2-D = "/cursor move area_left" -meta2-1;3A = "/cursor move area_up" -meta2-1;3B = "/cursor move area_down" -meta2-1;3C = "/cursor move area_right" -meta2-1;3D = "/cursor move area_left" -meta2-A = "/cursor move up" -meta2-B = "/cursor move down" -meta2-C = "/cursor move right" -meta2-D = "/cursor move left" -@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}" -@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}" -@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}" -@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop" -@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}" -@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop" -@chat:m = "hsignal:chat_quote_message;/cursor stop" -@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop" - -[key_mouse] -@bar(input):button2 = "/input grab_mouse_area" -@bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%" -@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e" -@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%" -@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b" -@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}" -@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}" -@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}" -@item(buffer_nicklist):button2 = "/window ${_window_number};/whois ${nick}" -@item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}" -@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%" -@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%" -@chat:button1 = "/window ${_window_number}" -@chat:button1-gesture-left = "/window ${_window_number};/buffer -1" -@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1" -@chat:button1-gesture-right = "/window ${_window_number};/buffer +1" -@chat:button1-gesture-right-long = "/window ${_window_number};/input jump_last_buffer" -@chat:wheeldown = "/window scroll_down -window ${_window_number}" -@chat:wheelup = "/window scroll_up -window ${_window_number}" -@*:button3 = "/cursor go ${_x},${_y}" diff --git a/.xbindkeysrc.scm b/.xbindkeysrc.scm deleted file mode 100644 index 509a130..0000000 --- a/.xbindkeysrc.scm +++ /dev/null @@ -1,220 +0,0 @@ -;;;_ Import -(use-modules (ice-9 popen) - (ice-9 rdelim) - (srfi srfi-19)) - -;;;_ Variables -(define browser (getenv "BROWSER")) -(define dmenu-cmd "dmenu") -(define dzen-cmd "dzen2") -(define dzen-pipe '()) -(define editor (getenv "EDITOR")) -(define modkey 'mod4) -(define prefix '(control i)) -(define terminal "urxvt") -(define date-format "~a ~d ~b ~Y ~H:~M") -(define previous-tag '()) -(define current-tag "default") - -(define dmenu-font - "-misc-tamsyn-medium-r-normal-*-14-*-*-*-*-*-iso8859-*") - -(define dmenu-args - (string-append - "-b -nb '#000000' -nf '#15abc3' -sb '#e0c625' -sf '#000000' -fn '" - dmenu-font "'")) - -(define dzen-font - "-misc-tamsyn-medium-r-normal-*-17-*-*-*-*-*-iso8859-*") - -(define dzen-args - (string-append " -fn '" dzen-font - "' -x 5 -y 5 -bg '#000000' -fg '#15abc3'")) - -;;;_ Functions -(define (get-tags) - "Get a list of tags" - (let* ((file (open-input-pipe - "TAGS=( $(herbstclient tag_status 0 | tr \":\\!.+#\" \" \") ); echo ${TAGS[@]}")) - (tags (string-split (read-line file) #\ ))) - (close-port file) - (set! tags (delete current-tag tags)) - (set! tags (delete previous-tag tags)) - (if (not (null? previous-tag)) - (append `(,previous-tag) (append tags `(,current-tag))) - (append tags `(,current-tag))))) - -(define (choose-tag prompt tags) - "Ask to choose a tag" - (let* ((file (open-input-pipe - (string-append "echo '" (string-join tags "\n") - "' | " dmenu-cmd " " dmenu-args " -p '" prompt ":'"))) - (tag (read-line file))) - (close-port file) - tag)) - -(define (switch-to-tag tag) - (let ((tags (get-tags))) - (if (string? tag) - (begin - (if (not (member tag tags)) - (system (string-append "herbstclient add " tag))) - (set! previous-tag current-tag) - (set! current-tag tag) - (run-command (string-append "herbstclient use " tag)))))) - -(define (switch-tags) - "Switch to another tag" - (let* ((tags (get-tags)) - (tag (choose-tag "Switch to tag" tags))) - (switch-to-tag tag) - (reset-first-binding))) - -;; (define (switch-and-run) -;; "Ask for a command to run, switch to a tag with that name and run -;; the command." -;; (let* ((file (open-input-pipe -;; (string-append "dmenu_pick -p 'Run:' " dmenu-args))) -;; (prog (read-line file))) -;; (close-port file) -;; (if (string? prog) -;; (begin -;; (switch-to-tag prog) -;; (run-command prog))) -;; (reset-first-binding))) - -(define (kill-tag) - "Kill a selected tag" - (let* ((tags (get-tags)) - (tag (choose-tag "Kill tag" tags))) - (if (string? tag) - (begin - (if (member tag tags) - (run-command (string-append "herbstclient merge_tag " tag))))) - (reset-first-binding))) - -(define (move-to-tag) - "Move selected window to another tag" - (let* ((tags (get-tags)) - (tag (choose-tag "Move to tag" tags))) - (if (string? tag) - (begin - (if (not (member tag tags)) - (system (string-append "herbstclient add " tag))) - (run-command (string-append "herbstclient move " tag)))) - (reset-first-binding))) - -(define (text-width font text) - (let* ((pipe (open-input-pipe (string-append "textwidth '" font "' '" text "'"))) - (width (read-line pipe))) - (close-port pipe) - (if (string? width) - (string->number width) - -1))) - -(define (gui-print text) - (close-gui-window) - (let ((width (+ (text-width dzen-font text) 10))) - (set! dzen-pipe (open-output-pipe - (string-append dzen-cmd " -w " (number->string width) - " " dzen-args)))) - (display text dzen-pipe) - (newline dzen-pipe)) - -(define (close-gui-window) - (if (and (not (null? dzen-pipe)) - (not (port-closed? dzen-pipe))) - (close-pipe dzen-pipe) - (set! dzen-pipe '()))) - -(define (notify msg) - (run-command (string-append "notify-send \"" msg "\""))) - -(define (reset-first-binding) - "reset first binding" - (ungrab-all-keys) - (remove-all-keys) - (first-binding) - (grab-all-keys)) - -(define (run-terminal) - "Run the specified terminal program." - (run-command terminal) - (reset-first-binding)) - -(define (run-browser) - "Run the specified browser." - (run-command browser) - (reset-first-binding)) - -(define (run-editor) - "Run the specified terminal editor." - (run-command editor) - (reset-first-binding)) - -(define (banish) - "Banish the mouse cursor to the bottom-right corner of the screen." - (run-command "xte 'mousemove 4000 1100'") - (reset-first-binding)) - -(define (showtime) - "Show the time." - (notify (date->string (current-date) date-format)) - (reset-first-binding)) - -(define (exec) - "Run a program." - (run-command (string-append "dmenu_run -p 'Run:' " dmenu-args)) - (reset-first-binding)) - -(define (first-binding) - "First binding" - (xbindkey-function prefix second-binding) - (xbindkey '(control mod1 l) "i3lock -c 000000") - (xbindkey `(,modkey period) "herbstclient cycle_monitor 1") - (xbindkey `(,modkey comma) "herbstclient cycle_monitor -1") - (xbindkey `(,modkey s) "herbstclient split vertical 0.5") - (xbindkey `(,modkey shift s) "herbstclient split horizontal 0.5") - (xbindkey `(,modkey q) "herbstclient remove") - (xbindkey `(,modkey o) "herbstclient cycle_all") - (xbindkey `(,modkey control b) "herbstclient resize left +0.05") - (xbindkey `(,modkey control n) "herbstclient resize down +0.05") - (xbindkey `(,modkey control p) "herbstclient resize up +0.05") - (xbindkey `(,modkey control f) "herbstclient resize right +0.05") - (xbindkey `(,modkey b) "herbstclient focus left") - (xbindkey `(,modkey n) "herbstclient focus down") - (xbindkey `(,modkey p) "herbstclient focus up") - (xbindkey `(,modkey f) "herbstclient focus right") - (xbindkey `(,modkey shift b) "herbstclient shift left") - (xbindkey `(,modkey shift n) "herbstclient shift down") - (xbindkey `(,modkey shift p) "herbstclient shift up") - (xbindkey `(,modkey shift f) "herbstclient shift right") - (xbindkey `(,modkey space) "herbstclient cycle_layout 1") - (xbindkey '(XF86AudioPlay) "mpc toggle") - (xbindkey '(XF86AudioStop) "mpc stop") - (xbindkey '(XF86AudioMute) "amixer sset Master toggle") - (xbindkey '(XF86AudioLowerVolume) "mcp volume -5") - (xbindkey '(XF86AudioRaiseVolume) "mcp volume +5") - (xbindkey '(XF86AudioPrev) "mpc prev") - (xbindkey '(XF86AudioNext) "mpc next") - (xbindkey `(,modkey k) "herbstclient close") - (xbindkey `(,modkey Escape) "~/.config/herbstluftwm/panel.sh")) - -(define (second-binding) - "Second binding" - (ungrab-all-keys) - (remove-all-keys) - (xbindkey-function 'c run-terminal) - (xbindkey-function 'e run-editor) - (xbindkey-function 'w run-browser) - (xbindkey-function 'z banish) - (xbindkey-function 'a showtime) - (xbindkey-function '(shift "1") exec) - (xbindkey-function '(control g) reset-first-binding) - (xbindkey-function '(b) switch-tags) - (xbindkey-function '(k) kill-tag) - (xbindkey-function '(m) move-to-tag) - (grab-all-keys)) - -;;;_ Main -(first-binding) diff --git a/.xinitrc b/.xinitrc deleted file mode 100755 index eb49aae..0000000 --- a/.xinitrc +++ /dev/null @@ -1,20 +0,0 @@ -#!/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 - -emacs --daemon & -redshift -l 51.1180:4.0012 & -unclutter & -feh --bg-tile ~/pictures/wallpapers/wallpaper-864137.jpg -$HOME/dzen.sh & - -test -n "$1" && wm=$1 || wm="notion" -exec $wm diff --git a/.xsession b/.xsession deleted file mode 100755 index 8f554c5..0000000 --- a/.xsession +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -exec /bin/bash --login -i "$HOME/.xinitrc" diff --git a/.zile b/.zile deleted file mode 100644 index 76abb70..0000000 --- a/.zile +++ /dev/null @@ -1,5 +0,0 @@ -;; -*- mode: lisp; -*- -(setq inhibit-splash-screen t) -(setq tab-width 4) -(setq indent-tabs-mode nil) -(setq backup-directory "/tmp") diff --git a/.zprofile b/.zprofile deleted file mode 100644 index 4a74a84..0000000 --- a/.zprofile +++ /dev/null @@ -1,15 +0,0 @@ -export BROWSER=conkeror -export EDITOR="emacsclient -c -a emacs" - -PATH="$HOME/usr/bin:$PATH" -export PATH - -INFOPATH="$HOME/documents/info:$INFOPATH" -INFOPATH="$HOME/.emacs.d/vendor-lisp/org/doc:$INFOPATH" -INFOPATH="$INFOPATH:/usr/share/info" -INFOPATH="$INFOPATH:/usr/local/share/info" -export INFOPATH - -if [ -z "$SSH_AGENT_PID" ]; then - eval `ssh-agent` -fi diff --git a/.zsh/.gitignore b/.zsh/.gitignore deleted file mode 100644 index b9fd690..0000000 --- a/.zsh/.gitignore +++ /dev/null @@ -1 +0,0 @@ -histfile diff --git a/.zsh/Makefile b/.zsh/Makefile deleted file mode 100644 index acd5e4e..0000000 --- a/.zsh/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=.zsh -modules=functions - -include ../dotfiles.mk diff --git a/.zsh/functions/Makefile b/.zsh/functions/Makefile deleted file mode 100644 index f71df23..0000000 --- a/.zsh/functions/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -SUBDIR=functions -objects=env venv add-to-list - -include ../../dotfiles.mk diff --git a/.zsh/functions/add-to-list b/.zsh/functions/add-to-list deleted file mode 100644 index 18720e0..0000000 --- a/.zsh/functions/add-to-list +++ /dev/null @@ -1,10 +0,0 @@ -# -*- mode: sh; -*- -if [[ ! "${(P)${1}}" =~ (^|:)"$2"(:|$) ]]; then - if [ -n "$3" ]; then - # Append - typeset -g $1="${(P)${1}}:$2" - else - # Prepend - typeset -g $1="$2:${(P)${1}}" - fi -fi diff --git a/.zsh/functions/env b/.zsh/functions/env deleted file mode 100644 index a79fd5d..0000000 --- a/.zsh/functions/env +++ /dev/null @@ -1,3 +0,0 @@ -# -*- mode: shell-script -*- - -/usr/bin/env "$@" | grep -v \^LESS_TERMCAP_ diff --git a/.zsh/functions/venv b/.zsh/functions/venv deleted file mode 100644 index 03ec83d..0000000 --- a/.zsh/functions/venv +++ /dev/null @@ -1,15 +0,0 @@ -# -*- mode: sh; -*- -if [ "${#}" -eq 1 ]; then - local venv_activate="$HOME/.virtualenv/$1/bin/activate" - - if [ -r "$venv_activate" ]; then - source $venv_activate - else - echo "$1 is not a know virtual environment" - fi -else - echo "Virtual environments: " - for itm in ~/.virtualenv/*; do - echo " $(basename $itm)" - done -fi diff --git a/.zsh/syntax-highlighting b/.zsh/syntax-highlighting deleted file mode 160000 index d2715e2..0000000 --- a/.zsh/syntax-highlighting +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d2715e2cb3294880bbc6a75b91288243054218d0 diff --git a/.zshrc b/.zshrc deleted file mode 100644 index d4fb2ad..0000000 --- a/.zshrc +++ /dev/null @@ -1,126 +0,0 @@ -# -*- 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 AUTO_CD -setopt AUTO_PUSHD -setopt CORRECT -setopt EXTENDED_GLOB -setopt NOTIFY -setopt PROMPT_SUBST # Allow for functions in the prompt - -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 - -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_HIGHLIGHTERS=(main brackets) - - ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=red' - ZSH_HIGHLIGHT_STYLES[builtin]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[function]='fg=blue' - ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=blue' - ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=blue' - ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[assign]='fg=yellow' - - ZSH_HIGHLIGHT_STYLES[bracket-level-1]='fg=red' - ZSH_HIGHLIGHT_STYLES[bracket-level-2]='fg=yellow' - ZSH_HIGHLIGHT_STYLES[bracket-level-3]='fg=green' - ZSH_HIGHLIGHT_STYLES[bracket-level-4]='fg=cyan' - ZSH_HIGHLIGHT_STYLES[bracket-level-5]='fg=blue' - ZSH_HIGHLIGHT_STYLES[bracket-level-6]='fg=magenta' -fi - -compinit -colors # Initialize colors. diff --git a/Makefile b/Makefile deleted file mode 100644 index 7b8c8ce..0000000 --- a/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -export DESTDIR:=$(HOME) -modules=.config .conkerorrc .local .moc .ncmpcpp .sawfish .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 -install-.xsession: MODE=744 diff --git a/awesome/.config/awesome/bowl.lua b/awesome/.config/awesome/bowl.lua new file mode 100644 index 0000000..bf6af7b --- /dev/null +++ b/awesome/.config/awesome/bowl.lua @@ -0,0 +1,205 @@ +-- -*- coding: utf-8 -*- +-------------------------------------------------------------------------------- +-- @author Nicolas Berthier <nberthier@gmail.com> +-- @copyright 2010 Nicolas Berthier +-------------------------------------------------------------------------------- +-- +-- Bowls are kind of helpers that can be drawn (at the bottom --- for now) of an +-- area, and displaying the current key prefix. It is inspired by emacs' +-- behavior, that prints prefix keys in the minibuffer after a certain time. +-- +-- I call it `bowl' as a reference to the bowl that one might have at home, +-- where one puts its actual keys... A more serious name would be `hint' or +-- `tooltip' (but they do not fit well for this usage). +-- +-- Example usage: see `rc.lua' file. +-- +-------------------------------------------------------------------------------- + +--{{{ Grab environment (mostly aliases) +local setmetatable = setmetatable +local ipairs = ipairs +local type = type +local pairs = pairs +local string = string +local print = print +local error = error + +local capi = capi +local client = client +local awesome = awesome +local root = root +local timer = timer + +local infoline = require ("infoline") +--}}} + +module ("bowl") + +-- Privata data: we use weak keys in order to allow collection of private data +-- if keys (clients) are collected (i.e., no longer used, after having been +-- killed for instance) +local data = setmetatable ({}, { __mode = 'k' }) + +--{{{ Default values + +--- Default modifier filter +local modfilter = { + ["Mod1"] = "M", + ["Mod4"] = "S", + ["Control"] = "C", + ["Shift"] = string.upper, +} + +-- Timers configuration +local use_timers = true +local timeout = 2.0 + +--}}} + +--{{{ Keychain pretty-printing + +function mod_to_string (mods, k) + local ret, k = "", k + for _, mod in ipairs (mods) do + if modfilter[mod] then + local t = type (modfilter[mod]) + if t == "function" then + k = modfilter[mod](k) + elseif t == "string" then + ret = ret .. modfilter[mod] .. "-" + else + error ("Invalid modifier key filter: got a " .. t) + end + else + ret = ret .. mod .. "-" + end + end + return ret, k +end + +function ks_to_string (m, k) + local m, k = mod_to_string (m, k) + return m .. k +end + +--}}} + +--{{{ Timer management + +local function delete_timer_maybe (d) + if d.timer then -- stop and remove the timer + d.timer:remove_signal ("timeout", d.timer_function) + d.timer:stop () + d.timer = nil + d.timer_expired = true + end +end + +local function delayed_call_maybe (d, f) + if use_timers then + if not d.timer_expired and not d.timer then + -- create and start the timer + d.timer = timer ({ timeout = timeout }) + d.timer_function = function () f (); delete_timer_maybe (d) end + d.timer:add_signal ("timeout", d.timer_function) + d.timer:start () + d.timer_expired = false + elseif not d.timer_expired then + -- restart the timer... + + -- XXX: What is the actual semantics of the call to `start' (ie, + -- does it restart the timer with the initial timeout)? + d.timer:stop () + d.timer.timeout = timeout -- reset timeout + d.timer:start () + end + else -- timers disabled + f () -- call the given function directly + end +end + +--}}} + +--{{{ Infoline management + +function dispose (w) + local d = data[w] + if d.bowl then -- if bowl was enabled... (should always be true...) + infoline.dispose (d.bowl) + d.bowl = nil + end + delete_timer_maybe (d) + data[w] = nil +end + +function append (w, m, k) + local d = data[w] + local pretty_ks = ks_to_string (m, k) .. " " + infoline.set_text (d.bowl, infoline.get_text (d.bowl) .. pretty_ks) + + local function enable_bowl () + -- XXX: is there a possible bad interleaving that could make + -- this function execute while the bowl has already been + -- disposed of? in which case the condition should be checked + -- first... + + -- if d.bowl then + infoline.attach (d.bowl, w) + -- end + end + + delayed_call_maybe (d, enable_bowl) +end + +function create (w) + -- XXX: Note the prefix text could be customizable... + data[w] = { bowl = infoline.new (" ") } +end + +--}}} + + +--- Initializes the bowl module, with given properties; should be called before +--- ANY other function of this module. +-- Configurations fields include: +-- +-- `use_timers', `timeout': A boolean defining whether bowls drawing should be +-- delayed, along with a number being this time shift, in seconds (Default +-- values are `true' and `2'). +-- +-- `modfilter': A table associating modifiers (Mod1, Mod4, Control, Shift, etc.) +-- with either a string (in this case it will replace the modifier when printed +-- in heplers) or functions (in this case the key string will be repaced by a +-- call to this function with the key string as parameter). Default value is: +-- { ["Mod1"] = "M", ["Mod4"] = "S", ["Control"] = "C", ["Shift"] = +-- string.upper } +-- +-- @param c The table of properties. +function init (c) + local c = c or { } + modfilter = c.modfilter and c.modfilter or modfilter + if c.use_timers ~= nil then use_timers = c.use_timers end + if use_timers then + timeout = c.timeout ~= nil and c.timeout or timeout + end +end + +--- Setup signal listeners, that trigger appropriate functions for a default +--- behavior. +function default_setup () + local function to_root (f) return function (...) f (root, ...) end end + client.add_signal ("keychain::enter", create) + client.add_signal ("keychain::append", append) + client.add_signal ("keychain::leave", dispose) + awesome.add_signal ("keychain::enter", to_root (create)) + awesome.add_signal ("keychain::append", to_root (append)) + awesome.add_signal ("keychain::leave", to_root (dispose)) +end + +-- Local variables: +-- indent-tabs-mode: nil +-- fill-column: 80 +-- lua-indent-level: 4 +-- End: +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80 diff --git a/awesome/.config/awesome/ext.lua b/awesome/.config/awesome/ext.lua new file mode 100644 index 0000000..e7bdf00 --- /dev/null +++ b/awesome/.config/awesome/ext.lua @@ -0,0 +1,81 @@ +local client=client +local awful=awful +local pairs=pairs +local table=table + +module("ext") + +-- Returns true if all pairs in table1 are present in table2 +function match(table1, table2) + for k, v in pairs(table1) do + if table[k] ~= v and not table2[k]:find(v) then + return false + end + end + + return true +end + +--- Spawns cmd if no client can be found matching properties +-- If such a client can be found, pop to first tag where it is +-- visible, and give it focus +function run_or_raise(cmd, properties) + local clients = client.get() + local focused = awful.client.next(0) + local findex = 0 + local matched_clients = { } + local n = 0 + + for i, c in pairs(clients) do + -- make an array of matched clients + if match(properties, c) then + n = n + 1 + matched_clients[n] = c + + if n == focused then + findex = n + end + end + end + + if n > 0 then + local c = matched_clients[1] + + -- if the focused window matched switch focus to next in list + if 0 < findex and findex < n then + c = matched_clients[findex + 1] + end + + local ctags = c:tags() + + if table.getn(ctags) == 0 then + -- ctags is empty, show client on current tag + local curtag = awful.tag.selected() + awful.client.movetotag(curtag, c) + else + -- Otherwise, pop to first tag client is visible on + awful.tag.viewonly(ctags[1]) + end + + -- And then focus the client + client.focus = c + c:raise() + awful.screen.focus(c.screen) + return + end + awful.util.spawn(cmd) +end + +function prev_client() + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end +end + +function next_client() + awful.client.focus.byidx(1) + if client.focus then + client.focus:raise() + end +end diff --git a/awesome/.config/awesome/infoline.lua b/awesome/.config/awesome/infoline.lua new file mode 100644 index 0000000..2b8e00c --- /dev/null +++ b/awesome/.config/awesome/infoline.lua @@ -0,0 +1,183 @@ +-- -*- coding: utf-8 -*- +-------------------------------------------------------------------------------- +-- @author Nicolas Berthier <nberthier@gmail.com> +-- @copyright 2010 Nicolas Berthier +-------------------------------------------------------------------------------- +-- +-- This is a module for defining infolines in awesome. An infoline is a wibox +-- attached to a region (typically, a client or the root window). +-- +-- Remarks: +-- +-- - It has not been tested with multiple screens yet. +-- +-- Example usage: (TODO --- read the comments for now, there are not many +-- functions) +-- +-------------------------------------------------------------------------------- + +--{{{ Grab environment (mostly aliases) +local setmetatable = setmetatable +local ipairs = ipairs +local type = type +local pairs = pairs +local string = string +local print = print +local error = error +local io = io + +local client = client +local awesome = awesome +local wibox = wibox +local widget = widget +local root = root +local screen = screen +local mouse = mouse +--}}} + +module ("infoline") + +-- Privata data: we use weak keys in order to allow collection of private data +-- if keys (clients) are collected (i.e., no longer used, after having been +-- killed for instance). +-- +-- XXX: For now, we have at most one infoline per client, but it could be +-- interesting to create several types of infolines (identified by indexes to be +-- allocated by this module), and associated to, e.g., different configuration +-- flags and positioning routine... +local data = setmetatable ({}, { __mode = 'k' }) + +--{{{ Infoline positioning + +-- XXX: this is a hack that positions an infoline at the bottom of a given area. +local function setup_position (wb, geom) + local b = wb:geometry () + b.x = geom.x + b.width = geom.width + b.y = geom.y + geom.height - awesome.font_height + b.height = awesome.font_height + wb:geometry (b) +end + +--}}} + +--{{{ Configurations: + +-- When true, this flag indicates that an infoline is hidden if its attached +-- client loses its focus. Otherwise, it remains always visible. +follow_focus = true + +--}}} + +--{{{ Infoline updates + +function get_text (il) return il.wb.widgets[1].text end +function set_text (il, text) il.wb.widgets[1].text = text end + +-- Forces a refresh of the given infoline. +function update (il) + local wb = il.wb + local c = il.cli + + if il.enabled then + -- XXX: Note this could be much better if we had some sort of root and + -- client interface unification: the following involves a priori useless + -- code duplication... + if c == root then + wb.screen = mouse.screen -- XXX: is this the behavior we need? + wb.visible = true + setup_position (wb, screen[mouse.screen].workarea) + else + if c:isvisible () and (not follow_focus or client.focus == c) then + wb.screen = c.screen + wb.visible = true + setup_position (wb, c:geometry ()) + else -- do we have to hide it? + wb.visible = false + end + end + elseif wb.visible then --otherwise we need to hide it. + wb.visible = false + end +end + +local function update_from_client (c) + -- Note that we may not have an infoline for this client, hence the + -- conditional... + if data[c] then update (data[c]) end +end + +-- Force execution of the above function on client state modification. +client.add_signal ("focus", update_from_client) +client.add_signal ("unfocus", update_from_client) +client.add_signal ("unmanage", update_from_client) + +--}}} + +--{{{ Infoline management + +--- Creates a new infoline, with the given initial text. Note it is not visible +--- by default, and not attached to any client. +function new (text) + local il = { + wb = wibox ({ + ontop = true, -- XXX: setting a depth when attaching to + --a client would be much better + widgets = { + widget ({ type = "textbox", align="left" }) + }, + }) + } + -- these will remain false until the infoline is attached to a client. + il.wb.visible = false + il.enabled = false + set_text (il, text or "") + return il +end + +-- Attached infolines will react to the following client-related signals, and +-- automatically setup their position according to the client's geometry. +local csignals = { "property::geometry", "property::minimized", + "property::visible", "property::focus", "property::screen", } + +-- Attaches an infoline to a client. Note the infoline becomes visible at that +-- time, if the client is currently visible (and if it has focus, when +-- `follow_focus' holds). +function attach (il, c) + data[c] = il + il.cli = c + il.enabled = true + update (il) + if c ~= root then + -- subscribe to client-related signals + for _, s in ipairs (csignals) do + c:add_signal (s, update_from_client) + end + end +end + +--- Detach the given infoline from its client, if any. +function dispose (il) + local c = il.cli + if c then -- note c can be nil here, if the given infoline has not been + --attached to any client... + il.enabled = false + update (il) -- a shortcut here would be: `il.wb.visible = false' + data[c] = nil + if c ~= root then + -- unsubscribe from client-related signals + for _, s in ipairs (csignals) do + c:remove_signal (s, update_from_client) + end + end + end +end + +--}}} + +-- Local variables: +-- indent-tabs-mode: nil +-- fill-column: 80 +-- lua-indent-level: 4 +-- End: +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80 diff --git a/awesome/.config/awesome/keychain.lua b/awesome/.config/awesome/keychain.lua new file mode 100644 index 0000000..86ce7b2 --- /dev/null +++ b/awesome/.config/awesome/keychain.lua @@ -0,0 +1,334 @@ +-- -*- coding: utf-8 -*- +-------------------------------------------------------------------------------- +-- @author Nicolas Berthier <nberthier@gmail.com> +-- @copyright 2010 Nicolas Berthier +-------------------------------------------------------------------------------- +-- +-- This is a module for defining keychains à la emacs in awesome. I was also +-- inspired by ion3 behavior when designing it. +-- +-- Remarks: +-- +-- - This module does not handle `release' key bindings, but is it useful for +-- keychains? +-- +-- - It has not been tested with multiple screens yet. +-- +-- - There might (... must) be incompatibilities with the shifty module. Also, +-- defining global and per-client keychains with the same prefix is not +-- allowed (or leads to unspecified behaviors... --- in practice: the +-- per-client ones are ignored). However, I do think separation of per-client +-- and global keys is a bad idea if client keys do not have a higher priority +-- than the global ones... +-- +-- Example usage: see `rc.lua' file. +-- +-------------------------------------------------------------------------------- + +--{{{ Grab environment (mostly aliases) +local setmetatable = setmetatable +local ipairs = ipairs +local type = type +local pairs = pairs +local string = string +local print = print +local error = error +local io = io + +local capi = capi +local client = client +local awesome = awesome +local root = root + +local akey = require ("awful.key") +local join = awful.util.table.join +local clone = awful.util.table.clone +--}}} + +module ("keychain") + +-- Privata data: we use weak keys in order to allow collection of private data +-- if keys (clients) are collected (i.e., no longer used, after having been +-- killed for instance) +local data = setmetatable ({}, { __mode = 'k' }) + +--{{{ Functional Tuples +-- see http://lua-users.org/wiki/FunctionalTuples for details + +--- Creates a keystroke representation to fill the `escape' table configuration +--- property. +-- @param m Modifiers table. +-- @param k The key itself. +-- @return A keystroke representation (only for the escape sequence, for now?). +function keystroke (m, k) + if type (m) ~= "table" then + error ("Keystroke modifiers must be given a table (got a ".. + type (m)..")") + end + if type (k) ~= "string" then + error ("Keystroke key must be given a string (got a ".. + type (m)..")") + end + return function (fn) return fn (m, k) end +end + +-- keystroke accessors +local function ks_mod (_m, _k) return _m end +local function ks_key (_m, _k) return _k end + +-- --- + +--- Creates a final keychain binding to fill the keychain binding tables, +--- meaning that the given function will be executed at the end of the keychain. +-- @param m Modifiers table. +-- @param k The key. +-- @param cont The function to be bound to the given keys. +-- @return A "final" key binding. +function key (m, k, cont) + if type (cont) ~= "function" then + error ("Final binding must be given a function (got a ".. + type (cont)..")") + end + return function (fn) return fn (keystroke (m, k), cont, true) end +end + +--- Creates an intermediate (prefix) keychain binding. +-- @param m Modifiers table. +-- @param k The key. +-- @param sub The subchain description table to be bound to the given keys. +-- @return An "intermediate" key binding. +function subchain (m, k, sub) + if type (sub) ~= "table" then + error ("Subchain binding must be given a table (got a ".. + type (sub)..")") + end + return function (fn) return fn (keystroke (m, k), sub, false) end +end + +-- key/subchain binding accessors +local function binding_ks (ks, cont, leaf) return ks end +local function binding_cont (ks, cont, leaf) return cont end +local function binding_leaf (ks, cont, leaf) return leaf end + +--- Creates an intermediate keychain if sub is a table, or a final key binding +--- otherwise (and then sub must be a function). +-- @param m Modifiers table. +-- @param k The key. +-- @param sub Either the subchain description table, or the function, to be +-- bound to the given keys. +function sub (m, k, sub) + if type (sub) == "table" then + return subchain (m, k, sub) + else + return key (m, k, sub) + end +end + +--}}} + +--{{{ Default values + +--- Default escape sequences (S-g is inspired by emacs...) +local escape_keystrokes = { + keystroke ( { }, "Escape" ), + keystroke ( { "Mod4" }, "g" ), +} + +--}}} + +--{{{ Key table management facilities + +local function set_keys (c, k) + if c == root then root.keys (k) else c:keys (k) end +end + +local function keys_of (c) + if c == root then return root.keys () else return c:keys () end +end + +--}}} + +--{{{ Signal emission helper + +local function notif (sig, w, ...) + if w ~= root then + client.emit_signal (sig, w, ...) + else -- we use global signals otherwise + awesome.emit_signal (sig, ...) + end +end + +--}}} + +--{{{ Client/Root-related state management + +local function init_client_state_maybe (w) + if data[w] == nil then + local d = { } + d.keys = keys_of (w) -- save client keys + data[w] = d -- register client + notif ("keychain::enter", w) + end +end + +local function restore_client_state (c) + local w = c or root + local d = data[w] + -- XXX: Turns out that `d' can be nil already here, in case the keyboard has + -- been grabbed since the previous call to this funtion... (that also seems + -- to be called again upon release…) + if d then + set_keys (w, d.keys) -- restore client keys + data[w] = nil -- unregister client + end +end + +local function leave (c) + local w = c or root + + -- Destroy notifier structures if needed + if data[w] then -- XXX: necessary test? + notif ("keychain::leave", w) + end +end + +-- force disposal of resources when clients are killed +client.add_signal ("unmanage", leave) + +--}}} + +--{{{ Key binding tree access helpers + +local function make_on_entering (m, k, subchain) return + function (c) + local w = c or root + + -- Register and initialize client state, if not already in a keychain + init_client_state_maybe (w) + + -- Update notifier text, and trigger its drawing if necessary + notif ("keychain::append", w, m, k) + + -- Setup subchain + set_keys (w, subchain) + end +end + +local function on_leaving (c) + -- Trigger disposal routine + leave (c) + + -- Restore initial key mapping of client + restore_client_state (c) +end + +--}}} + +--{{{ Configuration + +-- Flag to detect late initialization error +local already_used = false + +-- Escape binding table built once upon initialization +local escape_bindings = { } + +--- Fills the escape bindings table with actual `awful.key' elements triggering +--- execution of `on_leaving'. +local function init_escape_bindings () + escape_bindings = { } + for _, e in ipairs (escape_keystrokes) do + escape_bindings = join (escape_bindings, + akey (e (ks_mod), e (ks_key), on_leaving)) + end +end + +-- Call it once upon module loading to initialize escape_bindings (in case +-- `init' is not called). +init_escape_bindings () + + +--- Initializes the keychain module, with given properties; to be called before +--- ANY other function of this module. +-- Configurations fields include: +-- +-- `escapes': A table of keystrokes (@see keychain.keystroke) escaping keychains +-- (defaults are `Mod4-g' and `Escape'). +-- +-- @param c The table of properties. +function init (c) + local c = c or { } + + if already_used then + -- heum... just signal the error: "print" or "error"? + return print ("E: keychain: Call to `init' AFTER having bound keys!") + end + + escape_keystrokes = c.escapes and c.escapes or escape_keystrokes + + -- Now, fill the escape bindings table again with actual `awful.key' + -- elements triggering `on_leaving' executions, in case escape keys has + -- changed. + init_escape_bindings () +end + +--}}} + +--{{{ Keychain creation + +--- Creates a new keychain binding. +-- @param m Modifiers table. +-- @param k The key. +-- @param chains A table of keychains, describing either final bindings (see +-- key constructor) or subchains (see subchain constructor). If arg is not a +-- table, then `awful.key' is called directly with the arguments. +-- @return A key binding for the `awful.key' module. +-- @see awful.key +function new (m, k, chains) + + -- If the argument is a function, then we need to return an actual awful.key + -- directly. + if type (chains) ~= "table" then + return akey (m, k, chains) + end + + -- This table will contain the keys to be mapped upon keystroke. It + -- initially contains the escape bindings, so that one can still rebind them + -- differently in `chains'. + local subchain = clone (escape_bindings) + + already_used = true -- subsequent init avoidance flag... + + -- For each entry of the given chains, add a corresponding `awful.key' + -- element in the subchain + for _, e in ipairs (chains) do + local ks = e (binding_ks) + if e (binding_leaf) then + -- We encountered a leaf in the chains. + local function on_leaf (c) on_leaving (c); e (binding_cont) (c) end + subchain = join (subchain, akey (ks (ks_mod), ks (ks_key), on_leaf)) + else + -- Recursively call subchain creation. "Funny" detail: I think there + -- is no way of creating ill-structured keychain descriptors that + -- would produce infinite recursive calls here, since we control + -- their creation with functional tuples, that cannot lead to cyclic + -- structures... + local subch = new (ks (ks_mod), ks (ks_key), e (binding_cont)) + subchain = join (subchain, subch) + end + end + + -- Then return an actual `awful.key', triggering the `on_entering' routine + return akey (m, k, make_on_entering (m, k, subchain)) +end +--}}} + +-- Setup `__call' entry in module's metatable so that we can create new prefix +-- binding using `keychain (m, k, ...)' directly. +setmetatable (_M, { __call = function (_, ...) return new (...) end }) + +-- Local variables: +-- indent-tabs-mode: nil +-- fill-column: 80 +-- lua-indent-level: 4 +-- End: +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80 diff --git a/awesome/.config/awesome/oni.lua b/awesome/.config/awesome/oni.lua new file mode 100644 index 0000000..7cc5df1 --- /dev/null +++ b/awesome/.config/awesome/oni.lua @@ -0,0 +1,73 @@ +local awful = awful +local beautiful = beautiful +local client = client +local ext = require("ext") +local lfs = require("lfs") +local pairs = pairs +local string = string +local table = table +local widget = widget + +module("oni") + +local maildirfmt = "/home/slash/documents/mail/%s/inbox/new/" + +function mailcount(account) + local i = 0 + local dir = string.format(maildirfmt, account) + + for file in lfs.dir(dir) do + if file ~= "." and file ~= ".." then + i = i + 1 + end + end + + return i +end + +local function showmail(name) + awful.util.spawn("emacsclient -e '(oni:view-mail \"" .. name .. "\")'") +end + +function mailcount_widgets(label, account, name) + widgets = {} + widgets.label = widget({ type = "textbox" }) + widgets.label.text = string.format(" %s: ", label) + widgets.count = widget({ type = "textbox" }) + widgets.count.text = string.format(" %d ", mailcount(account)) + widgets.count.bg = beautiful.bg_focus + widgets.count:buttons( + awful.util.table.join( + awful.button({ }, 1, function (c) showmail(name) end))) + + return widgets +end + +function focus_raise(direction) + awful.client.focus.bydirection(direction) + if client.focus then client.focus:raise() end +end + +function ror_browser() + ext.run_or_raise("conkeror", { class = "Conkeror" }) +end + +function ror_editor() + ext.run_or_raise("emacsclient -c -a emacs", { class = "Emacs" }) +end + +function ror_term() + ext.run_or_raise("urxvt", { class = "URxvt" }) +end + +function run_browser() + awful.util.spawn("conkeror") +end + +function run_editor() + awful.util.spawn("emacsclient -c -a emacs") +end + +function run_term() + awful.util.spawn("urxvt") +end diff --git a/awesome/.config/awesome/rc.lua b/awesome/.config/awesome/rc.lua new file mode 100644 index 0000000..745721d --- /dev/null +++ b/awesome/.config/awesome/rc.lua @@ -0,0 +1,424 @@ +-- Standard awesome library +local gears = require("gears") +local awful = require("awful") +-- 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") + +awful.rules = require("awful.rules") +require("awful.autofocus") + +local maildir_base = os.getenv("HOME") .. "/documents/mail/" + +function ror(program, cls) + local rorfunc = function () + local matcher = function (c) + return awful.rules.match(c, { class = cls }) + end + + awful.client.run_or_raise(program, matcher) + end + + return rorfunc +end + +function ror_combo(mod, key, program, class) + return awful.util.table.join( + awful.key(mod, key, ror(program, class)), + awful.key(awful.util.table.join(mod, { "Shift" }), key, + function () awful.util.spawn(program) end)) +end + +function new_mail(maildir) + local count = 0 + + for file in lfs.dir(maildir_base .. maildir .. "/new") do + if file ~= "." and file ~= ".." then + count = count + 1 + end + end + + for file in lfs.dir(maildir_base .. maildir .. "/cur") do + if string.sub(file, -1) ~= "S" and file ~= "." + and file ~= ".." then + count = count + 1 + end + end + + return count +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, and wallpapers +beautiful.init("/usr/share/awesome/themes/default/theme.lua") + +-- This is used later as the default terminal and editor to run. +terminal = "urxvt" +editor = os.getenv("EDITOR") or "nano" +editor_cmd = terminal .. " -e " .. 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 = +{ + awful.layout.suit.tile, + awful.layout.suit.tile.left, + awful.layout.suit.tile.bottom, + awful.layout.suit.tile.top, + awful.layout.suit.fair, + awful.layout.suit.fair.horizontal, + awful.layout.suit.spiral, + awful.layout.suit.spiral.dwindle, + awful.layout.suit.max, + awful.layout.suit.max.fullscreen, + awful.layout.suit.magnifier, + awful.layout.suit.floating +} + +----- Wallpaper +if beautiful.wallpaper then + for s = 1, screen.count() do + gears.wallpaper.maximized(beautiful.wallpaper, s, true) + end +end + +----- Tags +-- Define a tag table which hold all screen tags. +tags = {} +for s = 1, 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 + +----- 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 = {} +mytasklist = {} + +mymaillist = wibox.widget.textbox() +mymaillist:set_text( + string.format(" ryu: %d gmail: %d aethon: %d 9f: %d", + new_mail('ryuslash.org/inbox'), + new_mail('gmail/inbox'), + new_mail('aethon/inbox'), + new_mail('ninthfloor/inbox'))) +mymaillisttimer = timer({ timeout = 60 }) +mymaillisttimer:connect_signal( + "timeout", + function () + mymaillist:set_text( + string.format(" ryu: %d gmail: %d aethon: %d 9f: %d", + new_mail('ryuslash.org/inbox'), + new_mail('gmail/inbox'), + new_mail('aethon/inbox'), + new_mail('ninthfloor/inbox'))) + end) +mymaillisttimer:start() + +mytodolist = wibox.widget.textbox() +mytodolist:set_text( + string.format(" ptodo: %d wtodo: %d", + awful.util.pread("todo-count t"), + awful.util.pread("todo-count w"))) +mytodolisttimer = timer({ timeout = 60 * 60 }) +mytodolisttimer:connect_signal( + "timeout", + function () + mytodolist:set_text( + string.format(" pers: %d work: %d", + awful.util.pread("todo-count t"), + awful.util.pread("todo-count w"))) + end) +mytodolisttimer:start() + +for s = 1, screen.count() do + -- Create a promptbox for each screen + mypromptbox[s] = awful.widget.prompt() + -- 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) + -- 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 = "top", 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(mytodolist) + right_layout:add(mymaillist) + right_layout:add(wibox.widget.systray()) + end + right_layout:add(mytextclock) + right_layout:add(mylayoutbox[s]) + + -- 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 + +----- Key bindings +globalkeys = awful.util.table.join( + awful.key({ modkey, }, "Left", awful.tag.viewprev), + awful.key({ modkey, }, "Right", awful.tag.viewnext), + awful.key({ modkey, }, "Escape", awful.tag.history.restore), + + awful.key({ modkey, }, "n", + function () + awful.client.focus.byidx(1) + if client.focus then client.focus:raise() end + end), + awful.key({ modkey, }, "p", + function () + awful.client.focus.byidx(-1) + if client.focus then client.focus:raise() end + end), + + -- 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, "Control" }, "n", + function () awful.screen.focus_relative(1) end), + awful.key({ modkey, "Control" }, "p", + function () awful.screen.focus_relative(-1) end), + awful.key({ modkey, }, "u", awful.client.urgent.jumpto), + awful.key({ modkey, }, "Tab", + function () + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + end), + + -- 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, }, "l", + 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" }, "l", + function () awful.tag.incnmaster(-1) end), + awful.key({ modkey, "Control" }, "h", + function () awful.tag.incncol(1) end), + awful.key({ modkey, "Control" }, "l", + 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), + + awful.key({ modkey, "Control" }, "j", awful.client.restore), + + -- 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), + + ror_combo({ modkey }, "e", 'emacsclient -ca emacs', 'Emacs'), + ror_combo({ modkey }, "c", 'urxvt', 'URxvt'), + ror_combo({ modkey }, "w", 'conkeror', 'Conkeror'), + awful.key({ "Control", "Mod1" }, "l", + function () awful.util.spawn('i3lock -c 000000') 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", + function () awful.screen.focus_relative(1) end), + awful.key({ modkey, "Shift" }, "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)) + +-- Compute the maximum number of digit we need, limited to 9 +keynumber = 0 +for s = 1, screen.count() do + keynumber = math.min(9, math.max(#tags[s], keynumber)) +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, keynumber do + globalkeys = awful.util.table.join( + globalkeys, + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = mouse.screen + if tags[screen][i] then + awful.tag.viewonly(tags[screen][i]) + end + end), + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = mouse.screen + if tags[screen][i] then + awful.tag.viewtoggle(tags[screen][i]) + end + end), + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus and tags[client.focus.screen][i] then + awful.client.movetotag(tags[client.focus.screen][i]) + end + end), + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus and tags[client.focus.screen][i] then + awful.client.toggletag(tags[client.focus.screen][i]) + end + end)) +end + +-- Set keys +root.keys(globalkeys) + +----- Rules +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, + keys = clientkeys } }, + { rule = { class = "pinentry" }, + properties = { floating = true } }, + { rule = { class = "gimp" }, + properties = { floating = true } }, + { rule = { class = "Conkeror" }, + properties = { floating = false, + tag = tags[2][1] } }, + -- Set Firefox to always map on tags number 2 of screen 1. + -- { rule = { class = "Firefox" }, + -- properties = { tag = tags[1][2] } }, +} + +----- Signals +-- 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. + -- awful.client.setslave(c) + + -- 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( + "focus", function(c) c.border_color = beautiful.border_focus end) +client.connect_signal( + "unfocus", function(c) c.border_color = beautiful.border_normal end) diff --git a/awesome/.config/awesome/themes/custom/README b/awesome/.config/awesome/themes/custom/README new file mode 100644 index 0000000..1ddb349 --- /dev/null +++ b/awesome/.config/awesome/themes/custom/README @@ -0,0 +1,3 @@ +Background images: + Mikael Eriksson + Licensed under CC-BY-SA-3.0 diff --git a/awesome/.config/awesome/themes/custom/theme.lua b/awesome/.config/awesome/themes/custom/theme.lua new file mode 100644 index 0000000..c65edc8 --- /dev/null +++ b/awesome/.config/awesome/themes/custom/theme.lua @@ -0,0 +1,96 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +theme = {} + +theme.font = "osaka_unicode 10" + +theme.bg_normal = "#222222" +theme.bg_focus = "#535d6c" +theme.bg_urgent = "#ff0000" +theme.bg_minimize = "#444444" + +theme.fg_normal = "#aaaaaa" +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|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 = "/home/slash/.config/awesome/themes/custom/taglist/squarefw.png" +theme.taglist_squares_unsel = "/home/slash/.config/awesome/themes/custom/taglist/squarew.png" + +theme.tasklist_floating_icon = "/home/slash/.config/awesome/themes/custom/tasklist/floatingw.png" + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_submenu_icon = "/home/slash/.config/awesome/themes/custom/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 = "/home/slash/.config/awesome/themes/custom/titlebar/close_normal.png" +theme.titlebar_close_button_focus = "/home/slash/.config/awesome/themes/custom/titlebar/close_focus.png" + +theme.titlebar_ontop_button_normal_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = "/home/slash/.config/awesome/themes/custom/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = "/home/slash/.config/awesome/themes/custom/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = "/home/slash/.config/awesome/themes/custom/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = "/home/slash/.config/awesome/themes/custom/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = "/home/slash/.config/awesome/themes/custom/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = "/home/slash/.config/awesome/themes/custom/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = "/home/slash/.config/awesome/themes/custom/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = "/home/slash/.config/awesome/themes/custom/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = "/home/slash/.config/awesome/themes/custom/titlebar/maximized_focus_active.png" + +-- You can use your own command to set your wallpaper +theme.wallpaper_cmd = { "awsetbg -u feh -c /usr/share/archlinux/wallpaper/archlinux-simplyblack.png" } + +-- You can use your own layout icons like this: +theme.layout_fairh = "/home/slash/.config/awesome/themes/custom/layouts/fairhw.png" +theme.layout_fairv = "/home/slash/.config/awesome/themes/custom/layouts/fairvw.png" +theme.layout_floating = "/home/slash/.config/awesome/themes/custom/layouts/floatingw.png" +theme.layout_magnifier = "/home/slash/.config/awesome/themes/custom/layouts/magnifierw.png" +theme.layout_max = "/home/slash/.config/awesome/themes/custom/layouts/maxw.png" +theme.layout_fullscreen = "/home/slash/.config/awesome/themes/custom/layouts/fullscreenw.png" +theme.layout_tilebottom = "/home/slash/.config/awesome/themes/custom/layouts/tilebottomw.png" +theme.layout_tileleft = "/home/slash/.config/awesome/themes/custom/layouts/tileleftw.png" +theme.layout_tile = "/home/slash/.config/awesome/themes/custom/layouts/tilew.png" +theme.layout_tiletop = "/home/slash/.config/awesome/themes/custom/layouts/tiletopw.png" +theme.layout_spiral = "/home/slash/.config/awesome/themes/custom/layouts/spiralw.png" +theme.layout_dwindle = "/home/slash/.config/awesome/themes/custom/layouts/dwindlew.png" + +theme.awesome_icon = "/usr/share/awesome/icons/awesome16.png" + +return theme +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/beets/.beetsconfig b/beets/.beetsconfig new file mode 100644 index 0000000..3a9a192 --- /dev/null +++ b/beets/.beetsconfig @@ -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 diff --git a/clfswm/.config/clfswm/clfswmrc b/clfswm/.config/clfswm/clfswmrc new file mode 100644 index 0000000..f69623e --- /dev/null +++ b/clfswm/.config/clfswm/clfswmrc @@ -0,0 +1,25 @@ +;; -*- mode: lisp; -*- +(in-package :clfswm) + +(defun start-i3lock () + "Run i3lock" + (do-shell "exec i3lock -c 000000")) + +(defun start-i3lock-2 () + "Run i3lock in second mode" + (setf *second-mode-leave-function* 'start-i3lock) + (leave-second-mode)) + +(defun my-bindings () + (define-main-key ("l" :mod-1 :control) 'start-i3lock) + (define-second-key ("l" :mod-1 :control) 'start-i3lock-2)) + +(add-hook *binding-hook* 'my-bindings) + +;; (defun my-init-hook () +;; (add-frame (create-frame :name "The Gimp" :x 0.6 :y 0 :w 0.3 :h 0.2) *root-frame*)) + +;;y (add-hook *init-hook* 'my-init-hook) + +;;(setf *frame-background* "#252a2b") +;;(setf *frame-foreground* "#eeeeec") diff --git a/conkeror/.conkerorrc/ext_restore.js b/conkeror/.conkerorrc/ext_restore.js new file mode 100644 index 0000000..39b125e --- /dev/null +++ b/conkeror/.conkerorrc/ext_restore.js @@ -0,0 +1,33 @@ +/// From http://conkeror.org/Tips#Restore_Killed_Buffer_Url +// I think by the time kill_buffer_hook runs the buffer is gone so I +// patch kill_buffer + +var kill_buffer_original = kill_buffer_original || kill_buffer; + +var killed_buffer_urls = []; + +kill_buffer = function (buffer, force) { + if (buffer.display_uri_string) { + killed_buffer_urls.push(buffer.display_uri_string); + } + + kill_buffer_original(buffer,force); +}; + +interactive("restore-killed-buffer-url", "Loads url from a previously killed buffer", + function restore_killed_buffer_url (I) { + if (killed_buffer_urls.length !== 0) { + var url = yield I.minibuffer.read( + $prompt = "Restore killed url:", + $completer = all_word_completer($completions = killed_buffer_urls), + $default_completion = killed_buffer_urls[killed_buffer_urls.length - 1], + $auto_complete = "url", + $auto_complete_initial = true, + $auto_complete_delay = 0, + $match_required); + + load_url_in_new_buffer(url); + } else { + I.window.minibuffer.message("No killed buffer urls"); + } + }); diff --git a/conkeror/.conkerorrc/gtk2rc b/conkeror/.conkerorrc/gtk2rc new file mode 100644 index 0000000..fd511e5 --- /dev/null +++ b/conkeror/.conkerorrc/gtk2rc @@ -0,0 +1,11 @@ +include "/home/slash/.gtkrc-2.0" + +style "noscrollbars" { + GtkScrollbar::slider-width=0 + GtkScrollbar::trough-border=0 + GtkScrollbar::has-backward-stepper=0 + GtkScrollbar::has-forward-stepper=0 + GtkScrollbar::has-secondary-backward-stepper=0 + GtkScrollbar::has-secondary-forward-stepper=0 +} +widget "MozillaGtkWidget.*" style "noscrollbars" diff --git a/conkeror/.conkerorrc/init.js b/conkeror/.conkerorrc/init.js new file mode 100644 index 0000000..520ef04 --- /dev/null +++ b/conkeror/.conkerorrc/init.js @@ -0,0 +1,315 @@ +require("content-policy.js"); +require("favicon"); +require("session"); + +load_paths.push("file:///usr/local/clark/share/conkeror/modules/"); +load_paths.push("file:///home/slash/projects/cdispass/"); +theme_load_paths.push("/home/slash/.conkerorrc/themes/"); + +require("clark"); +require("cdispass"); + +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", + "https://duckduckgo.com/?q=%s+site%3Aemacswiki.org", + $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 = "arstdhneio"; +read_buffer_show_icons = true; +title_format_fn = ext_title_format; +url_remoting_fn = load_url_in_new_buffer; +session_auto_save_auto_load = true; + +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); +define_key(content_buffer_text_keymap, "C-c d", "dispass-and-submit"); + +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); +theme_load("yoshi"); + +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" + + "}" + ) +); + +oni_add_sheet("github.css"); +oni_add_sheet("help.css"); +oni_add_sheet("git-scm.css"); diff --git a/conkeror/.conkerorrc/styles/.gitignore b/conkeror/.conkerorrc/styles/.gitignore new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/conkeror/.conkerorrc/styles/.gitignore @@ -0,0 +1 @@ + diff --git a/conkeror/.conkerorrc/styles/base.less b/conkeror/.conkerorrc/styles/base.less new file mode 100644 index 0000000..410efe2 --- /dev/null +++ b/conkeror/.conkerorrc/styles/base.less @@ -0,0 +1,6 @@ +@import "tango"; +@import "yoshi"; + +@monospace-font: "Envy Code R"; +@background: @dblack; +@foreground: @lwhite; diff --git a/conkeror/.conkerorrc/styles/git-scm.less b/conkeror/.conkerorrc/styles/git-scm.less new file mode 100644 index 0000000..d69a97d --- /dev/null +++ b/conkeror/.conkerorrc/styles/git-scm.less @@ -0,0 +1,18 @@ +@import "base"; + +@-moz-document domain(git-scm.com) { + .book#main { + background: @background !important; + color: @aluminium-1 !important; + + code, pre { + background: @aluminium-6 !important; + color: @aluminium-2 !important; + font-family: @monospace-font !important; + } + + &, code, pre { + border: none !important; + } + } +} diff --git a/conkeror/.conkerorrc/styles/github.css b/conkeror/.conkerorrc/styles/github.css new file mode 100644 index 0000000..961ba4f --- /dev/null +++ b/conkeror/.conkerorrc/styles/github.css @@ -0,0 +1,168 @@ +@-moz-document url("https://github.com/"), url("https://github.com/dashboard") { + #dashboard .filter-bar { + background:#111111 !important; + border-bottom-color:#404040 !important; + } + + #dashboard .filter-bar li a.filter_selected { + color:#404040 !important; + } + + #dashboard .repos { + border-color:#404040 !important; + background-color:#111111 !important; + } + + #dashboard .repos .bottom-bar { + background-color:#111111 !important; + } + + #dashboard .repos .top-bar { + background:#111111 !important; + border-bottom-color:#404040 !important; + } + + #dashboard .repos h2 { + color:inherit !important; + } + + #dashboard ul.repo_list li.private { + background:#404040 !important; + } + + #dashboard ul.repo_list li a { + border-width:0 !important; + } + + #footer { + text-shadow:none !important; + } + + .button, .minibutton { + background: #111111 !important; + color: #bfbfbf !important; + text-shadow: none !important; + border-color: #404040 !important; + } + + .button.primary, .minibutton.primary { + background: #111111 !important; + color: #bfbfbf !important; + border-color: #404040 !important; + text-shadow: none; + } + + .header { + background:#404040 !important; + color:#bfbfbf !important; + border-bottom-color:#111111 !important; + text-shadow:none !important; + } + + .header .divider-vertical { + background:#111111 !important; + border-right-color:#404040 !important; + } + + .header .top-nav a,.header .topsearch a#advanced_search,.header #user-links a { + color:#bfbfbf !important; + } + + .markdown-body code,.markdown-body tt { + background-color:#404040 !important; + border-color:#111111 !important; + color:#bfbfbf !important; + font-family:"Inconsolata" !important; + } + + .minibutton.dark-grey { + backgrond:#404040 !important; + } + + .news .alert { + border-top-color:#404040 !important; + } + + .news .alert .branch-link, + .news .alert .pull-info { + background:#404040 !important; + color:#bfbfbf !important; + } + + .news .alert .gravatar { + background:none !important; + } + + .news .alert .simple .title { + color:#bfbfbf !important; + } + + .news .commits li img { + background:none !important; + } + + .news blockquote { + color:#bfbfbf !important; + } + + .pagehead .container>ul.tabs { + background:#111111 !important; + border:none !important; + } + + .pagehead .container>ul.tabs li a { + text-shadow:none !important; + border:none !important; + } + + .pagehead .container>ul.tabs li a:hover,.pagehead .container>ul.tabs li a.selected { + background:#404040 !important; + } + + .pagehead-actions a.feed { + background:#404040 !important; + border:#111111 !important; + color:#bfa47d !important; + } + + .pagination { + background:#404040 !important; + border-color:#111111 !important; + } + + .pagination a { + text-shadow:none !important; + border-bottom-color:#404040 !important; + } + + .pagination a:hover { + background:#111111 !important; + } + + a { + color:#bfa47d !important; + } + + a:visited { + color:#b27dbf !important; + } + + a.header-logo-blacktocat,a.header-logo-blacktocat:visited { + color:#404040 !important; + } + + body { + background-color:#111111 !important; + color:#bfbfbf !important; + } + + input[type="text"] { + background-color: #404040 !important; + color: #bfbfbf !important + } + + p.tip, + strong.protip { + color: #ededed !important; + } +} diff --git a/conkeror/.conkerorrc/styles/help.less b/conkeror/.conkerorrc/styles/help.less new file mode 100644 index 0000000..339d7fa --- /dev/null +++ b/conkeror/.conkerorrc/styles/help.less @@ -0,0 +1,21 @@ +@import "base"; + +@-moz-document url("chrome://conkeror-help/content/help.html") { + body { + background: @background !important; + color: @aluminium-1 !important; + } + + a { + color: @orange-1 !important; + + &:visited { + color: @plum-1 !important; + } + } + + pre, .key { + background: @aluminium-5 !important; + font-family: @monospace-font !important; + } +} diff --git a/conkeror/.conkerorrc/styles/tango.less b/conkeror/.conkerorrc/styles/tango.less new file mode 100644 index 0000000..ed6858b --- /dev/null +++ b/conkeror/.conkerorrc/styles/tango.less @@ -0,0 +1,27 @@ +@butter-1: #fce94f; +@butter-2: #edd400; +@butter-3: #c4a000; +@orange-1: #fcaf3e; +@orange-2: #f57900; +@orange-3: #ce5c00; +@chocolate-1: #e9b96e; +@chocolate-2: #c17d11; +@chocolate-3: #8f5902; +@chameleon-1: #8ae234; +@chameleon-2: #73d216; +@chameleon-3: #4e9a06; +@sky-blue-1: #729fcf; +@sky-blue-2: #3465a4; +@sky-blue-3: #204a87; +@plum-1: #ad7fa8; +@plum-2: #75507b; +@plum-3: #5c3566; +@scarlet-red-1: #ef2929; +@scarlet-red-2: #cc0000; +@scarlet-red-3: #a40000; +@aluminium-1: #eeeeec; +@aluminium-2: #d3d7cf; +@aluminium-3: #babdb6; +@aluminium-4: #888a85; +@aluminium-5: #555753; +@aluminium-6: #2e3436; diff --git a/conkeror/.conkerorrc/styles/yoshi.less b/conkeror/.conkerorrc/styles/yoshi.less new file mode 100644 index 0000000..5fdac7e --- /dev/null +++ b/conkeror/.conkerorrc/styles/yoshi.less @@ -0,0 +1,24 @@ +@lblack: #ededed; +@dblack: #111111; +@lwhite: #bfbfbf; +@dwhite: #404040; +@lred: #bf7d7d; +@dred: #402929; +@lorange: #bfa47d; +@dorange: #403729; +@lyellow: #b2bf7d; +@dyellow: #3b4029; +@lgreen: #8abf6d; +@dgreen: #2d4029; +@lturquoise: #7dbf97; +@dturquoise: #294032; +@lcyan: #7dbfbf; +@dcyan: #294040; +@lblue: #6d97bf; +@dblue: #293240; +@lpurple: #8a7dbf; +@dpurple: #2d2940; +@lmagenta: #b27dbf; +@dmagenta: #3b2940; +@lpink: #bf6da4; +@dpink: #402937; diff --git a/conkeror/.conkerorrc/themes/naquadah/conkeror--scrollbars.css b/conkeror/.conkerorrc/themes/naquadah/conkeror--scrollbars.css new file mode 100644 index 0000000..0f70e96 --- /dev/null +++ b/conkeror/.conkerorrc/themes/naquadah/conkeror--scrollbars.css @@ -0,0 +1,36 @@ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* The "background" behind the scrolling part of the scrollbar. */ +scrollbar { + background-color: #222; +} + +/* corner between horizontal and vertical scrollbars */ +scrollcorner { + background-color: black; +} + +/* The scroll up/down buttons. */ +scrollbarbutton { + background-color: #666; +} + +/* The actual scrolling part of the scrollbar. */ +thumb { + background-color: #666; +} + +thumb, scrollbarbutton { + -moz-border-bottom-colors: #000 #333; + -moz-border-left-colors: #aaa #888; + -moz-border-right-colors: #000 #333; + -moz-border-top-colors: #aaa #888; +} + +scrollbarbutton:hover:active, scrollbarbutton[active="true"] { + -moz-border-bottom-colors: #aaa #888; + -moz-border-left-colors: #000 #333; + -moz-border-right-colors: #aaa #888; + -moz-border-top-colors: #000 #333; +} diff --git a/conkeror/.conkerorrc/themes/naquadah/hints--url-panel.css b/conkeror/.conkerorrc/themes/naquadah/hints--url-panel.css new file mode 100644 index 0000000..143f3c1 --- /dev/null +++ b/conkeror/.conkerorrc/themes/naquadah/hints--url-panel.css @@ -0,0 +1,17 @@ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +.panel { + border-top: 4px double #333333; + color: white; + background-color: black; +} + +.panel .panel-row-label { + font-weight: bold; +} + +.panel .url-panel-label { + font-weight: bold; +} + diff --git a/conkeror/.conkerorrc/themes/naquadah/minibuffer.css b/conkeror/.conkerorrc/themes/naquadah/minibuffer.css new file mode 100644 index 0000000..c882f3e --- /dev/null +++ b/conkeror/.conkerorrc/themes/naquadah/minibuffer.css @@ -0,0 +1,52 @@ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +#minibuffer { + background-color: #252A2E; + border: 0px none #444; + border-top: 0; + color: #EEEEEC; + font: 11px Tahoma; +} + +#minibuffer-input, #minibuffer-input * { + color: #EEEEEC; +} + +#minibuffer-prompt { + color: #EEEEEC; +} + +/* Completions display */ + +tree.completions treechildren { border: none !important; } + +tree.completions treecol { -moz-binding: none !important; } +tree.completions { + -moz-appearance: none !important; + border: 0px none !important; + border-top: 4px double #333333 !important; + background-color: #252A2E !important; + -moz-border-top-colors: -moz-initial !important; + color: #EEEEEC !important; +} + +tree.completions treechildren::-moz-tree-row { + background-color: #252A2E !important; + border: none; +} + +tree.completions treechildren::-moz-tree-row(current) { + background-color: #0C191C !important; + color: #EEEEEC; +} + +tree.completions treechildren::-moz-tree-cell-text(completion-description) { + color: green !important; + font-weight: bold !important; +} + +tree.completions treechildren::-moz-tree-cell-text(current) { + color: #EEEEEC !important; +} + diff --git a/conkeror/.conkerorrc/themes/naquadah/mode-line.css b/conkeror/.conkerorrc/themes/naquadah/mode-line.css new file mode 100644 index 0000000..7e1ed45 --- /dev/null +++ b/conkeror/.conkerorrc/themes/naquadah/mode-line.css @@ -0,0 +1,11 @@ +.mode-line { + font: 11px Tahoma; + padding: 0px; + border: 1px solid #2E3436; + color: #EEEEEC; + background-color: #0C191C; +} + +.mode-line label { + color: #EEEEEC; +} diff --git a/conkeror/.conkerorrc/themes/naquadah/new-tabs.css b/conkeror/.conkerorrc/themes/naquadah/new-tabs.css new file mode 100644 index 0000000..f5d30c0 --- /dev/null +++ b/conkeror/.conkerorrc/themes/naquadah/new-tabs.css @@ -0,0 +1,54 @@ +#tab2-bar { + background: #222; +} + +.tab2 { + margin: 2px 0px 0px 2px; + padding: 0px; + height: 22px; + border-width: 2px; + border-bottom-width: 0; + border-style: solid; + -moz-border-radius: 3px 3px 0 0; + -moz-border-left-colors: #888 #555; + -moz-border-right-colors: #000 #171717; + -moz-border-top-colors: #888 #555; + background: #333; + min-width: 200px; + max-width: 200px; + overflow: hidden; /* Chops end of label */ +} + +.tab2[selected=true] { + -moz-border-left-colors: #aaa #888; + -moz-border-right-colors: #000 #333; + -moz-border-top-colors: #aaa #888; + background: #666; +} + +.tab2:hover { + -moz-border-left-colors: #eee #bbb; + -moz-border-right-colors: #333 #666; + -moz-border-top-colors: #eee #bbb; + background: #999; +} + +.tab2-label { + margin-left: 4px; + padding-top: 1px; + color: #fff; + font: 11px Tahoma; +} + +.tab2-icon { + margin: 1px !important; + padding: 1px; + width: 20px; + height: 15px; + max-height: 15px; + -moz-border-radius: 1px; + background: black; + color: white; + font: 900 11px Tahoma; + text-align: center; +} diff --git a/conkeror/.conkerorrc/themes/naquadah/tab-bar.css b/conkeror/.conkerorrc/themes/naquadah/tab-bar.css new file mode 100644 index 0000000..c451778 --- /dev/null +++ b/conkeror/.conkerorrc/themes/naquadah/tab-bar.css @@ -0,0 +1,41 @@ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* TABS */ +#tab2-bar { + background: #000; +} + +#tab2-bar .tab2 { + margin: 0; + padding: 0; + border: none; + /*height: 19px; + border: 1px solid #666; + min-width: 200px; + max-width: 200px;*/ + background: #333; + overflow: hidden; +} + +#tab2-bar .tab2-label { + margin: 0; + color: white; + font: 11px Tahoma; +} + +#tab2-bar .tab2-icon { + height: 16px; + width: 16px; + background: #222; + color: white; + border: 1px solid #999; + font: 900 11px Tahoma; + text-align: center; +} + +#tab2-bar .tab2[selected=true] { + border: 1px solid white; + background: #666; + border: 1px solid #999; +} diff --git a/conkeror/.conkerorrc/themes/naquadah/theme.json b/conkeror/.conkerorrc/themes/naquadah/theme.json new file mode 100644 index 0000000..bb74ee1 --- /dev/null +++ b/conkeror/.conkerorrc/themes/naquadah/theme.json @@ -0,0 +1,9 @@ +{ "sheets" : [ + "conkeror--scrollbars.css", + "new-tabs.css", + "minibuffer.css", + "mode-line.css", + "hints--url-panel.css", + "tab-bar.css" + ] +} diff --git a/conkeror/.conkerorrc/themes/yoshi/conkeror--scrollbars.css b/conkeror/.conkerorrc/themes/yoshi/conkeror--scrollbars.css new file mode 100644 index 0000000..0f70e96 --- /dev/null +++ b/conkeror/.conkerorrc/themes/yoshi/conkeror--scrollbars.css @@ -0,0 +1,36 @@ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* The "background" behind the scrolling part of the scrollbar. */ +scrollbar { + background-color: #222; +} + +/* corner between horizontal and vertical scrollbars */ +scrollcorner { + background-color: black; +} + +/* The scroll up/down buttons. */ +scrollbarbutton { + background-color: #666; +} + +/* The actual scrolling part of the scrollbar. */ +thumb { + background-color: #666; +} + +thumb, scrollbarbutton { + -moz-border-bottom-colors: #000 #333; + -moz-border-left-colors: #aaa #888; + -moz-border-right-colors: #000 #333; + -moz-border-top-colors: #aaa #888; +} + +scrollbarbutton:hover:active, scrollbarbutton[active="true"] { + -moz-border-bottom-colors: #aaa #888; + -moz-border-left-colors: #000 #333; + -moz-border-right-colors: #aaa #888; + -moz-border-top-colors: #000 #333; +} diff --git a/conkeror/.conkerorrc/themes/yoshi/hints--url-panel.css b/conkeror/.conkerorrc/themes/yoshi/hints--url-panel.css new file mode 100644 index 0000000..143f3c1 --- /dev/null +++ b/conkeror/.conkerorrc/themes/yoshi/hints--url-panel.css @@ -0,0 +1,17 @@ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +.panel { + border-top: 4px double #333333; + color: white; + background-color: black; +} + +.panel .panel-row-label { + font-weight: bold; +} + +.panel .url-panel-label { + font-weight: bold; +} + diff --git a/conkeror/.conkerorrc/themes/yoshi/minibuffer.css b/conkeror/.conkerorrc/themes/yoshi/minibuffer.css new file mode 100644 index 0000000..12ca4e8 --- /dev/null +++ b/conkeror/.conkerorrc/themes/yoshi/minibuffer.css @@ -0,0 +1,49 @@ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +#minibuffer { + background-color: #111113; + border: none; + color: #EEEEEC; + font: 16px "Envy Code R"; +} + +#minibuffer-input, #minibuffer-input * { + color: #EEEEEC; +} + +#minibuffer-prompt { + color: #EEEEEC; +} + +/* Completions display */ + +tree.completions treechildren { border: none !important; } + +tree.completions treecol { -moz-binding: none !important; } +tree.completions { + -moz-appearance: none !important; + border: 0px none !important; + background-color: #111113 !important; + -moz-border-top-colors: -moz-initial !important; + color: #EEEEEC !important; + font: 18px "Envy Code R"; +} + +tree.completions treechildren::-moz-tree-row { + background-color: #111113 !important; + border: none; +} + +tree.completions treechildren::-moz-tree-row(current) { + background-color: #536580 !important; + color: #EEEEEC; +} + +tree.completions treechildren::-moz-tree-cell-text(completion-description) { + color: #b8ffa6 !important; +} + +tree.completions treechildren::-moz-tree-cell-text(current) { + color: #EEEEEC !important; +} diff --git a/conkeror/.conkerorrc/themes/yoshi/mode-line.css b/conkeror/.conkerorrc/themes/yoshi/mode-line.css new file mode 100644 index 0000000..31aabd7 --- /dev/null +++ b/conkeror/.conkerorrc/themes/yoshi/mode-line.css @@ -0,0 +1,11 @@ +.mode-line { + font: 16px "Envy Code R"; + padding: 0px; + border: none; + color: #EEEEEC; + background-color: #222224; +} + +.mode-line label { + color: #EEEEEC; +} diff --git a/conkeror/.conkerorrc/themes/yoshi/new-tabs.css b/conkeror/.conkerorrc/themes/yoshi/new-tabs.css new file mode 100644 index 0000000..f5d30c0 --- /dev/null +++ b/conkeror/.conkerorrc/themes/yoshi/new-tabs.css @@ -0,0 +1,54 @@ +#tab2-bar { + background: #222; +} + +.tab2 { + margin: 2px 0px 0px 2px; + padding: 0px; + height: 22px; + border-width: 2px; + border-bottom-width: 0; + border-style: solid; + -moz-border-radius: 3px 3px 0 0; + -moz-border-left-colors: #888 #555; + -moz-border-right-colors: #000 #171717; + -moz-border-top-colors: #888 #555; + background: #333; + min-width: 200px; + max-width: 200px; + overflow: hidden; /* Chops end of label */ +} + +.tab2[selected=true] { + -moz-border-left-colors: #aaa #888; + -moz-border-right-colors: #000 #333; + -moz-border-top-colors: #aaa #888; + background: #666; +} + +.tab2:hover { + -moz-border-left-colors: #eee #bbb; + -moz-border-right-colors: #333 #666; + -moz-border-top-colors: #eee #bbb; + background: #999; +} + +.tab2-label { + margin-left: 4px; + padding-top: 1px; + color: #fff; + font: 11px Tahoma; +} + +.tab2-icon { + margin: 1px !important; + padding: 1px; + width: 20px; + height: 15px; + max-height: 15px; + -moz-border-radius: 1px; + background: black; + color: white; + font: 900 11px Tahoma; + text-align: center; +} diff --git a/conkeror/.conkerorrc/themes/yoshi/tab-bar.css b/conkeror/.conkerorrc/themes/yoshi/tab-bar.css new file mode 100644 index 0000000..c451778 --- /dev/null +++ b/conkeror/.conkerorrc/themes/yoshi/tab-bar.css @@ -0,0 +1,41 @@ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* TABS */ +#tab2-bar { + background: #000; +} + +#tab2-bar .tab2 { + margin: 0; + padding: 0; + border: none; + /*height: 19px; + border: 1px solid #666; + min-width: 200px; + max-width: 200px;*/ + background: #333; + overflow: hidden; +} + +#tab2-bar .tab2-label { + margin: 0; + color: white; + font: 11px Tahoma; +} + +#tab2-bar .tab2-icon { + height: 16px; + width: 16px; + background: #222; + color: white; + border: 1px solid #999; + font: 900 11px Tahoma; + text-align: center; +} + +#tab2-bar .tab2[selected=true] { + border: 1px solid white; + background: #666; + border: 1px solid #999; +} diff --git a/conkeror/.conkerorrc/themes/yoshi/theme.json b/conkeror/.conkerorrc/themes/yoshi/theme.json new file mode 100644 index 0000000..bb74ee1 --- /dev/null +++ b/conkeror/.conkerorrc/themes/yoshi/theme.json @@ -0,0 +1,9 @@ +{ "sheets" : [ + "conkeror--scrollbars.css", + "new-tabs.css", + "minibuffer.css", + "mode-line.css", + "hints--url-panel.css", + "tab-bar.css" + ] +} diff --git a/conky/.conky_box.lua b/conky/.conky_box.lua new file mode 100644 index 0000000..ef53427 --- /dev/null +++ b/conky/.conky_box.lua @@ -0,0 +1,311 @@ +--[[BOX WIDGET v1.1 by Wlourf 27/01/2011 +This widget can drawn some boxes, even circles in your conky window +http://u-scripts.blogspot.com/2011/01/box-widget.html) + +Inspired by Background by londonali1010 (2009), thanks ;-) + +The parameters (all optionals) are : +x - x coordinate of top-left corner of the box, default = 0 = (top-left corner of conky window) +y - y coordinate of top-left corner of the box, default = 0 = (top-left corner of conky window) +w - width of the box, default = width of the conky window +h - height of the box, default = height of the conky window +corners - corners is a table for the four corners in this order : top-left, top-right,bottom-right, bottom-left + each corner is defined in a table with a shape and a radius, available shapes are : "curve","circle","line" + example for the same shapes for all corners: + { {"circle",10} } + example for first corner different from the three others + { {"circle",10}, {"circle",5} } + example for top corners differents from bottom corners + { {"circle",10}, {"circle",10}, {"line",0} } + default = { {"line",0} } i.e=no corner +operator - set the compositing operator (needs in the conkyrc : own_window_argb_visual yes) + see http://cairographics.org/operators/ + available operators are : + "clear","source","over","in","out","atop","dest","dest_over","dest_in","dest_out","dest_atop","xor","add","saturate" + default = "over" +border - if border>0, the script draws only the border, like a frame, default=0 +dash - if border>0 and dash>0, the border is draw with dashes, default=0 +skew_x - skew box around x axis, default = 0 +skew_y - skew box around y axis, default = 0 +scale_x - rescale the x axis, default=1, useful for drawing elipses ... +scale_y - rescale the x axis, default=1 +angle - angle of rotation of the box in degrees, default = 0 + i.e. a horizontal graph +rot_x - x point of rotation's axis, default = 0, + relative to top-left corner of the box, (not the conky window) +rot_y - y point of rotation's axis, default = 0 + relative to top-left corner of the box, (not the conky window) +draw_me - if set to false, box is not drawn (default = true or 1) + it can be used with a conky string, if the string returns 1, the box is drawn : + example : "${if_empty ${wireless_essid wlan0}}${else}1$endif", + +linear_gradient - table with the coordinates of two points to define a linear gradient, + points are relative to top-left corner of the box, (not the conky window) + {x1,y1,x2,y2} +radial_gradient - table with the coordinates of two circle to define a radial gradient, + points are relative to top-left corner of the box, (not the conky window) + {x1,y1,r1,x2,y2,r2} (r=radius) +colour - table of colours, default = plain white {{1,0xFFFFFF,0.5}} + this table contains one or more tables with format {P,C,A} + P=position of gradient (0 = start of the gradient, 1= end of the gradient) + C=hexadecimal colour + A=alpha (opacity) of color (0=invisible,1=opacity 100%) + Examples : + for a plain color {{1,0x00FF00,0.5}} + for a gradient with two colours {{0,0x00FF00,0.5},{1,0x000033,1}} {x=80,y=150,w=20,h=20, + radial_gradient={20,20,0,20,20,20}, + colour={{0.5,0xFFFFFF,1},{1,0x000000,0}}, + or {{0.5,0x00FF00,1},{1,0x000033,1}} -with this one, gradient will start in the middle + for a gradient with three colours {{0,0x00FF00,0.5},{0.5,0x000033,1},{1,0x440033,1}} + and so on ... + + + +To call this script in Conky, use (assuming you have saved this script to ~/scripts/): + lua_load ~/scripts/box.lua + lua_draw_hook_pre main_box + +And leave one line blank or not after TEXT + +Changelog: ++ v1.0 -- Original release (19.12.2010) ++ v1.1 -- Adding parameters: operator, dash, angle, skew_x, skew_y, draw_me + corners are described in a table + +-- 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 version 3 (GPLv3) +-- +-- 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, write to the Free Software +-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +-- MA 02110-1301, USA. + + +]] + + +require 'cairo' + +function conky_main_box() + + if conky_window==nil then return end + + ---------------------- PARAMETERS BEGIN HERE + local boxes_settings={ + { + x = conky_window.text_start_x - 10, + y = conky_window.text_start_y - 10, + w = conky_window.text_width + 20, + h = conky_window.text_height + 20, + colour = {{1,0x000000,0.4}}, + }, + } + + + ---------------------------- PARAMETERS END HERE + + local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height) + local cr=cairo_create(cs) + + if tonumber(conky_parse("$updates"))<5 then return end + for i in pairs(boxes_settings) do + draw_box (cr,boxes_settings[i]) + end + cairo_destroy(cr) + cairo_surface_destroy(cs) +end + + +function draw_box(cr,t) + + if t.draw_me == true then t.draw_me = nil end + if t.draw_me ~= nil and conky_parse(tostring(t.draw_me)) ~= "1" then return end + + local table_corners={"circle","curve","line"} + + local t_operators={ + clear = CAIRO_OPERATOR_CLEAR, + source = CAIRO_OPERATOR_SOURCE, + over = CAIRO_OPERATOR_OVER, + ["in"] = CAIRO_OPERATOR_IN, + out = CAIRO_OPERATOR_OUT, + atop = CAIRO_OPERATOR_ATOP, + dest = CAIRO_OPERATOR_DEST, + dest_over = CAIRO_OPERATOR_DEST_OVER, + dest_in = CAIRO_OPERATOR_DEST_IN, + dest_out = CAIRO_OPERATOR_DEST_OUT, + dest_atop = CAIRO_OPERATOR_DEST_ATOP, + xor = CAIRO_OPERATOR_XOR, + add = CAIRO_OPERATOR_ADD, + saturate = CAIRO_OPERATOR_SATURATE, + } + + function rgba_to_r_g_b_a(tc) + --tc={position,colour,alpha} + local colour = tc[2] + local alpha = tc[3] + return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha + end + + function table.copy(t) + local t2 = {} + for k,v in pairs(t) do + t2[k] = {v[1],v[2]} + end + return t2 + end + + function draw_corner(num,t) + local shape=t[1] + local radius=t[2] + local x,y = t[3],t[4] + if shape=="line" then + if num == 1 then cairo_line_to(cr,radius,0) + elseif num == 2 then cairo_line_to(cr,x,radius) + elseif num == 3 then cairo_line_to(cr,x-radius,y) + elseif num == 4 then cairo_line_to(cr,0,y-radius) + end + end + if shape=="circle" then + local PI = math.pi + if num == 1 then cairo_arc(cr,radius,radius,radius,-PI,-PI/2) + elseif num == 2 then cairo_arc(cr,x-radius,y+radius,radius,-PI/2,0) + elseif num == 3 then cairo_arc(cr,x-radius,y-radius,radius,0,PI/2) + elseif num == 4 then cairo_arc(cr,radius,y-radius,radius,PI/2,-PI) + end + end + if shape=="curve" then + if num == 1 then cairo_curve_to(cr,0,radius ,0,0 ,radius,0) + elseif num == 2 then cairo_curve_to(cr,x-radius,0, x,y, x,radius) + elseif num == 3 then cairo_curve_to(cr,x,y-radius, x,y, x-radius,y) + elseif num == 4 then cairo_curve_to(cr,radius,y, x,y, 0,y-radius) + end + end + end + + --check values and set default values + if t.x == nil then t.x = 0 end + if t.y == nil then t.y = 0 end + if t.w == nil then t.w = conky_window.width end + if t.h == nil then t.h = conky_window.height end + if t.radius == nil then t.radius = 0 end + if t.border == nil then t.border = 0 end + if t.colour==nil then t.colour={{1,0xFFFFFF,0.5}} end + if t.linear_gradient ~= nil then + if #t.linear_gradient ~= 4 then + t.linear_gradient = {t.x,t.y,t.width,t.height} + end + end + if t.angle==nil then t.angle = 0 end + + if t.skew_x == nil then t.skew_x=0 end + if t.skew_y == nil then t.skew_y=0 end + if t.scale_x==nil then t.scale_x=1 end + if t.scale_y==nil then t.scale_y=1 end + if t.rot_x == nil then t.rot_x=0 end + if t.rot_y == nil then t.rot_y=0 end + + if t.operator == nil then t.operator = "over" end + if (t_operators[t.operator]) == nil then + print ("wrong operator :",t.operator) + t.operator = "over" + end + + if t.radial_gradient ~= nil then + if #t.radial_gradient ~= 6 then + t.radial_gradient = {t.x,t.y,0, t.x,t.y, t.width} + end + end + + for i=1, #t.colour do + if #t.colour[i]~=3 then + print ("error in color table") + t.colour[i]={1,0xFFFFFF,1} + end + end + + if t.corners == nil then t.corners={ {"line",0} } end + local t_corners = {} + local t_corners = table.copy(t.corners) + --don't use t_corners=t.corners otherwise t.corners is altered + + --complete the t_corners table if needed + for i=#t_corners+1,4 do + t_corners[i]=t_corners[#t_corners] + local flag=false + for j,v in pairs(table_corners) do flag=flag or (t_corners[i][1]==v) end + if not flag then print ("error in corners table :",t_corners[i][1]);t_corners[i][1]="curve" end + end + + --this way : + -- t_corners[1][4]=x + -- t_corners[2][3]=y + --doesn't work + t_corners[1]={t_corners[1][1],t_corners[1][2],0,0} + t_corners[2]={t_corners[2][1],t_corners[2][2],t.w,0} + t_corners[3]={t_corners[3][1],t_corners[3][2],t.w,t.h} + t_corners[4]={t_corners[4][1],t_corners[4][2],0,t.h} + + t.no_gradient = (t.linear_gradient == nil ) and (t.radial_gradient == nil ) + + cairo_save(cr) + cairo_translate(cr, t.x, t.y) + if t.rot_x~=0 or t.rot_y~=0 or t.angle~=0 then + cairo_translate(cr,t.rot_x,t.rot_y) + cairo_rotate(cr,t.angle*math.pi/180) + cairo_translate(cr,-t.rot_x,-t.rot_y) + end + if t.scale_x~=1 or t.scale_y~=1 or t.skew_x~=0 or t.skew_y~=0 then + local matrix0 = cairo_matrix_t:create() + tolua.takeownership(matrix0) + cairo_matrix_init (matrix0, t.scale_x,math.pi*t.skew_y/180 , math.pi*t.skew_x/180 ,t.scale_y,0,0) + cairo_transform(cr,matrix0) + end + + local tc=t_corners + cairo_move_to(cr,tc[1][2],0) + cairo_line_to(cr,t.w-tc[2][2],0) + draw_corner(2,tc[2]) + cairo_line_to(cr,t.w,t.h-tc[3][2]) + draw_corner(3,tc[3]) + cairo_line_to(cr,tc[4][2],t.h) + draw_corner(4,tc[4]) + cairo_line_to(cr,0,tc[1][2]) + draw_corner(1,tc[1]) + + if t.no_gradient then + cairo_set_source_rgba(cr,rgba_to_r_g_b_a(t.colour[1])) + else + if t.linear_gradient ~= nil then + pat = cairo_pattern_create_linear (t.linear_gradient[1],t.linear_gradient[2],t.linear_gradient[3],t.linear_gradient[4]) + elseif t.radial_gradient ~= nil then + pat = cairo_pattern_create_radial (t.radial_gradient[1],t.radial_gradient[2],t.radial_gradient[3], + t.radial_gradient[4],t.radial_gradient[5],t.radial_gradient[6]) + end + for i=1, #t.colour do + cairo_pattern_add_color_stop_rgba (pat, t.colour[i][1], rgba_to_r_g_b_a(t.colour[i])) + end + cairo_set_source (cr, pat) + cairo_pattern_destroy(pat) + end + + cairo_set_operator(cr,t_operators[t.operator]) + + if t.border>0 then + cairo_close_path(cr) + if t.dash ~= nil then cairo_set_dash(cr, t.dash, 1, 0.0) end + cairo_set_line_width(cr,t.border) + cairo_stroke(cr) + else + cairo_fill(cr) + end + + cairo_restore(cr) +end + diff --git a/conky/.conkyrc b/conky/.conkyrc new file mode 100644 index 0000000..297229e --- /dev/null +++ b/conky/.conkyrc @@ -0,0 +1,53 @@ +# -*- eval: (git-auto-commit-mode 1) -*- +background yes +use_xft yes +xftfont tamsyn:pixelsize=14 +!xftalpha 0.1 +update_interval 2.0 +total_run_times 0 +double_buffer yes +minimum_size 250 5 +maximum_width 400 +draw_shades no +draw_outline no +draw_borders no +draw_graph_borders no +default_color gray +default_shade_color red +default_outline_color green +alignment top_right +gap_x 10 +gap_y 42 +no_buffers yes +uppercase no +cpu_avg_samples 2 +net_avg_samples 1 +override_utf8_locale no +use_spacer yes +lua_load ~/.conkybox.lua +lua_draw_hook_pre conky_main_box + +TEXT +${font Arial:bold:size=10}${color Tan1}TODO ${color RoyalBlue}${voffset -2}${hr 2} +$font${color SlateGray}${exec /home/slash/development/projects/ntd/src/ntd list short} + +$if_mpd_playing${font Arial:bold:size=10}${color Tan1}MUSIC ${color RoyalBlue}${voffset -2}${hr 2} +$font$alignc${color SlateGray}$mpd_title +$alignc$mpd_artist +$alignc$mpd_album +$mpd_bar + +$endif${font Arial:bold:size=10}${color Tan1}USAGE ${color RoyalBlue}${voffset -2}${hr 2} +$font${color SlateGray}CPU1 $alignr${cpu cpu1}% ${cpubar cpu1 7,170} +$font${color SlateGray}CPU2 $alignr${cpu cpu2}% ${cpubar cpu2 7,170} +$font${color SlateGray}MEM $alignr${memperc}% ${membar 7,170} +$font${color SlateGray}SWAP $alignr${swapperc}% ${swapbar 7, 170} + +${font Arial:bold:size=10}${color Tan1}HDD ${color RoyalBlue}${voffset -2}${hr 2} +${font}${color SlateGray}Write: $alignr$diskio_write +Read: $alignr$diskio_read + +${font Arial:bold:size=10}${color Tan1}TOP PROCESS ${color RoyalBlue}${voffset -2}${hr 2} +${color SlateGray}${font}CPU: ${top name 1}${alignr}${top cpu 1}% +MEM: ${top_mem name 1}${alignr}${top_mem mem 1}% +IO: ${top_io name 1}${alignr}${top_io io_perc 1}% diff --git a/cower/.config/cower/config b/cower/.config/cower/config new file mode 100644 index 0000000..6c24291 --- /dev/null +++ b/cower/.config/cower/config @@ -0,0 +1,3 @@ +Color = always +TargetDir = /home/slash/var/aur/ +IgnoreRepo = pegas diff --git a/dotfiles.mk b/dotfiles.mk deleted file mode 100644 index 4132992..0000000 --- a/dotfiles.mk +++ /dev/null @@ -1,135 +0,0 @@ -LOAD_PATH=. /usr/share/emacs/site-lisp $(HOME)/.emacs.d/site-lisp -EMACS=emacs $(addprefix -L ,$(LOAD_PATH)) -MODE=644 - -ifeq ($(shell if [ "`tput colors`" -gt 0 ]; then echo -n "y"; fi),y) -FG_BLU=\033[0;34m -FG_YEL=\033[0;33m -FG_GRE=\033[0;32m -FG_RED=\033[0;31m -CLR_RE=\033[0;00m -else -FG_BLU= -FG_YEL= -FG_GRE= -FG_RED= -CLR_RE= -endif - -compile = $(EMACS) -Q -batch -eval "(byte-compile-file \"$(1)\")" -define newer = -$(shell if [ "$(1)" -nt "$(DESTDIR)/$(1)" ]; then echo "newer"; fi) -endef -define older = -$(shell if [ "$(1)" -ot "$(DESTDIR)/$(1)" ]; then echo "older"; fi) -endef - -check-objects=$(addprefix check-,$(objects)) -install-objects=$(addprefix install-,$(objects)) -reverse-objects=$(addprefix reverse-,$(objects)) -cleanup-objects=$(addprefix cleanup-,$(objects)) -uninstall-objects=$(addprefix uninstall-,$(objects)) - -check-modules=$(addprefix check-,$(modules)) -install-modules=$(addprefix install-,$(modules)) -reverse-modules=$(addprefix reverse-,$(modules)) -cleanup-modules=$(addprefix cleanup-,$(modules)) -uninstall-modules=$(addprefix uninstall-,$(modules)) - -.PHONY: all install cleanup check cleanup $(modules) \ - $(install-objects) $(cleanup-objects) $(check-objects) \ - $(install-modules) $(cleanup-modules) $(check-modules) \ - $(reverse) $(reverse-objects) $(reverse-modules) \ - $(uninstall-objects) $(uninstall-modules) -all: $(modules) $(objects) - -ifeq ($(MAKEROOT),y) -check: $(check-modules) $(check-objects) -install: cleanup $(install-modules) $(install-objects) Makefile.old -reverse: $(reverse-modules) $(reverse-objects) -uninstall: $(uninstall-modules) $(uninstall-objects) - @rmdir --ignore-fail-on-non-empty $(DESTDIR) 2> /dev/null || true -ifeq ($(firstword $(MAKEFILE_LIST)),Makefile.old) -cleanup: $(cleanup-modules) $(cleanup-objects) - @rmdir --ignore-fail-on-non-empty $(DESTDIR) 2> /dev/null || true -else -cleanup: export NEWOBJS = $(objects) -cleanup: export NEWMODS = $(modules) -cleanup: - @$(MAKE) -s -f Makefile.old cleanup - -Makefile.old: $(firstword $(MAKEFILE_LIST)) - @cp "$^" "$@" - -ifdef SUBDIR -DESTDIR:=$(DESTDIR)/$(SUBDIR) -endif -endif -else -check: - @$(MAKE) -s -C ../ check -install: - @$(MAKE) -s -C ../ install -reverse: - @$(MAKE) -s -C ../ reverse -cleanup: - @$(MAKE) -s -C ../ cleanup -uninstall: - @$(MAKE) -s -C ../ uninstall -endif - -$(modules): %: - $(MAKE) -C $* - -$(install-objects): install-%: % - @$(if $(call newer,$*), \ - echo -e "$(FG_GRE)+ $(FG_YEL)$(MKDPREFIX)$* $(CLR_RE)to $(DESTDIR) as $(MODE)"; \ - install -pDm $(MODE) "$*" "$(DESTDIR)/$*", \ - $(if $(call older,$*) ,\ - echo -e "$(FG_RED)- $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)")) - -$(install-modules): install-%: - @$(MAKE) -s -C $* install MKDPREFIX=$(MKDPREFIX)$*/ - -$(reverse-objects): reverse-%: - @$(if $(call older,$*), \ - echo -e "$(FG_GRE)+ $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)"; \ - cp -a "$(DESTDIR)/$*" "$*", \ - echo -e "$(FG_RED)- $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)") - -$(reverse-modules): reverse-%: - @$(MAKE) -s -C $* reverse MKDPREFIX=$(MKDPREFIX)$*/ - -$(cleanup-objects): cleanup-%: - @$(if $(findstring $*,$(NEWOBJS)),, \ - @$(if $(call older,$*), \ - echo -e "$(FG_RED)+ $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)", \ - echo -e "$(FG_GRE)- $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)"; \ - unlink "$(DESTDIR)/$*" || true)) - -$(cleanup-modules): cleanup-%: - @$(if $(findstring $*,$(NEWMODS)), \ - @$(MAKE) -C $* cleanup MKDPREFIX=$(MKDPREFIX)$*/, \ - @$(MAKE) -C $* uninstall MKDPREFIX=$(MKDPREFIX)$*/) - -$(check-objects): check-%: - @$(if $(call newer,$*), \ - echo -e "$(FG_GRE)+ $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)", \ - $(if $(call older,$*), \ - echo -e "$(FG_RED)- $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)", \ - echo -e "$(FG_BLU)= $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)")) - -$(check-modules): check-%: - @$(MAKE) -s -C $* check MKDPREFIX=$(MKDPREFIX)$*/ - -$(uninstall-objects): uninstall-%: - @$(if $(call older,$*), \ - echo -e "$(FG_RED)+ $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)", \ - echo -e "$(FG_GRE)- $(FG_YEL)$(MKDPREFIX)$*$(CLR_RE)"; \ - unlink "$(DESTDIR)/$*" || true) - -$(uninstall-modules): uninstall-%: - @$(MAKE) -s -C $* uninstall MKDPREFIX=$(MKDPREFIX)$*/ - -$(filter %.elc,$(objects)): %.elc: %.el - $(call compile,$^) diff --git a/dotfiles2.mk b/dotfiles2.mk deleted file mode 100644 index 521b06d..0000000 --- a/dotfiles2.mk +++ /dev/null @@ -1,17 +0,0 @@ -DESTDIR?=$(HOME) -DESTDIR:=$(DESTDIR)/$(SUBDIR) - -RSYNC=rsync -RFLAGS=--links --perms --times --group --owner --dirs --verbose \ - --update --delete --exclude=Makefile --exclude=.gitignore \ - $(addprefix --exclude=,$(EXCLUDE)) - -install-modules=$(addprefix install-,$(MODULES)) - -install: $(install-modules) - @echo "Syncing $(CURDIR)/ with $(DESTDIR)" - @$(RSYNC) $(RFLAGS) $(CURDIR)/ $(DESTDIR) - @echo - -$(install-modules): install-%: - @DESTDIR=$(DESTDIR) $(MAKE) -s -C $* install diff --git a/dunst/.config/dunst/dunstrc b/dunst/.config/dunst/dunstrc new file mode 100644 index 0000000..76427ed --- /dev/null +++ b/dunst/.config/dunst/dunstrc @@ -0,0 +1,161 @@ +# -*- mode: conf-unix; -*- +[global] + font = Monaco-12 + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + format = "%s\n%b" + + # Sort messages by urgency + sort = yes + + # Show how many messages are currently hidden (because of geometry) + indicate_hidden = yes + + # alignment of message text. + # Possible values are "left", "center" and "right" + alignment = left + + # The frequency with wich text that is longer than the notification + # window allows bounces back and forth. + # This option conflicts with 'word_wrap'. + # Set to 0 to disable + bounce_freq = 0 + + # show age of message if message is older than show_age_threshold seconds. + # set to -1 to disable + show_age_threshold = 60; + + # split long notifications into multiple lines + word_wrap = yes + + + # the geometry of the window + # geometry [{width}]x{height}][+/-{x}+/-{y}] + # The geometry of the message window. + # The height is measured in lines everything else in pixels. If the width + # is omitted but the height is given ("-geometry x2"), the message window + # expands over the whole screen (dmenu-like). If width is 0, + # the window expands to the longest message displayed. + # A positive x is measured from the left, a negative from the + # right side of the screen. Y is measured from the top and down respectevly. + geometry = "0x3-30+20" + + # The transparency of the window. range: [0; 100] + # This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..) + transparency = 0 + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + idle_threshold = 120 + + # Which monitor should the notifications be displayed on. + monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern windowmanagers. + # + # If this option is set to mouse or keyboard, the monitor option will be + # ignored. + follow = none + + # should a notification popped up from history be sticky or + # timeout as if it would normally do. + sticky_history = yes + + # The height of a single line. If the height is smaller than the font height, + # it will get raised to the font height. + # This adds empty space above and under the text. + line_height = 0 + + # Draw a line of 'separatpr_height' pixel height between two notifications. + # Set to 0 to disable + separator_height = 2; + + # Define a color for the separator. + # This can either be "auto" or "foreground". "Auto" tries to find a color + # that fits nicely to the background color. + separator_color = auto + + +[shortcuts] + # shortcuts are specified as [modifier+][modifier+]...key + # available modifiers are 'ctrl', 'mod1' (the alt-key), 'mod2', 'mod3' + # and 'mod4' (windows-key) + # xev might be helpful to find names for keys + + # close notification + close = ctrl+space + + # close all notifications + close_all = ctrl+shift+space + + # redisplay last message(s) + # On the US keyboard layout 'grave' is normally above TAB and left of '1'. + history = ctrl+grave + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the '#' and following would be interpreted as a comment. + background = "#405c2e" + foreground = "#eeeeec" + timeout = 10 + +[urgency_normal] + background = "#222224" + foreground = "#eeeeec" + timeout = 10 + +[urgency_critical] + background = "#973732" + foreground = "#eeeeec" + timeout = 0 + + +# Every section that isn't one of the above is interpreted as a rules +# to override settings for certain messages. +# Messages can be matched by 'appname', 'summary', 'body' or 'icon' +# and you can override the 'timeout', 'urgency', 'foreground', 'background' +# and 'format'. +# Shell-like globbing will get expanded. +# +# NOTE: if you don't want a notification to be displayed, set the format to "" +# NOTE: It might be helpful to run dunst -print in a terminal in order to find +# fitting options for rules. + +#[ignore] +## This notification will not be displayed +# summary = "foobar" +# format = "" + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# diff --git a/fehlstart/.config/fehlstart/fehlstart.rc b/fehlstart/.config/fehlstart/fehlstart.rc new file mode 100644 index 0000000..6810f50 --- /dev/null +++ b/fehlstart/.config/fehlstart/fehlstart.rc @@ -0,0 +1,22 @@ + +[Bindings] +launch=r + +[Matching] +strict=false +executable=true + +[Update] +interval=15 + +[Icons] +show=true +cache=true + +[Border] +color=#000000 +width=1 + +[Window] +width=200 +height=100 diff --git a/fehlstart/.local/share/applications/moc.desktop b/fehlstart/.local/share/applications/moc.desktop new file mode 100644 index 0000000..7d83074 --- /dev/null +++ b/fehlstart/.local/share/applications/moc.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=moc +GenericName=Music Player +Comment=Play Music +Exec=urxvt -e mocp +Icon=audio-x-generic.png +Type=Application diff --git a/fehlstart/.local/share/applications/ncmpcpp.desktop b/fehlstart/.local/share/applications/ncmpcpp.desktop new file mode 100644 index 0000000..8151a1e --- /dev/null +++ b/fehlstart/.local/share/applications/ncmpcpp.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=ncmpcpp +GenericName=Music Player +Comment=Play Music +Exec=urxvt -e ncmpcpp +Icon=audio-x-generic.png +Type=Application diff --git a/fehlstart/.local/share/applications/poweroff.desktop b/fehlstart/.local/share/applications/poweroff.desktop new file mode 100644 index 0000000..b809e56 --- /dev/null +++ b/fehlstart/.local/share/applications/poweroff.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=poweroff +GenericName=Power Off +Comment=Turn off the power +Exec=systemctl poweroff +Icon=system-shutdown.png +Type=Application diff --git a/fehlstart/.local/share/applications/reboot.desktop b/fehlstart/.local/share/applications/reboot.desktop new file mode 100644 index 0000000..34ca716 --- /dev/null +++ b/fehlstart/.local/share/applications/reboot.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=reboot +GenericName=Reboot +Comment=Reboot the system +Exec=systemctl reboot +Icon=reload.png +Type=Application diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish new file mode 100644 index 0000000..f515917 --- /dev/null +++ b/fish/.config/fish/config.fish @@ -0,0 +1,76 @@ +function fish_prompt -d "Write out the prompt" + set last_status $status + set current_directory (prompt_pwd) + set git_branch (git branch --contains HEAD 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/') + set cnormal (set_color white) + + echo -n $cnormal + + printf '%s%s%s' (set_color magenta) (hostname|cut -d . -f 1) $cnormal + + if test -n "$current_directory" + printf ' %s%s%s' (set_color $fish_color_cwd) $current_directory $cnormal + end + + if test -n "$git_branch" + printf '@%s%s%s' (set_color yellow) $git_branch $cnormal + end + + if test $last_status -eq 0 + printf '%s' (set_color --bold green) + else + printf '%s' (set_color --bold red) + end + + printf '>%s ' (set_color normal) +end + +function grep + /bin/grep --color=always $argv +end + +function less + /bin/less -FXRS $argv +end + +function ls + /bin/ls -F --color=always $argv +end + +function mysql + /usr/bin/mysql --pager $argv +end + +function slrn + set -x NNTPSERVER 'news.gmane.org' + /usr/bin/slrn $argv +end + +function shutdown + dbus-send --system --print-reply \ + --dest="org.freedesktop.ConsoleKit" \ + /org/freedesktop/ConsoleKit/Manager \ + org.freedesktop.ConsoleKit.Manager.Stop +end + +function reboot + dbus-send --system --print-reply \ + --dest="org.freedesktop.ConsoleKit" \ + /org/freedesktop/ConsoleKit/Manager \ + org.freedesktop.ConsoleKit.Manager.Restart +end + +function engage + play -n -c1 synth whitenoise band -n 100 20 band -n 50 20 gain +25 fade h 1 864000 1 +end + +function lscompmod -d "List kernel modules used by hardware" + lspci -mvk | awk '/^Module/ {print $2}' | sort -u +end + +set -x PAGER 'less -FXRS' +set -x BROWSER conkeror +set -x EDITOR 'emacsclient -c -a emacs' +set -x PATH ~/usr/bin $PATH /sbin /usr/sbin /usr/local/emacs/bin/ \ + /usr/local/bin /usr/local/stumpwm/bin /usr/local/scwm/bin \ + /usr/local/clfswm/bin /opt/plan9/bin diff --git a/fontconfig/.config/fontconfig/fonts.conf b/fontconfig/.config/fontconfig/fonts.conf new file mode 100644 index 0000000..6204d1f --- /dev/null +++ b/fontconfig/.config/fontconfig/fonts.conf @@ -0,0 +1,34 @@ + + + + + + + + true + + + + true + + + + hintslight + + + + rgb + + + + true + + + + + + lcddefault + + + + diff --git a/git/.gitconfig b/git/.gitconfig new file mode 100644 index 0000000..d55f3be --- /dev/null +++ b/git/.gitconfig @@ -0,0 +1,22 @@ +[user] + name = Tom Willemse + email = tom@ryuslash.org +[core] + editor = emacs -nw + whitespace = trailing-space,tab-in-indent,space-before-tab +[color] + ui = auto +[alias] + st = status -s + unadd = reset HEAD + 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 +[sendemail] + smtpencryption = tls + smtpserver = smtp.gmail.com + smtpuser = ryuslash@gmail.com + smtpserverport = 587 +[merge] + tool = emerge +[push] + default = simple diff --git a/guile/.guile b/guile/.guile new file mode 100644 index 0000000..bcbc981 --- /dev/null +++ b/guile/.guile @@ -0,0 +1,2 @@ +(use-modules (ice-9 readline)) +(activate-readline) diff --git a/herbstluftwm/.config/herbstluftwm/autostart b/herbstluftwm/.config/herbstluftwm/autostart new file mode 100755 index 0000000..a74f1aa --- /dev/null +++ b/herbstluftwm/.config/herbstluftwm/autostart @@ -0,0 +1,122 @@ +#!/bin/bash + +# this is a simple config for herbstluftwm + +function hc() { + herbstclient "$@" +} + +hc emit_hook reload + +# remove all existing keybindings +hc keyunbind --all + +# keybindings +Mod=Mod4 +hc keybind $Mod-Shift-q quit +hc keybind $Mod-Shift-r reload +hc keybind $Mod-Shift-c close + +hc keybind $Mod-c spawn urxvt +hc keybind $Mod-e spawn emacsclient -ca emacs +hc keybind $Mod-w spawn conkeror + +# tags +TAG_NAMES=( {1..9} ) +TAG_KEYS=( {1..9} 0 ) + +hc rename default "${TAG_NAMES[0]}" || true +for i in ${!TAG_NAMES[@]} ; do + hc add "${TAG_NAMES[$i]}" + key="${TAG_KEYS[$i]}" + if ! [ -z "$key" ] ; then + hc keybind "$Mod-$key" use_index "$i" + hc keybind "$Mod-Shift-$key" move_index "$i" + fi +done + +# cycle through tags +hc keybind $Mod-period use_index +1 --skip-visible +hc keybind $Mod-comma use_index -1 --skip-visible +hc keybind $Mod-Right use_index +1 --skip-visible +hc keybind $Mod-Left use_index -1 --skip-visible + +# layouting +hc keybind $Mod-r remove +hc keybind $Mod-space cycle_layout 1 +hc keybind $Mod-u split vertical 0.5 +hc keybind $Mod-o split horizontal 0.5 +hc keybind $Mod-s floating toggle +# hc keybind $Mod-f fullscreen toggle +# hc keybind $Mod-p pseudotile toggle + +# resizing +RESIZESTEP=0.05 +hc keybind $Mod-Control-h resize left +$RESIZESTEP +hc keybind $Mod-Control-j resize down +$RESIZESTEP +hc keybind $Mod-Control-k resize up +$RESIZESTEP +hc keybind $Mod-Control-l resize right +$RESIZESTEP + +# mouse +hc mouseunbind --all +hc mousebind $Mod-Button1 move +hc mousebind $Mod-Button2 resize +hc mousebind $Mod-Button3 zoom + +# focus +hc keybind $Mod-BackSpace cycle_monitor +hc keybind $Mod-Tab cycle_all +1 +hc keybind $Mod-Shift-Tab cycle_all -1 +# hc keybind $Mod-c cycle +hc keybind $Mod-b focus left +hc keybind $Mod-n focus down +hc keybind $Mod-p focus up +hc keybind $Mod-f focus right +hc keybind $Mod-i jumpto urgent +hc keybind $Mod-Shift-h shift left +hc keybind $Mod-Shift-j shift down +hc keybind $Mod-Shift-k shift up +hc keybind $Mod-Shift-l shift right + +# colors +hc set frame_border_active_color '#222222' +hc set frame_border_normal_color '#101010' +hc set frame_bg_normal_color '#565656' +hc set frame_bg_active_color '#345F0C' +hc set frame_border_width 1 +hc set window_border_width 3 +hc set window_border_inner_width 1 +hc set window_border_normal_color '#454545' +hc set window_border_active_color '#9fbc00' +hc set always_show_frame 1 +hc set frame_gap 4 +# add overlapping window borders +hc set window_gap -2 +hc set frame_padding 2 +hc set smart_window_surroundings 0 +hc set smart_frame_surroundings 1 +hc set mouse_recenter_gap 0 + + +# rules +hc unrule -F +#hc rule class=XTerm tag=3 # move all xterms to tag 3 +hc rule focus=off # normally do not focus new clients +# give focus to most common terminals +hc rule class~'(.*[Rr]xvt.*|.*[Tt]erm|Konsole)' focus=on +hc rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on +hc rule windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on +hc rule windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK)' manage=off + +# unlock, just to be sure +hc unlock + +herbstclient set tree_style '╾│ ├└╼─┐' + +# do multi monitor setup here, e.g.: +# hc set_monitors 1280x1024+0+0 1280x1024+1280+0 +# or simply: +# hc detect_monitors + +hc set_monitors 1920x1080+0+0 1680x1050+1920+0 +hc pad 0 21 diff --git a/herbstluftwm/.config/herbstluftwm/panel.sh b/herbstluftwm/.config/herbstluftwm/panel.sh new file mode 100755 index 0000000..22b46ae --- /dev/null +++ b/herbstluftwm/.config/herbstluftwm/panel.sh @@ -0,0 +1,150 @@ +#!/bin/bash + +monitor=${1:-0} +monitor2=1 +geometry=( $(herbstclient monitor_rect "$monitor") ) +if [ -z "$geometry" ] ;then + echo "Invalid monitor $monitor" + exit 1 +fi +# geometry has the format: WxH+X+Y +x=${geometry[0]} +width=${geometry[2]} +height=12 +y=0 #$(expr ${geometry[3]} - $height) +tag_width=40 +font="-misc-tamsyn-medium-r-normal-*-14-*-*-*-*-*-iso8859-*" + +selcolor='#24c6e0' +locolor='#657b83' +bgcolor='#002b36' +hicolor="#808080" +urcolor="#e0c625" + +function uniq_linebuffered() { + awk '$0 != l { print ; l=$0 ; fflush(); }' "$@" +} + +function print_tags() { + # draw tags + echo -n "$separator" + for i in "${TAGS[@]}" ; do + if [[ "${TAGS2[@]}" == *"#${i:1}"* ]]; then + echo -n "^bg($selcolor)^fg(#000000) ${i:1} ^fg()^bg()" + elif [[ "${TAGS2[@]}" == *"+${i:1}"* ]]; then + echo -n "^bg($locolor)^fg(#000000) ${i:1} ^fg()^bg()" + else + case ${i:0:1} in + '#') + echo -n "^bg($selcolor)^fg(#000000) ${i:1} ^fg()^bg()" + ;; + '+') + echo -n "^bg($locolor)^fg(#000000) ${i:1} ^fg()^bg()" + ;; + ':') + echo -n "^bg($hicolor)^fg(#000000) ${i:1} ^fg()^bg()" + ;; + '!') + echo -n "^bg($urcolor)^fg(#000000) ${i:1} ^fg()^bg()" + ;; + *) + echo -n "^bg($bgcolor)^fg(#ffffff) ${i:1} ^fg()^bg()" + ;; + esac + fi + echo -n "$separator" + done +} + +function print_mailboxes() { + declare -A mailnames + mailboxes=(ninthfloor gmail aethon ryuslash.org) + mailnames=( + [ninthfloor]="9f" + [gmail]="gm" + [aethon]="aet" + [ryuslash.org]="ryu") + mailtxt="" + for j in "${mailboxes[@]}"; do + mailfile="$HOME/documents/mail/$j/inbox/new/" + mailcnt=$(ls $mailfile | wc -l) + + if [ $mailcnt -gt 0 ]; then + mailsha1=$(echo $j | sha1sum) + mailcolor="#${mailsha1:0:6}" + else + mailcolor=$bgcolor + fi + + mailtxt="$mailtxt${separator}^bg($mailcolor)^fg(#ffffff) ${mailnames[$j]} ^fg()^bg()" + done + mailtxt_only=$(echo -n "$mailtxt" | sed 's.\^[^(]*([^)]*)..g') + let mailtxt_width=$(textwidth "$font" "$mailtxt_only")+10 + echo -n "^p(_RIGHT)^p(-$mailtxt_width)$mailtxt" +} + +function print_services() { + services=(emacs httpd mysqld dunst xbindkeys mpdscribble sshd mpd) + servicetxt="" + for j in "${services[@]}"; do + servicetxt="$servicetxt$separator$(status $j)" + done + servicetxt_only=$(echo -n "$servicetxt" | sed 's.\^[^(]*([^)]*)..g') + let servicetxt_width=($(textwidth "$font" "$servicetxt_only")+7)/2 + + echo -n "^p(_CENTER)^p(-$servicetxt_width)$servicetxt" +} + +function status() +{ + running=$(${1}_running 2>/dev/null || pidof $1) + + if [ -n "$running" ]; then + color="darkgreen" + else + color="darkred" + fi + + echo -n "^bg($color)^fg(#ffffff) $1 ^fg()^bg()" +} + +function emacs_running() +{ + ps ax | awk '{ print $5 " " $6 }' | grep -E "^emacs --daemon" +} + +{ + childpid=$! + herbstclient --idle + kill $childpid +} 2> /dev/null | { + TAGS=( $(herbstclient tag_status $monitor) ) + TAGS2=( $(herbstclient tag_status $monitor2) ) + + separator="^fg($bgcolor)^ro(1x$height)^fg()" + print_tags + print_services + print_mailboxes + + echo + # wait for next event + read line || break + cmd=( $line ) + # find out event origin + case "${cmd[0]}" in + tag*) + TAGS=( $(herbstclient tag_status $monitor) ) + TAGS2=( $(herbstclient tag_status $monitor2) ) + ;; + quit_panel) + exit + ;; + esac + + sleep 1s +} 2> /dev/null | dzen2 -w $width -x $x -y $y -fn "$font" -h $height \ + -ta l -bg "$bgcolor" + +# Local Variables: +# eval: (git-auto-commit-mode 1) +# End: diff --git a/mercurial/.hgrc b/mercurial/.hgrc new file mode 100644 index 0000000..adef43b --- /dev/null +++ b/mercurial/.hgrc @@ -0,0 +1,4 @@ +[ui] +username = Tom Willemse +[extensions] +hgext.bookmarks = diff --git a/moc/.moc/.gitignore b/moc/.moc/.gitignore new file mode 100644 index 0000000..1210ad5 --- /dev/null +++ b/moc/.moc/.gitignore @@ -0,0 +1,5 @@ +cache/ +equalizer +last_directory +softmixer +tags_cache diff --git a/moc/.moc/config b/moc/.moc/config new file mode 100644 index 0000000..76619d2 --- /dev/null +++ b/moc/.moc/config @@ -0,0 +1,3 @@ +Layout1 = playlist(0,0,100%,100%):directory(0,0,100%,100%) +Layout2 = directory(0,0,50%,100%):playlist(50%,0,FILL,100%) +CanStartInPlaylist = yes diff --git a/moc/.moc/themes/custom b/moc/.moc/themes/custom new file mode 100644 index 0000000..f9eef4d --- /dev/null +++ b/moc/.moc/themes/custom @@ -0,0 +1,118 @@ +# Example color theme for MOC. +# You can use a theme by copying it to ~/.moc/themes directory and using +# Theme config option or -T command line option. +# +# Fill free to make your own themes and send me them. It will be included in +# official MOC releases or on the MOC web site. +# +# The format of this file is: +# Lines beginning with # are comments. +# Blank lines are ignored. +# Every other line is expected to be in format: +# +# ELEMENT = FOREGROUND_COLOR BACKGROUND_COLOR [ATTRIBUTE[,ATTRIBUTE,..]] +# +# or +# +# colordef COLOR = RED GREEEN BLUE +# +# Where names are case insensitive. +# +# ELEMENT is an element of MOC interface. This can be: +# background - default background for regions when nothing is displayed +# frame - frames for windows +# window_title - the title of the window (eg name of the current +# directory) +# directory - a directory in the menu +# selected_directory - a directory that is selected using arrows +# playlist - playlist file +# selected_playlist - see selected directory +# file - an ordinary file in the menu (mp3, ogg, ...) +# selected_file - see selected directory +# marked_file - a file that is currently beeing played +# marked_selected_file - a file that is currently beeing played and is also +# selected using arrows +# info - information shown at the right side of files +# status - the status line with a message +# title - the title of the file that is currently beeing played +# state - the state: play, stop, or paus (>, [], ||) +# current_time - current time of playing +# time_left - the time left to the end of playing the current file +# total_time - the length of the currently played file +# time_total_frames - the brackets outside the total time of a file ([10:13]) +# sound_parameters - the frequency and bitrate numbers +# legend - "KHz" and "Kbps" +# disabled - disabled element ([STEREO]) +# enabled - enabled element +# empty_mixer_bar - "empty" part of the volume bar +# filled_mixer_bar - "filled" part of the volume bar +# empty_time_bar - "empty" part of the time bar +# filled_time_bar - "filled" part of the time bar +# entry - place wher user can type a search query or a file name +# entry_title - the title of an entry +# error - error message +# message - information message +# plist_time - total time of displayed items +# +# FOREGOUND_VOLOR and BACKGROUND_COLOR can have one of the following values: +# black, red, green, yellow, blue, magenta, cyan, white, default (can be +# transparent), grey (not standard, but works) +# +# Optional ATTRIBUTE parameters can be (from ncurses manual): +# normal - default (no highlight) +# standout - best highlighting mode of the terminal +# underline - underlining +# reverse - reverse video +# blink - blinking +# dim - half bright +# bold - extra bright or bold +# protect - protected mode +# +# You can specify a list of attributes separated by commas: attr1,attr2,attr3. +# Don't use spaces anywhere in such a list. +# +# With colordef you can chend the definition of a color. It works only if +# your termina supports it, if not those lines will be silently ignored. +# COLOR must be a valid color name and the RED GREEN and BLUE are numbers +# from 0 to 1000. Example: +# +# colordef red = 1000 0 0 +# +# HINT: you have only 8 colors, but combined with attributes bold and/or +# reversed you actually get more colors. +# +# If you don't specify some elements, the default values will be used. +# +# Here follows the default configuration: +background = default default +frame = default default +window_title = default default +directory = default default bold +selected_directory = default black bold +playlist = default default bold +selected_playlist = default black bold +file = default default +selected_file = default black +marked_file = green default bold +marked_selected_file = green black bold +info = blue default bold +status = default default +title = default default bold +state = default default bold +current_time = default default bold +time_left = default default bold +total_time = default default bold +time_total_frames = default default +sound_parameters = default default bold +legend = default default +disabled = blue default bold +enabled = default default bold +empty_mixer_bar = default default +filled_mixer_bar = black cyan +empty_time_bar = default default +filled_time_bar = black cyan +entry = default default +entry_title = black cyan +error = red default bold +message = green default bold +plist_time = default default diff --git a/mutt/.mutt/.gitignore b/mutt/.mutt/.gitignore new file mode 100644 index 0000000..ce8da72 --- /dev/null +++ b/mutt/.mutt/.gitignore @@ -0,0 +1,4 @@ +cache +temp +alias +certificates diff --git a/mutt/.mutt/aethon.muttrc b/mutt/.mutt/aethon.muttrc new file mode 100644 index 0000000..259098a --- /dev/null +++ b/mutt/.mutt/aethon.muttrc @@ -0,0 +1,14 @@ +### +# aethon.nl specific options +### + +set from = "thomas@aethon.nl" +set smtp_url = "smtp://thomas@aethon.nl@smtp.gmail.com:587/" +set mbox = "+aethon/INBOX" +set signature = "~/documents/work/aethon/signature.txt" +set postponed = "+aethon/drafts" +unset record + +macro index E "+aethon/archive~B " "search everything" +macro index D "+aethon/trash" "move message to the trash" +macro index S "+aethon/spam" "mark message as spam" diff --git a/mutt/.mutt/arch.muttrc b/mutt/.mutt/arch.muttrc new file mode 100644 index 0000000..36b260b --- /dev/null +++ b/mutt/.mutt/arch.muttrc @@ -0,0 +1,14 @@ +### +# archlinux.us specific options +### + +set from = "tom.willemsen@archlinux.us" +set smtp_url = "smtp://tom.willemsen@archlinux.us@smtp.gmail.com:587/" +set mbox = "+arch/INBOX" +set postponed = "+arch/drafts" +unset record +unset signature + +macro index E "+arch/archive~B " "search everything" +macro index D "+arch/trash" "move message to the trash" +macro index S "+arch/spam" "mark message as spam" diff --git a/mutt/.mutt/colors.muttrc b/mutt/.mutt/colors.muttrc new file mode 100644 index 0000000..0779b07 --- /dev/null +++ b/mutt/.mutt/colors.muttrc @@ -0,0 +1,65 @@ +### -*- eval: (git-auto-commit-mode 1) -*- +# mutt colors file +### + +# set default +color normal default default + +# main colors +# element foreground background +color status color7 color1 +color indicator color0 color2 +color tree color5 default +color error brightcolor1 default +color message color3 default + +# uncolor certain messages +uncolor index "~P" +uncolor index "~N ~u" +uncolor index "~N !~u" +uncolor index "~T" +uncolor index "~D" + +# and recolor them appropriately +color index color3 default "~P" +color index color2 default "~u" +color index brightcolor2 default "~N ~u" # new ML mail +color index brightcolor3 default "~N !~u" # new non-ML mail +color index brightcolor5 default "~T" +color index color1 default "~D" + +# set up the headers +color header brightcolor2 default "^from:" +color header brightcolor2 default "^to:" +color header brightcolor2 default "^cc:" +color header brightcolor2 default "^date:" +color header brightcolor2 default "^subject:" + +# message bodies +color attachment color3 default +color search color1 color0 +color signature color5 default +color tilde color4 default + +# urls +color body brightcolor4 default "(^|<| )mailto:[^ ]+@[^ ]( |>|$)" +color body brightcolor4 default "(^|<| )(http|https|ftp|file|telnet|news|finger)://[^ ]+( |>|$)" + +# smileys +color body brightcolor5 default "(^| )+(|[<>|])[8;:](|[^ ])[)(/|DOPS]( |$)+" +color body brightcolor5 default "(^| )+[)(/|DOPS](|[^ ])[8;:](|[<>|])( |$)+" + +# *bold*, _underline_ and /italic/ +color body brightcolor6 default "(^| )\\*[^*]+\\*( |$)" +color body brightcolor6 default "(^| )_[^_]+_( |$)" +color body brightcolor6 default "(^| )/[^/]+/( |$)" + +# quote blocks +color quoted brightcolor7 default +color quoted1 brightcolor1 default +color quoted2 brightcolor2 default +color quoted3 brightcolor3 default +color quoted4 brightcolor4 default +color quoted5 brightcolor5 default +color quoted6 brightcolor6 default +color quoted7 brightdefault default diff --git a/mutt/.mutt/gmail.muttrc b/mutt/.mutt/gmail.muttrc new file mode 100644 index 0000000..80c9178 --- /dev/null +++ b/mutt/.mutt/gmail.muttrc @@ -0,0 +1,14 @@ +### +# gmail specific option +### + +set from = "ryuslash@gmail.com" +set smtp_url = "smtp://ryuslash@gmail.com@smtp.gmail.com:587/" +set mbox = "+gmail/INBOX" +set postponed = "+gmail/drafts" +unset record +unset signature + +macro index E "+gmail/archive~B " "search everything" +macro index D "+gmail/trash" "move message to the trash" +macro index S "+gmail/spam" "mark message as spam" diff --git a/mutt/.mutt/iactor.muttrc b/mutt/.mutt/iactor.muttrc new file mode 100644 index 0000000..f090b5f --- /dev/null +++ b/mutt/.mutt/iactor.muttrc @@ -0,0 +1,13 @@ +### +# iactor specific options +### + +set from = "tom@iactor.nl" +set smtp_url = "mail.iactor.nl:2525" +set mbox = "+iactor/INBOX" +set record = "+iactor/Sent" +set postponed = "+iactor/Drafts" +unset signature + +macro index E "+iactor/INBOX~B " "search everything" +macro index D "+iactor/Trash" "move message to the trash" diff --git a/mutt/.mutt/macros b/mutt/.mutt/macros new file mode 100644 index 0000000..3f6ec6b --- /dev/null +++ b/mutt/.mutt/macros @@ -0,0 +1 @@ +macro pager \cb 'urlview' 'Follow links with urlview' diff --git a/mutt/.mutt/mailcap b/mutt/.mutt/mailcap new file mode 100644 index 0000000..fba56f6 --- /dev/null +++ b/mutt/.mutt/mailcap @@ -0,0 +1,6 @@ +text/html; w3m -dump -T text/html -cols 80 %s; nametemplate=%s.html; copiousoutput +application/vnd.openxmlformats-officedocument.wordprocessingml.document; libreoffice %s +application/vnd.ms-excel; libreoffice %s +image/jpeg; feh %s +image/png; feh %s +application/pdf; gv %s diff --git a/mutt/.mutt/muttrc b/mutt/.mutt/muttrc new file mode 100644 index 0000000..2af358d --- /dev/null +++ b/mutt/.mutt/muttrc @@ -0,0 +1,121 @@ +# ~/.muttrc +### + +# directories and commands +set alias_file = ~/.mutt/alias # alias file +set header_cache = ~/.mutt/cache/headers # where to store headers +set message_cachedir = ~/.mutt/cache/bodies # where to store bodies +set certificate_file = ~/.mutt/certificates # where to store certs +set mailcap_path = ~/.mutt/mailcap # entries for filetypes +set tmpdir = ~/.mutt/temp # where to keep temp files +set editor = "emacsclient -c" + +# main options +set mbox_type = Maildir # mailbox type +set folder = ~/documents/mail # mailbox location +set spoolfile = "+ninthfloor/INBOX" # ninthfloor is the default inbox +set timeout = 3 # idle time before scanning +set mail_check = 0 # minimum time between scans +set sort_alias = alias # sort alias file by alias +set reverse_alias # show names from alias file in index +unset move # gmail does that +set delete # don't ask, just do +unset confirmappend # don't ask, just do! +set quit # don't ask, just do!! +unset mark_old # read/new is good enough for me +set beep_new # bell on new mails +set pipe_decode # strip headers and eval mimes when piping +set thorough_search # strip headers and eval mimes before searching +set ssl_force_tls = yes + +# index options +set sort = threads # like gmail +set sort_aux = last-date-received # not like gmail +set uncollapse_jump # don't collapse on an unread message +#set sort_re # thread based on regex + +# pager options +set pager_index_lines = 10 # number of index lines to + # show +set pager_context = 5 # number of context lines + # to show +set pager_stop # don't go to next message + # automatically +set menu_scroll # scroll in menus +set smart_wrap # don't split words +set tilde # show tildes like in vim +unset markers # no ugly plus signs +auto_view text/html # view html automatically +alternative_order text/plain text/enriched text/html # save html for last +set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+| {4}" + +# formats +set status_format = "-%r %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?] (%s/%S) %> (%P) " +set date_format = "%d %b %H:%M" +set index_format = "%3C %Z %D [%-12.12L] %s" +set alias_format = "%4n %t %-20a %r" + +# composing mail +set realname = "Tom Willemse" # who am I? +set envelope_from # which from? +set sig_dashes # dashes before my sig... sweet +set edit_headers # show headers when composing +set fast_reply # skip to compose when replying +set askcc # ask for CC: +set fcc_attach # save attachments with the body +unset mime_forward # forward attachments as part fo body +set forward_format = "Fwd: %s" # format for subject when forwarding +set forward_decode # decode when forwarding +set attribution = "On %d, %n wrote:" # set the attribution +set reply_to # reply to Reply to: field +set reverse_name # reply as whomever it was to +set include # include message in replies +set forward_quote # include message inforwards + +# headers to show +ignore * # ignore all headers +unignore from: to: cc: date: subject: # show only these +hdr_order from: to: cc: date: subject: # and in this order + +# boxes +mailboxes +arch/INBOX #+arch/archive +arch/sent +arch/drafts +arch/spam +arch/trash +mailboxes +gmail/INBOX #+gmail/archive +gmail/sent +gmail/drafts +gmail/spam +gmail/trash +mailboxes +iactor/INBOX #+iactor/INBOX.Admin +iactor/INBOX.Important +iactor/INBOX.Intern +iactor/INBOX.Taken +iactor/Sent +iactor/Drafts +iactor/Trash +mailboxes +aethon/INBOX +mailboxes +ninthfloor/INBOX +ninthfloor/mailinglists +mailboxes +ryuslash.org/INBOX + +# always sourced +source $alias_file # required for functionality +source ~/.mutt/colors.muttrc # source colors file +source ~/.mutt/ninthfloor.muttrc # source arch as default + +# account specific sources +folder-hook arch/* source ~/.mutt/arch.muttrc +folder-hook gmail/* source ~/.mutt/gmail.muttrc +folder-hook iactor/* source ~/.mutt/iactor.muttrc +folder-hook aethon/* source ~/.mutt/aethon.muttrc +folder-hook ninthfloor/* source ~/.mutt/ninthfloor.muttrc +folder-hook ryuslash.org/* source ~/.mutt/ryuslash.org.muttrc + +# abook +set query_command = "abook --mutt-query '%s'" + +# macros +macro index I "!" "go to Inbox" +macro index Z "/usr/bin/offlineimap -q -o" "sync IMAP" +macro generic,index,pager \ca "abook" "launch abook" +macro index,pager A "abook --add-email" "add the sender address to abook" +macro generic,index,pager 1 "=ninthfloor/INBOX" "Show ninthfloor inbox" +macro generic,index,pager 2 "=gmail/INBOX" "Show gmail inbox" +macro generic,index,pager 3 "=arch/INBOX" "Show arch inbox" +macro generic,index,pager 4 "=aethon/INBOX" "Show aethon inbox" +macro generic,index,pager 5 "=ryuslash.org/INBOX" "Show ryuslash.org inbox" +macro generic,index,pager 6 "=iactor/INBOX" "Show iactor inbox" + +# key bindings +bind pager \177 previous-line # default didn't want to work anymore +#bind generic i what-key + +# mailing lists +subscribe dev@suckless.org diff --git a/mutt/.mutt/ninthfloor.muttrc b/mutt/.mutt/ninthfloor.muttrc new file mode 100644 index 0000000..16a3358 --- /dev/null +++ b/mutt/.mutt/ninthfloor.muttrc @@ -0,0 +1,13 @@ +### +# ninthfloor specific options +### + +set from = "ryuslash@ninthfloor.org" +set smtp_url = "smtp://ryuslash@mail.ninthfloor.org:587" +set mbox = "+ninthfloor/INBOX" +set record = "+ninthfloor/Sent" +set postponed = "+ninthfloor/Drafts" +unset signature + +macro index E "+ninthfloor/INBOX~B " "search everything" +macro index D "+ninthfloor/Trash" "move message to the trash" diff --git a/mutt/.mutt/ryuslash.org.muttrc b/mutt/.mutt/ryuslash.org.muttrc new file mode 100644 index 0000000..315aa9d --- /dev/null +++ b/mutt/.mutt/ryuslash.org.muttrc @@ -0,0 +1,13 @@ +### +# ryuslash.org specific options +### + +set from = "tom@ryuslash.org" +set smtp_url = "smtp://tom@ryuslash.org@smtp.alwaysdata.com:587" +set mbox = "+ryuslash.org/INBOX" +set record = "+ryuslash.org/Sent" +set postponed = "+ryuslash.org/Drafts" +unset signature + +macro index E "+ryuslash.org/INBOX~B " "search everything" +macro index D "+ninthfloor/Trash" "move message to the trash" diff --git a/mutt/.mutt/sig b/mutt/.mutt/sig new file mode 100644 index 0000000..e69de29 diff --git a/mutt/.urlview b/mutt/.urlview new file mode 100644 index 0000000..35d5f34 --- /dev/null +++ b/mutt/.urlview @@ -0,0 +1,2 @@ +REGEXP (((http|https|ftp|gopher)|mailto)[.:][^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):] +COMMAND conkeror %s diff --git a/ncmpcpp/.ncmpcpp/config b/ncmpcpp/.ncmpcpp/config new file mode 100644 index 0000000..6d8655f --- /dev/null +++ b/ncmpcpp/.ncmpcpp/config @@ -0,0 +1,25 @@ +# Playlist +autocenter_mode = "yes" +centered_cursor = "yes" +now_playing_prefix = "$b" +now_playing_suffix = "$/b" +playlist_display_mode = "classic" # (classic/columns) +song_list_format = "{$3%a$9 - }{$4%t$9} {$R$5[%b]$9}" + +# Bars +display_bitrate = "no" +progressbar_look = ">> " +song_status_format = "$0%t$9 {$1by$9 $0%a$9} {$1from$9 $0%b$9}{$1,$9 $0%y$9}" +titles_visibility = "no" + +# Browser +browser_display_mode = "classic" # (classic/columns) +browser_playlist_prefix = "$2plist >$9 " + +# Others +allow_physical_directories_deletion = "yes" +allow_physical_files_deletion = "yes" +fancy_scrolling = "yes" +mpd_music_dir = "/mnt/music/mp3" +search_engine_display_mode = "columns" # (classic/columns) +user_interface = "alternative" # (classic/alternative) diff --git a/newsbeuter/.config/newsbeuter/.gitignore b/newsbeuter/.config/newsbeuter/.gitignore new file mode 100644 index 0000000..8afd898 --- /dev/null +++ b/newsbeuter/.config/newsbeuter/.gitignore @@ -0,0 +1,3 @@ +cache.* +credentials +history.* diff --git a/newsbeuter/.config/newsbeuter/config b/newsbeuter/.config/newsbeuter/config new file mode 100644 index 0000000..257f150 --- /dev/null +++ b/newsbeuter/.config/newsbeuter/config @@ -0,0 +1,27 @@ + +auto-reload yes +reload-threads 3 +reload-time 60 + +browser firefox + +confirm-exit yes + +feedlist-format "%-35t %?d?- %-35d&? %> %u" +articlelist-format "%-4i %f %t" +feedlist-title-format "%N %V %> %u feeds with new articles" +articlelist-title-format "%T" + +max-items 500 + +show-read-feeds no +show-read-articles no + +html-renderer "w3m -dump -T text/HTML -cols 72" + +color listfocus default red +color info default black bold + +highlight article "^(Feed|Title|Author|Link|Date):.*" yellow default bold + +article-sort-order date-desc diff --git a/newsbeuter/.config/newsbeuter/urls b/newsbeuter/.config/newsbeuter/urls new file mode 100644 index 0000000..911e000 --- /dev/null +++ b/newsbeuter/.config/newsbeuter/urls @@ -0,0 +1,176 @@ +# -*- mode: conf; eval: (git-auto-commit-mode 1) -*- +http://ryuslash.ninth.su/blog/blog.xml +#-----[ Followed projects ]------------------------------------------- +# https://github.com/ryuslash.private.atom?token=7362ca0604736cd92b5441949e8c9cd4 +# http://gitorious.org/~ryuslash/watchlist.atom + +#-----[ Blogs ]------------------------------------------------------- +# http://julien.danjou.info/blog/index.xml blogs +# http://kakaroto.homelinux.net/feed/ blogs +# http://awhan.wordpress.com/feed/ blogs +http://beej.us/blog/feed/ blogs +# http://torvalds-family.blogspot.com/feeds/posts/default blogs +# http://emacs.wordpress.com/feed/ blogs +http://feedproxy.google.com/SaferCode blogs +# http://blog.gitorious.org/feed/ blogs +# http://dieter.plaetinck.be/index.rss blogs +http://irreal.org/blog/?feed=rss2 + +# Reddit + +# http://www.reddit.com/r/announcements/new/.rss +# http://www.reddit.com/r/archlinux/new/.rss +# http://www.reddit.com/r/blog/new/.rss +# http://www.reddit.com/r/c_language/new/.rss +# http://www.reddit.com/r/C_Programming/new/.rss +# http://www.reddit.com/r/coding/new/.rss +# http://www.reddit.com/r/commandline/new/.rss +# http://www.reddit.com/r/cpp/new/.rss +# http://www.reddit.com/r/csharp/new/.rss +# http://www.reddit.com/r/django/new/.rss +# http://www.reddit.com/r/emacs/new/.rss +# http://www.reddit.com/r/ExpertProgramming/new/.rss +# http://www.reddit.com/r/Fedora/new/.rss +# http://www.reddit.com/r/git/new/.rss +# http://www.reddit.com/r/golang/new/.rss +# http://www.reddit.com/r/javascript/new/.rss +# http://www.reddit.com/r/linux/new/.rss +# http://www.reddit.com/r/linux_gaming/new/.rss +# http://www.reddit.com/r/LinuxHacking/new/.rss +# http://www.reddit.com/r/maemo/new/.rss +# http://www.reddit.com/r/n900/new/.rss +# http://www.reddit.com/r/opensource/new/.rss +# http://www.reddit.com/r/PHP/new/.rss +# http://www.reddit.com/r/programming/new/.rss +# http://www.reddit.com/r/Python/new/.rss +# http://www.reddit.com/r/scheme/new/.rss +# http://www.reddit.com/r/systems/new/.rss +# http://www.reddit.com/r/wayland/new/.rss + +#-----[ CVS Changes ]------------------------------------------------- +# http://git.naquadah.org/?p=naquadah-theme.git;a=rss cvs +#http://git.naquadah.org/?p=rainbow.git;a=rss cvs +# http://code.google.com/feeds/p/autopair/svnchanges/basic cvs +# http://git.cs.fau.de/?p=re06huxa/herbstluftwm;a=atom cvs +# https://github.com/knopwob/dunst/commits/master.atom cvs +# https://github.com/akrennmair/newsbeuter/commits/master.atom +# http://repo.or.cz/w/conkeror.git/atom +# https://github.com/mooz/keysnail/commits/master.atom + +#-----[ Programming ]------------------------------------------------- +# http://www.reddit.com/r/cpp/.rss devel +# http://services.devx.com/outgoing/devxfeed.xml devel +#http://www.dzone.com/feed/frontpage/rss.xml devel +# http://www.reddit.com/r/ExpertProgramming/.rss devel +# http://www.reddit.com/r/programming/.rss devel +# http://steve-yegge.blogspot.com/feeds/posts/default devel +# http://www.reddit.com/r/systems/.rss devel +# http://www.reddit.com/r/coding/.rss devel +# http://www.reddit.com/r/git/.rss devel +# http://www.reddit.com/r/C_Programming/.rss devel +# http://feeds.feedburner.com/FalloutTutorials devel +# http://www.devarticles.com/rss.xml devel +# http://www.script-tutorials.com/feed/rss/ +# http://news.ycombinator.com/rss +# https://www.djangoproject.com/rss/community/q-and-a/ + +#-----[ Linux and FLOSS ]--------------------------------------------- +# http://www.reddit.com/r/commandline/.rss linux +# http://www.desktoplinux.com/backend/headlines.rss linux +# http://distrowatch.com/news/dw.xml linux +# http://www.howtoforge.com/node/feed linux +# http://www.ibm.com/developerworks/views/linux/rss/libraryview.jsp?type_by=Articles linux +# http://www.ibm.com/developerworks/views/linux/rss/libraryview.jsp?type_by=Tutorials linux +# http://feeds.feedburner.com/LinuxMagazine linux +# http://www.linuxprogrammingblog.com/rss.xml linux +# http://linuxtoday.com/backend/biglt.rss linux +# http://www.linux.com/rss/feeds.php linux +# http://www.linuxinsider.com/perl/syndication/rssfull.pl linux +# http://lwn.net/headlines/newrss linux +# http://blogs.zdnet.com/open-source/wp-rss2.php linux +# http://ostatic.com/blog/feed linux +# http://www.reddit.com/r/linux/.rss linux +# http://www.theopenforce.com/atom.xml linux +# http://www.ubuntugeek.com/feed/ linux +# http://www.warpedsystems.sk.ca/backend/index.xml linux +# http://www.reddit.com/r/archlinux/.rss linux +# http://www.reddit.com/r/linuxquestions/.rss linux +http://www.echolinux.com/rss +# http://www.tuxradar.com/rss + +#-----[ Emacs ]------------------------------------------------------- +# http://wordpress.com/tag/emacs/feed/ emacs +# http://www.reddit.com/r/emacs/.rss emacs +# http://planet.emacsen.org/atom.xml emacs +# http://emacsblog.org/feed/ emacs +# http://www.emacswiki.org/emacs?action=rss emacs +# http://feeds.feedburner.com/XahsEmacsBlog +# http://www.masteringemacs.org/feed/ +# http://wikemacs.org/wiki/index.php?title=Special:RecentChanges&feed=atom +# http://stackoverflow.com/feeds/tag?tagnames=emacs&sort=newest +# http://stackoverflow.com/feeds/tag?tagnames=elisp&sort=newest + +#-----[ N900 ]-------------------------------------------------------- +# http://www.reddit.com/r/n900/.rss n900 +# http://maemo.org/news/planet-maemo/rss.xml n900 +# http://www.reddit.com/r/maemo/.rss n900 + +#-----[ iPhone ]------------------------------------------------------ +http://icodeblog.com/feed/ iphone +http://iphonesdkdev.blogspot.com/feeds/posts/default iphone +http://iphonedevelopertips.com/feed iphone + +#-----[ Other Software ]---------------------------------------------- +# http://www.archlinux.org/feeds/news/ software +# http://gitlog.wordpress.com/feed/ software +# http://rollingrelease.com/?feed=rss software +# http://sourceforge.net/export/rss2_keepsake.php?group_id=134378 software +# http://valajournal.blogspot.com/feeds/posts/default software +# http://www.gimp.org/news.rdf +http://stackoverflow.com/feeds/tag?tagnames=git&sort=newest +# http://git.savannah.gnu.org/cgit/identica-mode.git/atom/?h=master + +#-----[ Games ]------------------------------------------------------- +# http://feeds.feedburner.com/qj/qjnet game +# http://www.swtor.com/feed/news/all + +#-----[ Funny ]------------------------------------------------------- +# http://feeds.feedburner.com/ClientsFromHell funny +#http://feeds.feedburner.com/VeryDemotivational funny + +#-----[ Comics ]------------------------------------------------------ +# http://feeds.feedburner.com/AbstruseGoose comics +# http://www.cad-comic.com/rss/rss.xml comics +# http://feeds.dilbert.com/DilbertDailyStrip comics +# http://feedproxy.google.com/uclick/garfield comics +# http://feeds.feedburner.com/GeekAndPoke comics +# http://feeds.feedburner.com/NotInventedHere comics +# http://syndicated.livejournal.com/oglaf/data/rss comics +# http://feeds.feedburner.com/omaketheater comics +# http://www.penny-arcade.com/rss.xml comics +# http://www.pvponline.com/rss/?section=article comics +# http://www.questionablecontent.net/QCRSS.xml comics +# http://feeds.feedburner.com/ScenesFromAMultiverse comics +# http://www.vgcats.com/vgcats.rdf.xml comics +# http://feeds2.feedburner.com/virtualshackles comics +# http://xkcd.com/rss.xml comics +# http://feeds.feedburner.com/maximumble?format=xml comics +http://feeds.feedburner.com/ProgsLife comics +# http://www.rsspect.com/rss/asw.xml +# http://pbfcomics.com/feed/feed.xml +http://feeds.feedburner.com/MinionComics +# http://www.savagechickens.com/feed +# http://feeds.feedburner.com/basiccomic + +#-----[ Misc ]-------------------------------------------------------- +http://wallbase.cc/rss misc +http://www.mailinator.com/rss.jsp?email=ryuslash misc +# http://www.reddit.com/r/unixporn/.rss misc + + +#-----[ New ]---------------------------------------------------------- +# http://rss.feedsportal.com/c/32569/f/491734/index.rss +# http://feeds.feedburner.com/TheGeekStuff +# http://feeds2.feedburner.com/Command-line-fu +# http://feeds.feedburner.com/GoDjango +# http://identity.mozilla.com/rss diff --git a/notion/.notion/cfg_notion.lua b/notion/.notion/cfg_notion.lua new file mode 100644 index 0000000..d31458d --- /dev/null +++ b/notion/.notion/cfg_notion.lua @@ -0,0 +1,99 @@ +-- +-- Notion main configuration file +-- +-- This file only includes some settings that are rather frequently altered. +-- The rest of the settings are in cfg_notioncore.lua and individual modules' +-- configuration files (cfg_modulename.lua). +-- +-- When any binding and other customisations that you want are minor, it is +-- recommended that you include them in a copy of this file in ~/.notion/. +-- Simply create or copy the relevant settings at the end of this file (from +-- the other files), recalling that a key can be unbound by passing 'nil' +-- (without the quotes) as the callback. For more information, please see +-- the Notion configuration manual available from the Notion Web page. +-- + +-- Set default modifiers. Alt should usually be mapped to Mod1 on +-- XFree86-based systems. The flying window keys are probably Mod3 +-- or Mod4; see the output of 'xmodmap'. +META="Mod4+" +--ALTMETA="" + +-- Terminal emulator +XTERM="urxvt" + +WScreen.set_managed_offset(ioncore.find_screen_id(0), {x=0, y=0, w=0, h=-1}) + +-- Some basic settings +ioncore.set{ + -- Maximum delay between clicks in milliseconds to be considered a + -- double click. + --dblclick_delay=250, + + -- For keyboard resize, time (in milliseconds) to wait after latest + -- key press before automatically leaving resize mode (and doing + -- the resize in case of non-opaque move). + --kbresize_delay=1500, + + -- Opaque resize? + --opaque_resize=false, + + -- Movement commands warp the pointer to frames instead of just + -- changing focus. Enabled by default. + --warp=true, + + -- Switch frames to display newly mapped windows + --switchto=true, + + -- Default index for windows in frames: one of 'last', 'next' (for + -- after current), or 'next-act' (for after current and anything with + -- activity right after it). + --frame_default_index='next', + + -- Auto-unsqueeze transients/menus/queries. + --unsqueeze=true, + + -- Display notification tooltips for activity on hidden workspace. + screen_notify=true, + + -- Automatically save layout on restart and exit. + --autosave_layout=true, + + -- Mouse focus mode; set to "sloppy" if you want the focus to follow the + -- mouse, and to "disabled" otherwise. + mousefocus="disabled", + + -- Controls Notion's reaction to stacking requests sent by clients. Set to + -- "ignore" to ignore these requests, and to "activate" to set the activity + -- flag on a window that requests to be stacked "Above". + window_stacking_request="ignore", +} + + +-- Load default settings. The file cfg_defaults loads all the files +-- commented out below, except mod_dock. If you do not want to load +-- something, comment out this line, and uncomment the lines corresponding +-- the the modules or configuration files that you want, below. +-- The modules' configuration files correspond to the names of the +-- modules with 'mod' replaced by 'cfg'. +--dopath("cfg_defaults") + +-- Load configuration of the Notion 'core'. Most bindings are here. +dopath("cfg_notioncore") + +-- Load some kludges to make apps behave better. +dopath("cfg_kludges") + +-- Define some layouts. +dopath("cfg_layouts") + +-- Load some modules. Bindings and other configuration specific to modules +-- are in the files cfg_modulename.lua. +dopath("mod_query") +dopath("mod_menu") +dopath("mod_tiling") +--dopath("mod_statusbar") +--dopath("mod_dock") +dopath("mod_sp") +dopath("mod_notionflux") +dopath("mod_xrandr") diff --git a/notion/.notion/cfg_notioncore.lua b/notion/.notion/cfg_notioncore.lua new file mode 100644 index 0000000..2839409 --- /dev/null +++ b/notion/.notion/cfg_notioncore.lua @@ -0,0 +1,411 @@ +-- +-- Notion core configuration file +-- + +function oni_match_class(class) + local result = {} + ioncore.clientwin_i( + function (win) + if class == win:get_ident().class then + table.insert(result, win) + return false + end + return true + end + ) + return result +end + +function xsteve_run_byclass(prog, class) + local win = oni_match_class(class)[1] + if win then + win:goto_() + else + ioncore.exec(prog) + end +end + +-- +-- Bindings. This includes global bindings and bindings common to +-- screens and all types of frames only. See modules' configuration +-- files for other bindings. +-- + + +-- WScreen context bindings +-- +-- The bindings in this context are available all the time. +-- +-- The variable META should contain a string of the form 'Mod1+' +-- where Mod1 maybe replaced with the modifier you want to use for most +-- of the bindings. Similarly ALTMETA may be redefined to add a +-- modifier to some of the F-key bindings. + +defbindings("WScreen", { + bdoc("Switch to n:th object (workspace, full screen client window) ".. + "within current screen."), + kpress(META.."1", "WScreen.switch_nth(_, 0)"), + kpress(META.."2", "WScreen.switch_nth(_, 1)"), + kpress(META.."3", "WScreen.switch_nth(_, 2)"), + kpress(META.."4", "WScreen.switch_nth(_, 3)"), + kpress(META.."5", "WScreen.switch_nth(_, 4)"), + kpress(META.."6", "WScreen.switch_nth(_, 5)"), + kpress(META.."7", "WScreen.switch_nth(_, 6)"), + kpress(META.."8", "WScreen.switch_nth(_, 7)"), + kpress(META.."9", "WScreen.switch_nth(_, 8)"), + kpress(META.."0", "WScreen.switch_nth(_, 9)"), + + bdoc("Switch to next/previous object within current screen."), + kpress(META.."comma", "WScreen.switch_prev(_)"), + kpress(META.."period", "WScreen.switch_next(_)"), + + submap(META.."K", { + --bdoc("Go to previous active object."), + --kpress("K", "ioncore.goto_previous()"), + + --bdoc("Go to first object on activity/urgency list."), + --kpress("I", "ioncore.goto_activity()"), + + bdoc("Clear all tags."), + kpress("T", "ioncore.tagged_clear()"), + }), + + bdoc("Go to n:th screen on multihead setup."), + kpress(META.."Shift+1", "ioncore.goto_nth_screen(0)"), + kpress(META.."Shift+2", "ioncore.goto_nth_screen(1)"), + kpress(META.."Shift+3", "ioncore.goto_nth_screen(2)"), + kpress(META.."E", "ioncore.goto_nth_screen(2)"), + + bdoc("Go to next/previous screen on multihead setup."), + kpress(META.."Shift+comma", "ioncore.goto_prev_screen()"), + kpress(META.."I", "ioncore.goto_prev_screen()"), + + bdoc("Create a new workspace of chosen default type."), + kpress(META.."F9", "ioncore.create_ws(_)"), + + bdoc("Display the main menu."), + kpress(ALTMETA.."F12", "mod_menu.menu(_, _sub, 'mainmenu', {big=true})"), + mpress("Button3", "mod_menu.pmenu(_, _sub, 'mainmenu')"), + + bdoc("Display the window list menu."), + mpress("Button2", "mod_menu.pmenu(_, _sub, 'windowlist')"), + + submap(META.."K", { + bdoc("Backward-circulate focus."), + kpress("AnyModifier+Tab", "ioncore.goto_next(_chld, 'left')", + "_chld:non-nil"), + + bdoc("Raise focused object, if possible."), + kpress("AnyModifier+R", "WRegion.rqorder(_chld, 'front')", + "_chld:non-nil"), + }), + + bdoc("Start i3lock"), + kpress("Mod1+Control+l", "ioncore.exec('i3lock -c 000000')"), + + submap("Control+Z", { + kpress("B", "mod_menu.grabmenu(_, _sub, 'focuslist')"), + + bdoc("Forward-circulate focus."), + -- '_chld' used here stands to for an actual child window that may not + -- be managed by the screen itself, unlike '_sub', that is likely to be + -- the managing group of that window. The right/left directions are + -- used instead of next/prev, because they work better in conjunction + -- with tilings. + kpress("space", "ioncore.goto_next(_chld, 'right')", "_chld:non-nil"), + + kpress("O", "ioncore.goto_next_screen()"), + + kpress("E", "xsteve_run_byclass('emacsclient -ca emacs', 'Emacs')"), + kpress("W", "xsteve_run_byclass('conkeror', 'Conkeror')"), + kpress("C", "xsteve_run_byclass('urxvt', 'URxvt')"), + }), +}) + + +-- Client window bindings +-- +-- These bindings affect client windows directly. + +defbindings("WClientWin", { + submap(META.."K", { + bdoc("Nudge the client window. This might help with some ".. + "programs' resizing problems."), + kpress_wait(META.."L", "WClientWin.nudge(_)"), + + bdoc("Kill client owning the client window."), + kpress("C", "WClientWin.kill(_)"), + }), + submap("Control+Z", { + bdoc("Send next key press to the client window. ".. + "Some programs may not allow this by default."), + kpress("Q", "WClientWin.quote_next(_)"), + }), +}) + + +-- Client window group bindings + +defbindings("WGroupCW", { + bdoc("Toggle client window group full-screen mode"), + kpress_wait(META.."Return", "WGroup.set_fullscreen(_, 'toggle')"), +}) + + +-- WMPlex context bindings +-- +-- These bindings work in frames and on screens. The innermost of such +-- contexts/objects always gets to handle the key press. + +defbindings("WMPlex", { + bdoc("Close current object."), + kpress_wait(META.."C", "nil"), +}) + +-- Frames for transient windows ignore this bindmap +defbindings("WMPlex.toplevel", { + bdoc("Toggle tag of current object."), + kpress(META.."T", "WRegion.set_tagged(_sub, 'toggle')", "_sub:non-nil"), + + bdoc("Lock screen"), + kpress(META.."L", "notioncore.exec_on(_, notioncore.lookup_script('notion-lock'))"), + + bdoc("Query for manual page to be displayed."), + kpress(ALTMETA.."F1", "mod_query.query_man(_, ':man')"), + + bdoc("Show the Notion manual page."), + kpress(META.."F1", "ioncore.exec_on(_, ':man notion')"), + + bdoc("Run a terminal emulator."), + kpress(ALTMETA.."F2", "mod_query.exec_on_merr(_, XTERM or 'xterm')"), + + bdoc("Query for command line to execute."), + kpress(ALTMETA.."F3", "mod_query.query_exec(_)"), + + bdoc("Query for Lua code to execute."), + kpress(META.."F3", "mod_query.query_lua(_)"), + + bdoc("Query for host to connect to with SSH."), + kpress(ALTMETA.."F4", "mod_query.query_ssh(_, ':ssh')"), + + bdoc("Query for workspace to go to or create a new one."), + kpress(ALTMETA.."F9", "mod_query.query_workspace(_)"), + + bdoc("Query for a client window to go to."), + kpress(META.."G", "mod_query.query_gotoclient(_)"), + + bdoc("Display context menu."), + kpress(META.."M", "mod_menu.menu(_, _sub, 'ctxmenu')"), + + submap(META.."K", { + bdoc("Detach (float) or reattach an object to its previous location."), + -- By using _chld instead of _sub, we can detach/reattach queries + -- attached to a group. The detach code checks if the parameter + -- (_chld) is a group 'bottom' and detaches the whole group in that + -- case. + kpress("D", "ioncore.detach(_chld, 'toggle')", "_chld:non-nil"), + }), +}) + + +-- WFrame context bindings +-- +-- These bindings are common to all types of frames. Some additional +-- frame bindings are found in some modules' configuration files. + +defbindings("WFrame", { + submap(META.."K", { + bdoc("Maximize the frame horizontally/vertically."), + kpress("H", "WFrame.maximize_horiz(_)"), + kpress("V", "WFrame.maximize_vert(_)"), + }), + + bdoc("Display context menu."), + mpress("Button3", "mod_menu.pmenu(_, _sub, 'ctxmenu')"), + + bdoc("Begin move/resize mode."), + kpress(META.."R", "WFrame.begin_kbresize(_)"), + + bdoc("Switch the frame to display the object indicated by the tab."), + mclick("Button1@tab", "WFrame.p_switch_tab(_)"), + mclick("Button2@tab", "WFrame.p_switch_tab(_)"), + + bdoc("Resize the frame."), + mdrag("Button1@border", "WFrame.p_resize(_)"), + mdrag(META.."Button3", "WFrame.p_resize(_)"), + + bdoc("Move the frame."), + mdrag(META.."Button1", "WFrame.p_move(_)"), + + bdoc("Move objects between frames by dragging and dropping the tab."), + mdrag("Button1@tab", "WFrame.p_tabdrag(_)"), + mdrag("Button2@tab", "WFrame.p_tabdrag(_)"), + + bdoc("Switch to next/previous object within the frame."), + mclick(META.."Button4", "WFrame.switch_next(_)"), + mclick(META.."Button5", "WFrame.switch_prev(_)"), +}) + +-- Frames for transient windows ignore this bindmap + +defbindings("WFrame.toplevel", { + bdoc("Query for a client window to attach."), + kpress(META.."A", "mod_query.query_attachclient(_)"), + + submap(META.."K", { + -- Display tab numbers when modifiers are released + submap_wait("ioncore.tabnum.show(_)"), + + bdoc("Switch to n:th object within the frame."), + kpress("1", "WFrame.switch_nth(_, 0)"), + kpress("2", "WFrame.switch_nth(_, 1)"), + kpress("3", "WFrame.switch_nth(_, 2)"), + kpress("4", "WFrame.switch_nth(_, 3)"), + kpress("5", "WFrame.switch_nth(_, 4)"), + kpress("6", "WFrame.switch_nth(_, 5)"), + kpress("7", "WFrame.switch_nth(_, 6)"), + kpress("8", "WFrame.switch_nth(_, 7)"), + kpress("9", "WFrame.switch_nth(_, 8)"), + kpress("0", "WFrame.switch_nth(_, 9)"), + + bdoc("Move current object within the frame left/right."), + kpress("comma", "WFrame.dec_index(_, _sub)", "_sub:non-nil"), + kpress("period", "WFrame.inc_index(_, _sub)", "_sub:non-nil"), + + bdoc("Maximize the frame horizontally/vertically."), + kpress("H", "WFrame.maximize_horiz(_)"), + kpress("V", "WFrame.maximize_vert(_)"), + + bdoc("Attach tagged objects to this frame."), + kpress("A", "ioncore.tagged_attach(_)"), + }), + + submap("Control+Z", { + bdoc("Switch to next object within the frame."), + kpress("Z", "WFrame.switch_next(_)"), + }), +}) + +-- Bindings for floating frames. + +defbindings("WFrame.floating", { + bdoc("Toggle shade mode"), + mdblclick("Button1@tab", "WFrame.set_shaded(_, 'toggle')"), + + bdoc("Raise the frame."), + mpress("Button1@tab", "WRegion.rqorder(_, 'front')"), + mpress("Button1@border", "WRegion.rqorder(_, 'front')"), + mclick(META.."Button1", "WRegion.rqorder(_, 'front')"), + + bdoc("Lower the frame."), + mclick(META.."Button3", "WRegion.rqorder(_, 'back')"), + + bdoc("Move the frame."), + mdrag("Button1@tab", "WFrame.p_move(_)"), +}) + + +-- WMoveresMode context bindings +-- +-- These bindings are available keyboard move/resize mode. The mode +-- is activated on frames with the command begin_kbresize (bound to +-- META.."R" above by default). + +defbindings("WMoveresMode", { + bdoc("Cancel the resize mode."), + kpress("AnyModifier+Escape","WMoveresMode.cancel(_)"), + + bdoc("End the resize mode."), + kpress("AnyModifier+Return","WMoveresMode.finish(_)"), + + bdoc("Grow in specified direction."), + kpress("Left", "WMoveresMode.resize(_, 1, 0, 0, 0)"), + kpress("Right", "WMoveresMode.resize(_, 0, 1, 0, 0)"), + kpress("Up", "WMoveresMode.resize(_, 0, 0, 1, 0)"), + kpress("Down", "WMoveresMode.resize(_, 0, 0, 0, 1)"), + kpress("F", "WMoveresMode.resize(_, 1, 0, 0, 0)"), + kpress("B", "WMoveresMode.resize(_, 0, 1, 0, 0)"), + kpress("P", "WMoveresMode.resize(_, 0, 0, 1, 0)"), + kpress("N", "WMoveresMode.resize(_, 0, 0, 0, 1)"), + + bdoc("Shrink in specified direction."), + kpress("Shift+Left", "WMoveresMode.resize(_,-1, 0, 0, 0)"), + kpress("Shift+Right", "WMoveresMode.resize(_, 0,-1, 0, 0)"), + kpress("Shift+Up", "WMoveresMode.resize(_, 0, 0,-1, 0)"), + kpress("Shift+Down", "WMoveresMode.resize(_, 0, 0, 0,-1)"), + kpress("Shift+F", "WMoveresMode.resize(_,-1, 0, 0, 0)"), + kpress("Shift+B", "WMoveresMode.resize(_, 0,-1, 0, 0)"), + kpress("Shift+P", "WMoveresMode.resize(_, 0, 0,-1, 0)"), + kpress("Shift+N", "WMoveresMode.resize(_, 0, 0, 0,-1)"), + + bdoc("Move in specified direction."), + kpress(META.."Left", "WMoveresMode.move(_,-1, 0)"), + kpress(META.."Right", "WMoveresMode.move(_, 1, 0)"), + kpress(META.."Up", "WMoveresMode.move(_, 0,-1)"), + kpress(META.."Down", "WMoveresMode.move(_, 0, 1)"), + kpress(META.."F", "WMoveresMode.move(_,-1, 0)"), + kpress(META.."B", "WMoveresMode.move(_, 1, 0)"), + kpress(META.."P", "WMoveresMode.move(_, 0,-1)"), + kpress(META.."N", "WMoveresMode.move(_, 0, 1)"), +}) + + +-- +-- Menu definitions +-- + + +-- Main menu +defmenu("mainmenu", { + menuentry("Run...", "mod_query.query_exec(_)"), + menuentry("Terminal", "mod_query.exec_on_merr(_, XTERM or 'xterm')"), + menuentry("Lock screen", + "notioncore.exec_on(_, notioncore.lookup_script('notion-lock'))"), + menuentry("Help", "mod_query.query_man(_)"), + menuentry("About Notion", "mod_query.show_about_ion(_)"), + submenu("Styles", "stylemenu"), + submenu("Session", "sessionmenu"), +}) + + +-- Session control menu +defmenu("sessionmenu", { + menuentry("Save", "ioncore.snapshot()"), + menuentry("Restart", "ioncore.restart()"), + menuentry("Restart TWM", "ioncore.restart_other('twm')"), + menuentry("Exit", "ioncore.shutdown()"), +}) + + +-- Context menu (frame actions etc.) +defctxmenu("WFrame", "Frame", { + -- Note: this propagates the close to any subwindows; it does not + -- destroy the frame itself, unless empty. An entry to destroy tiled + -- frames is configured in cfg_tiling.lua. + menuentry("Close", "WRegion.rqclose_propagate(_, _sub)"), + -- Low-priority entries + menuentry("Attach tagged", "ioncore.tagged_attach(_)", { priority = 0 }), + menuentry("Clear tags", "ioncore.tagged_clear()", { priority = 0 }), + menuentry("Window info", "mod_query.show_tree(_, _sub)", { priority = 0 }), +}) + + +-- Context menu for groups (workspaces, client windows) +defctxmenu("WGroup", "Group", { + menuentry("Toggle tag", "WRegion.set_tagged(_, 'toggle')"), + menuentry("De/reattach", "ioncore.detach(_, 'toggle')"), +}) + + +-- Context menu for workspaces +defctxmenu("WGroupWS", "Workspace", { + menuentry("Close", "WRegion.rqclose(_)"), + menuentry("Rename", "mod_query.query_renameworkspace(nil, _)"), + menuentry("Attach tagged", "ioncore.tagged_attach(_)"), +}) + + +-- Context menu for client windows +defctxmenu("WClientWin", "Client window", { + menuentry("Kill", "WClientWin.kill(_)"), +}) diff --git a/notion/Makefile b/notion/Makefile deleted file mode 100644 index 2daf159..0000000 --- a/notion/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -SUBDIR=.notion - -include ../dotfiles2.mk - -install: RFLAGS:=$(RFLAGS) --exclude=default-session--0 -install: RFLAGS:=$(RFLAGS) --exclude=.welcome_msg_displayed diff --git a/notion/cfg_notion.lua b/notion/cfg_notion.lua deleted file mode 100644 index d31458d..0000000 --- a/notion/cfg_notion.lua +++ /dev/null @@ -1,99 +0,0 @@ --- --- Notion main configuration file --- --- This file only includes some settings that are rather frequently altered. --- The rest of the settings are in cfg_notioncore.lua and individual modules' --- configuration files (cfg_modulename.lua). --- --- When any binding and other customisations that you want are minor, it is --- recommended that you include them in a copy of this file in ~/.notion/. --- Simply create or copy the relevant settings at the end of this file (from --- the other files), recalling that a key can be unbound by passing 'nil' --- (without the quotes) as the callback. For more information, please see --- the Notion configuration manual available from the Notion Web page. --- - --- Set default modifiers. Alt should usually be mapped to Mod1 on --- XFree86-based systems. The flying window keys are probably Mod3 --- or Mod4; see the output of 'xmodmap'. -META="Mod4+" ---ALTMETA="" - --- Terminal emulator -XTERM="urxvt" - -WScreen.set_managed_offset(ioncore.find_screen_id(0), {x=0, y=0, w=0, h=-1}) - --- Some basic settings -ioncore.set{ - -- Maximum delay between clicks in milliseconds to be considered a - -- double click. - --dblclick_delay=250, - - -- For keyboard resize, time (in milliseconds) to wait after latest - -- key press before automatically leaving resize mode (and doing - -- the resize in case of non-opaque move). - --kbresize_delay=1500, - - -- Opaque resize? - --opaque_resize=false, - - -- Movement commands warp the pointer to frames instead of just - -- changing focus. Enabled by default. - --warp=true, - - -- Switch frames to display newly mapped windows - --switchto=true, - - -- Default index for windows in frames: one of 'last', 'next' (for - -- after current), or 'next-act' (for after current and anything with - -- activity right after it). - --frame_default_index='next', - - -- Auto-unsqueeze transients/menus/queries. - --unsqueeze=true, - - -- Display notification tooltips for activity on hidden workspace. - screen_notify=true, - - -- Automatically save layout on restart and exit. - --autosave_layout=true, - - -- Mouse focus mode; set to "sloppy" if you want the focus to follow the - -- mouse, and to "disabled" otherwise. - mousefocus="disabled", - - -- Controls Notion's reaction to stacking requests sent by clients. Set to - -- "ignore" to ignore these requests, and to "activate" to set the activity - -- flag on a window that requests to be stacked "Above". - window_stacking_request="ignore", -} - - --- Load default settings. The file cfg_defaults loads all the files --- commented out below, except mod_dock. If you do not want to load --- something, comment out this line, and uncomment the lines corresponding --- the the modules or configuration files that you want, below. --- The modules' configuration files correspond to the names of the --- modules with 'mod' replaced by 'cfg'. ---dopath("cfg_defaults") - --- Load configuration of the Notion 'core'. Most bindings are here. -dopath("cfg_notioncore") - --- Load some kludges to make apps behave better. -dopath("cfg_kludges") - --- Define some layouts. -dopath("cfg_layouts") - --- Load some modules. Bindings and other configuration specific to modules --- are in the files cfg_modulename.lua. -dopath("mod_query") -dopath("mod_menu") -dopath("mod_tiling") ---dopath("mod_statusbar") ---dopath("mod_dock") -dopath("mod_sp") -dopath("mod_notionflux") -dopath("mod_xrandr") diff --git a/notion/cfg_notioncore.lua b/notion/cfg_notioncore.lua deleted file mode 100644 index 2839409..0000000 --- a/notion/cfg_notioncore.lua +++ /dev/null @@ -1,411 +0,0 @@ --- --- Notion core configuration file --- - -function oni_match_class(class) - local result = {} - ioncore.clientwin_i( - function (win) - if class == win:get_ident().class then - table.insert(result, win) - return false - end - return true - end - ) - return result -end - -function xsteve_run_byclass(prog, class) - local win = oni_match_class(class)[1] - if win then - win:goto_() - else - ioncore.exec(prog) - end -end - --- --- Bindings. This includes global bindings and bindings common to --- screens and all types of frames only. See modules' configuration --- files for other bindings. --- - - --- WScreen context bindings --- --- The bindings in this context are available all the time. --- --- The variable META should contain a string of the form 'Mod1+' --- where Mod1 maybe replaced with the modifier you want to use for most --- of the bindings. Similarly ALTMETA may be redefined to add a --- modifier to some of the F-key bindings. - -defbindings("WScreen", { - bdoc("Switch to n:th object (workspace, full screen client window) ".. - "within current screen."), - kpress(META.."1", "WScreen.switch_nth(_, 0)"), - kpress(META.."2", "WScreen.switch_nth(_, 1)"), - kpress(META.."3", "WScreen.switch_nth(_, 2)"), - kpress(META.."4", "WScreen.switch_nth(_, 3)"), - kpress(META.."5", "WScreen.switch_nth(_, 4)"), - kpress(META.."6", "WScreen.switch_nth(_, 5)"), - kpress(META.."7", "WScreen.switch_nth(_, 6)"), - kpress(META.."8", "WScreen.switch_nth(_, 7)"), - kpress(META.."9", "WScreen.switch_nth(_, 8)"), - kpress(META.."0", "WScreen.switch_nth(_, 9)"), - - bdoc("Switch to next/previous object within current screen."), - kpress(META.."comma", "WScreen.switch_prev(_)"), - kpress(META.."period", "WScreen.switch_next(_)"), - - submap(META.."K", { - --bdoc("Go to previous active object."), - --kpress("K", "ioncore.goto_previous()"), - - --bdoc("Go to first object on activity/urgency list."), - --kpress("I", "ioncore.goto_activity()"), - - bdoc("Clear all tags."), - kpress("T", "ioncore.tagged_clear()"), - }), - - bdoc("Go to n:th screen on multihead setup."), - kpress(META.."Shift+1", "ioncore.goto_nth_screen(0)"), - kpress(META.."Shift+2", "ioncore.goto_nth_screen(1)"), - kpress(META.."Shift+3", "ioncore.goto_nth_screen(2)"), - kpress(META.."E", "ioncore.goto_nth_screen(2)"), - - bdoc("Go to next/previous screen on multihead setup."), - kpress(META.."Shift+comma", "ioncore.goto_prev_screen()"), - kpress(META.."I", "ioncore.goto_prev_screen()"), - - bdoc("Create a new workspace of chosen default type."), - kpress(META.."F9", "ioncore.create_ws(_)"), - - bdoc("Display the main menu."), - kpress(ALTMETA.."F12", "mod_menu.menu(_, _sub, 'mainmenu', {big=true})"), - mpress("Button3", "mod_menu.pmenu(_, _sub, 'mainmenu')"), - - bdoc("Display the window list menu."), - mpress("Button2", "mod_menu.pmenu(_, _sub, 'windowlist')"), - - submap(META.."K", { - bdoc("Backward-circulate focus."), - kpress("AnyModifier+Tab", "ioncore.goto_next(_chld, 'left')", - "_chld:non-nil"), - - bdoc("Raise focused object, if possible."), - kpress("AnyModifier+R", "WRegion.rqorder(_chld, 'front')", - "_chld:non-nil"), - }), - - bdoc("Start i3lock"), - kpress("Mod1+Control+l", "ioncore.exec('i3lock -c 000000')"), - - submap("Control+Z", { - kpress("B", "mod_menu.grabmenu(_, _sub, 'focuslist')"), - - bdoc("Forward-circulate focus."), - -- '_chld' used here stands to for an actual child window that may not - -- be managed by the screen itself, unlike '_sub', that is likely to be - -- the managing group of that window. The right/left directions are - -- used instead of next/prev, because they work better in conjunction - -- with tilings. - kpress("space", "ioncore.goto_next(_chld, 'right')", "_chld:non-nil"), - - kpress("O", "ioncore.goto_next_screen()"), - - kpress("E", "xsteve_run_byclass('emacsclient -ca emacs', 'Emacs')"), - kpress("W", "xsteve_run_byclass('conkeror', 'Conkeror')"), - kpress("C", "xsteve_run_byclass('urxvt', 'URxvt')"), - }), -}) - - --- Client window bindings --- --- These bindings affect client windows directly. - -defbindings("WClientWin", { - submap(META.."K", { - bdoc("Nudge the client window. This might help with some ".. - "programs' resizing problems."), - kpress_wait(META.."L", "WClientWin.nudge(_)"), - - bdoc("Kill client owning the client window."), - kpress("C", "WClientWin.kill(_)"), - }), - submap("Control+Z", { - bdoc("Send next key press to the client window. ".. - "Some programs may not allow this by default."), - kpress("Q", "WClientWin.quote_next(_)"), - }), -}) - - --- Client window group bindings - -defbindings("WGroupCW", { - bdoc("Toggle client window group full-screen mode"), - kpress_wait(META.."Return", "WGroup.set_fullscreen(_, 'toggle')"), -}) - - --- WMPlex context bindings --- --- These bindings work in frames and on screens. The innermost of such --- contexts/objects always gets to handle the key press. - -defbindings("WMPlex", { - bdoc("Close current object."), - kpress_wait(META.."C", "nil"), -}) - --- Frames for transient windows ignore this bindmap -defbindings("WMPlex.toplevel", { - bdoc("Toggle tag of current object."), - kpress(META.."T", "WRegion.set_tagged(_sub, 'toggle')", "_sub:non-nil"), - - bdoc("Lock screen"), - kpress(META.."L", "notioncore.exec_on(_, notioncore.lookup_script('notion-lock'))"), - - bdoc("Query for manual page to be displayed."), - kpress(ALTMETA.."F1", "mod_query.query_man(_, ':man')"), - - bdoc("Show the Notion manual page."), - kpress(META.."F1", "ioncore.exec_on(_, ':man notion')"), - - bdoc("Run a terminal emulator."), - kpress(ALTMETA.."F2", "mod_query.exec_on_merr(_, XTERM or 'xterm')"), - - bdoc("Query for command line to execute."), - kpress(ALTMETA.."F3", "mod_query.query_exec(_)"), - - bdoc("Query for Lua code to execute."), - kpress(META.."F3", "mod_query.query_lua(_)"), - - bdoc("Query for host to connect to with SSH."), - kpress(ALTMETA.."F4", "mod_query.query_ssh(_, ':ssh')"), - - bdoc("Query for workspace to go to or create a new one."), - kpress(ALTMETA.."F9", "mod_query.query_workspace(_)"), - - bdoc("Query for a client window to go to."), - kpress(META.."G", "mod_query.query_gotoclient(_)"), - - bdoc("Display context menu."), - kpress(META.."M", "mod_menu.menu(_, _sub, 'ctxmenu')"), - - submap(META.."K", { - bdoc("Detach (float) or reattach an object to its previous location."), - -- By using _chld instead of _sub, we can detach/reattach queries - -- attached to a group. The detach code checks if the parameter - -- (_chld) is a group 'bottom' and detaches the whole group in that - -- case. - kpress("D", "ioncore.detach(_chld, 'toggle')", "_chld:non-nil"), - }), -}) - - --- WFrame context bindings --- --- These bindings are common to all types of frames. Some additional --- frame bindings are found in some modules' configuration files. - -defbindings("WFrame", { - submap(META.."K", { - bdoc("Maximize the frame horizontally/vertically."), - kpress("H", "WFrame.maximize_horiz(_)"), - kpress("V", "WFrame.maximize_vert(_)"), - }), - - bdoc("Display context menu."), - mpress("Button3", "mod_menu.pmenu(_, _sub, 'ctxmenu')"), - - bdoc("Begin move/resize mode."), - kpress(META.."R", "WFrame.begin_kbresize(_)"), - - bdoc("Switch the frame to display the object indicated by the tab."), - mclick("Button1@tab", "WFrame.p_switch_tab(_)"), - mclick("Button2@tab", "WFrame.p_switch_tab(_)"), - - bdoc("Resize the frame."), - mdrag("Button1@border", "WFrame.p_resize(_)"), - mdrag(META.."Button3", "WFrame.p_resize(_)"), - - bdoc("Move the frame."), - mdrag(META.."Button1", "WFrame.p_move(_)"), - - bdoc("Move objects between frames by dragging and dropping the tab."), - mdrag("Button1@tab", "WFrame.p_tabdrag(_)"), - mdrag("Button2@tab", "WFrame.p_tabdrag(_)"), - - bdoc("Switch to next/previous object within the frame."), - mclick(META.."Button4", "WFrame.switch_next(_)"), - mclick(META.."Button5", "WFrame.switch_prev(_)"), -}) - --- Frames for transient windows ignore this bindmap - -defbindings("WFrame.toplevel", { - bdoc("Query for a client window to attach."), - kpress(META.."A", "mod_query.query_attachclient(_)"), - - submap(META.."K", { - -- Display tab numbers when modifiers are released - submap_wait("ioncore.tabnum.show(_)"), - - bdoc("Switch to n:th object within the frame."), - kpress("1", "WFrame.switch_nth(_, 0)"), - kpress("2", "WFrame.switch_nth(_, 1)"), - kpress("3", "WFrame.switch_nth(_, 2)"), - kpress("4", "WFrame.switch_nth(_, 3)"), - kpress("5", "WFrame.switch_nth(_, 4)"), - kpress("6", "WFrame.switch_nth(_, 5)"), - kpress("7", "WFrame.switch_nth(_, 6)"), - kpress("8", "WFrame.switch_nth(_, 7)"), - kpress("9", "WFrame.switch_nth(_, 8)"), - kpress("0", "WFrame.switch_nth(_, 9)"), - - bdoc("Move current object within the frame left/right."), - kpress("comma", "WFrame.dec_index(_, _sub)", "_sub:non-nil"), - kpress("period", "WFrame.inc_index(_, _sub)", "_sub:non-nil"), - - bdoc("Maximize the frame horizontally/vertically."), - kpress("H", "WFrame.maximize_horiz(_)"), - kpress("V", "WFrame.maximize_vert(_)"), - - bdoc("Attach tagged objects to this frame."), - kpress("A", "ioncore.tagged_attach(_)"), - }), - - submap("Control+Z", { - bdoc("Switch to next object within the frame."), - kpress("Z", "WFrame.switch_next(_)"), - }), -}) - --- Bindings for floating frames. - -defbindings("WFrame.floating", { - bdoc("Toggle shade mode"), - mdblclick("Button1@tab", "WFrame.set_shaded(_, 'toggle')"), - - bdoc("Raise the frame."), - mpress("Button1@tab", "WRegion.rqorder(_, 'front')"), - mpress("Button1@border", "WRegion.rqorder(_, 'front')"), - mclick(META.."Button1", "WRegion.rqorder(_, 'front')"), - - bdoc("Lower the frame."), - mclick(META.."Button3", "WRegion.rqorder(_, 'back')"), - - bdoc("Move the frame."), - mdrag("Button1@tab", "WFrame.p_move(_)"), -}) - - --- WMoveresMode context bindings --- --- These bindings are available keyboard move/resize mode. The mode --- is activated on frames with the command begin_kbresize (bound to --- META.."R" above by default). - -defbindings("WMoveresMode", { - bdoc("Cancel the resize mode."), - kpress("AnyModifier+Escape","WMoveresMode.cancel(_)"), - - bdoc("End the resize mode."), - kpress("AnyModifier+Return","WMoveresMode.finish(_)"), - - bdoc("Grow in specified direction."), - kpress("Left", "WMoveresMode.resize(_, 1, 0, 0, 0)"), - kpress("Right", "WMoveresMode.resize(_, 0, 1, 0, 0)"), - kpress("Up", "WMoveresMode.resize(_, 0, 0, 1, 0)"), - kpress("Down", "WMoveresMode.resize(_, 0, 0, 0, 1)"), - kpress("F", "WMoveresMode.resize(_, 1, 0, 0, 0)"), - kpress("B", "WMoveresMode.resize(_, 0, 1, 0, 0)"), - kpress("P", "WMoveresMode.resize(_, 0, 0, 1, 0)"), - kpress("N", "WMoveresMode.resize(_, 0, 0, 0, 1)"), - - bdoc("Shrink in specified direction."), - kpress("Shift+Left", "WMoveresMode.resize(_,-1, 0, 0, 0)"), - kpress("Shift+Right", "WMoveresMode.resize(_, 0,-1, 0, 0)"), - kpress("Shift+Up", "WMoveresMode.resize(_, 0, 0,-1, 0)"), - kpress("Shift+Down", "WMoveresMode.resize(_, 0, 0, 0,-1)"), - kpress("Shift+F", "WMoveresMode.resize(_,-1, 0, 0, 0)"), - kpress("Shift+B", "WMoveresMode.resize(_, 0,-1, 0, 0)"), - kpress("Shift+P", "WMoveresMode.resize(_, 0, 0,-1, 0)"), - kpress("Shift+N", "WMoveresMode.resize(_, 0, 0, 0,-1)"), - - bdoc("Move in specified direction."), - kpress(META.."Left", "WMoveresMode.move(_,-1, 0)"), - kpress(META.."Right", "WMoveresMode.move(_, 1, 0)"), - kpress(META.."Up", "WMoveresMode.move(_, 0,-1)"), - kpress(META.."Down", "WMoveresMode.move(_, 0, 1)"), - kpress(META.."F", "WMoveresMode.move(_,-1, 0)"), - kpress(META.."B", "WMoveresMode.move(_, 1, 0)"), - kpress(META.."P", "WMoveresMode.move(_, 0,-1)"), - kpress(META.."N", "WMoveresMode.move(_, 0, 1)"), -}) - - --- --- Menu definitions --- - - --- Main menu -defmenu("mainmenu", { - menuentry("Run...", "mod_query.query_exec(_)"), - menuentry("Terminal", "mod_query.exec_on_merr(_, XTERM or 'xterm')"), - menuentry("Lock screen", - "notioncore.exec_on(_, notioncore.lookup_script('notion-lock'))"), - menuentry("Help", "mod_query.query_man(_)"), - menuentry("About Notion", "mod_query.show_about_ion(_)"), - submenu("Styles", "stylemenu"), - submenu("Session", "sessionmenu"), -}) - - --- Session control menu -defmenu("sessionmenu", { - menuentry("Save", "ioncore.snapshot()"), - menuentry("Restart", "ioncore.restart()"), - menuentry("Restart TWM", "ioncore.restart_other('twm')"), - menuentry("Exit", "ioncore.shutdown()"), -}) - - --- Context menu (frame actions etc.) -defctxmenu("WFrame", "Frame", { - -- Note: this propagates the close to any subwindows; it does not - -- destroy the frame itself, unless empty. An entry to destroy tiled - -- frames is configured in cfg_tiling.lua. - menuentry("Close", "WRegion.rqclose_propagate(_, _sub)"), - -- Low-priority entries - menuentry("Attach tagged", "ioncore.tagged_attach(_)", { priority = 0 }), - menuentry("Clear tags", "ioncore.tagged_clear()", { priority = 0 }), - menuentry("Window info", "mod_query.show_tree(_, _sub)", { priority = 0 }), -}) - - --- Context menu for groups (workspaces, client windows) -defctxmenu("WGroup", "Group", { - menuentry("Toggle tag", "WRegion.set_tagged(_, 'toggle')"), - menuentry("De/reattach", "ioncore.detach(_, 'toggle')"), -}) - - --- Context menu for workspaces -defctxmenu("WGroupWS", "Workspace", { - menuentry("Close", "WRegion.rqclose(_)"), - menuentry("Rename", "mod_query.query_renameworkspace(nil, _)"), - menuentry("Attach tagged", "ioncore.tagged_attach(_)"), -}) - - --- Context menu for client windows -defctxmenu("WClientWin", "Client window", { - menuentry("Kill", "WClientWin.kill(_)"), -}) diff --git a/offlineimap/.offlineimap.py b/offlineimap/.offlineimap.py new file mode 100644 index 0000000..fb4f66e --- /dev/null +++ b/offlineimap/.offlineimap.py @@ -0,0 +1,51 @@ +from offlineimap import imaputil + + +def lld_flagsimap2maildir(flagstring): + flagmap = {'\\seen': 'S', + '\\answered': 'R', + '\\flagged': 'F', + '\\deleted': 'T', + '\\draft': 'D', + 'gnus-expire': 'E'} + retval = [] + imapflaglist = [x.lower() for x in flagstring[1:-1].split()] + + for imapflag in imapflaglist: + if imapflag in flagmap: + retval.append(flagmap[imapflag]) + + retval.sort() + return set(retval) + + +def lld_flagsmaildir2imap(list): + flagmap = {'S': '\\Seen', + 'R': '\\Answered', + 'F': '\\Flagged', + 'T': '\\Deleted', + 'D': '\\Draft', + 'E': 'gnus-expire'} + retval = [] + + for mdflag in list: + if mdflag in flagmap: + retval.append(flagmap[mdflag]) + + retval.sort() + return '(' + ' '.join(retval) + ')' + +imaputil.flagsmaildir2imap = lld_flagsmaildir2imap +imaputil.flagsimap2maildir = lld_flagsimap2maildir + + +def getuser(host): + import netrc + mynet = netrc.netrc() + return mynet.authenticators(host)[0] + + +def getpassword(host): + import netrc + mynet = netrc.netrc() + return mynet.authenticators(host)[2] diff --git a/offlineimap/.offlineimaprc b/offlineimap/.offlineimaprc new file mode 100644 index 0000000..5b96d16 --- /dev/null +++ b/offlineimap/.offlineimaprc @@ -0,0 +1,110 @@ +# -*- mode: conf-unix; -*- +[general] +# NOTE: cronjob calls the quiet UI with -u +ui = TTYUI +accounts = ryuslash.org,gmail,aethon,ninthfloor +pythonfile = ~/.offlineimap.py + +[Account ryuslash.org] +localrepository = ryuslash.org-local +remoterepository = ryuslash.org-remote +# postsynchook = /home/slash/usr/bin/emacs-send-mail ryuslash.org + +[Repository ryuslash.org-local] +type = Maildir +localfolders = ~/documents/mail/ryuslash.org +nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize()) + +[Repository ryuslash.org-remote] +type = IMAP +remotehost = imap.alwaysdata.com +remoteusereval = getuser("imap.alwaysdata.com") +remotepasseval = getpassword("imap.alwaysdata.com") +nametrans = lambda folder: folder.lower() + +[Account aethon] +localrepository = aethon-local +remoterepository = aethon-remote +# postsynchook = /home/slash/usr/bin/emacs-send-mail aethon + +[Repository aethon-local] +type = Maildir +localfolders = ~/documents/mail/aethon +nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Concepten', re.sub('^sent$', '[Gmail]/Verzonden berichten', re.sub('^trash$', '[Gmail]/Prullenbak', folder)))) + +[Repository aethon-remote] +type = Gmail +remoteusereval = getuser("imap.google.com-aethon") +remotepasseval = getpassword("imap.google.com-aethon") +realdelete = no +cert_fingerprint = b0ba392bba326e6feb1add4d04fa0fb86cd173fa +folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Concepten', '[Gmail]/Verzonden berichten', '[Gmail]/Prullenbak'] +nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Concepten$', 'drafts', re.sub('^\[Gmail\]/Verzonden berichten$', 'sent', re.sub('^\[Gmail\]/Prullenbak$', 'trash', folder)))) + +[Account gmail] +localrepository = gmail-local +remoterepository = gmail-remote +# postsynchook = /home/slash/usr/bin/emacs-send-mail gmail + +[Repository gmail-local] +type = Maildir +localfolders = ~/documents/mail/gmail +nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Drafts', re.sub('^sent$', '[Gmail]/Sent Mail', re.sub('^trash$', '[Gmail]/Trash', folder)))) + +[Repository gmail-remote] +type = Gmail +remoteusereval = getuser("imap.google.com") +remotepasseval = getpassword("imap.google.com") +realdelete = no +cert_fingerprint = b0ba392bba326e6feb1add4d04fa0fb86cd173fa +folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash'] +nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder)))) + +[Account ninthfloor] +localrepository = ninthfloor-local +remoterepository = ninthfloor-remote +# postsynchook = /home/slash/usr/bin/emacs-send-mail ninthfloor + +[Repository ninthfloor-local] +type = Maildir +localfolders = ~/documents/mail/ninthfloor +nametrans = lambda folder: re.sub('^Inbox$', 'INBOX', folder.capitalize()) + +[Repository ninthfloor-remote] +type = IMAP +remotehost = ninthfloor.org +remoteusereval = getuser("ninthfloor.org") +remotepasseval = getpassword("ninthfloor.org") +nametrans = lambda folder: folder.lower() + +[Account arch] +localrepository = arch-local +remoterepository = arch-remote + +[Repository arch-local] +type = Maildir +localfolders = ~/documents/mail/arch +nametrans = lambda folder: re.sub('^inbox$', 'INBOX', re.sub('^drafts$', '[Gmail]/Drafts', re.sub('^sent$', '[Gmail]/Sent Mail', re.sub('^trash$', '[Gmail]/Trash', folder)))) + +[Repository arch-remote] +type = Gmail +remoteusereval = getuser("imap.google.com-arch") +remotepasseval = getpassword("imap.google.com-arch") +realdelete = no +cert_fingerprint = 6d1b5b5ee0180ab493b71d3b94534b5ab937d042 +folderfilter = lambda folder: folder in ['INBOX', '[Gmail]/Drafts', '[Gmail]/Sent Mail', '[Gmail]/Trash'] +nametrans = lambda folder: re.sub('^INBOX$', 'inbox', re.sub('^\[Gmail\]/Drafts$', 'drafts', re.sub('^\[Gmail\]/Sent Mail$', 'sent', re.sub('^\[Gmail\]/Trash$', 'trash', folder)))) + +[Account iactor] +localrepository = iactor-local +remoterepository = iactor-remote + +[Repository iactor-local] +type = Maildir +localfolders = ~/documents/mail/iactor + +[Repository iactor-remote] +type = IMAP +remotehost = mail.iactor.nl +remoteusereval = getuser("mail.iactor.nl") +remotepasseval = getpassword("mail.iactor.nl") diff --git a/pentadactil/.pentadactyl/plugins/emacs.penta b/pentadactil/.pentadactyl/plugins/emacs.penta new file mode 100644 index 0000000..e28bce3 --- /dev/null +++ b/pentadactil/.pentadactyl/plugins/emacs.penta @@ -0,0 +1,98 @@ +set editor=emacsclient +set go=bCs +set hintkeys="arstdhneio" +set stal=never +set titlestring= + +highlight -a Hint text-transform: uppercase + +map -b : +map -b -m base + +map -b -m c +map -b -m c + +map -b -m i +map -b -m i + +map -b -m c,i +map -b -m c,i +map -b -m c,i +map -b -m c,i +map -b -m c,i +map -b -m c,i + +map -b gg +map -b > G +map -b +map -b y + +map -b u +map -b 0 +map -b +map -b $ +map -b +map -b gT +map -b gt +map -b 2j +map -b 2k +map -b ? +map -b / +map -b +map -b Y +map -b P + +map -b ~ ~ +map -b e gF +map -b g gf +map -b h gh +map -b i gi +map -b k d +map -b m ;c +map -b p ;i +map -b r r +map -b R R +map -b u gu + +map -b b +map -b ZZ +map -b t +map -b :restart +map -b gU +map -b O + +map +map +map +map +map +map : +map ~ +map / +map ? +map $ +map 0 +map b +map B +map d +map F +map gg +map gh +map gi +map gU +map G +map i +map j +map k +map o +map O +map p +map P +map q +map r +map t +map u +map w +map y +map Y +map ZZ diff --git a/sawfish/.sawfish/rc b/sawfish/.sawfish/rc new file mode 100644 index 0000000..5f7da7c --- /dev/null +++ b/sawfish/.sawfish/rc @@ -0,0 +1,186 @@ +;; -*- mode: sawfish; -*- +(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.util.stacking) + +(define oni:window-packing-keymap (make-keymap)) +(define oni:window-growing-keymap (make-keymap)) +(define oni:window-shrinking-keymap (make-keymap)) +(define oni:window-yanking-keymap (make-keymap)) +(define oni:window-management-keymap (make-keymap)) +(define oni:extended-keymap (make-keymap)) +(define my-keymap (make-keymap)) + +(defun oni:emacs-main-window-p (window) + "Check wether or not WINDOW is Emacs' main window." + (let ((name (window-name window))) + (and (string-match "^emacs: " name) + (not (string= "emacs: *Sauron*" name))))) + +(defun oni:place-emacs-windows () + "Place Emacs' main, sauron and optionally speedbar windows the +way I like them." + (let ((main-window (car (filter-windows oni:emacs-main-window-p))) + (sauron-window (get-window-by-name "emacs: *Sauron*")) + (speedbar-window (get-window-by-name "^Speedbar " #:regex t))) + (move-window-to main-window 0 0) + (move-window-to sauron-window 0 0) + + (set-window-type sauron-window 'transient) + (pack-window-down sauron-window) + (grow-window-right sauron-window) + + (when speedbar-window + (move-window-to speedbar-window 0 0) + (set-window-type speedbar-window 'transient) + (yank-window-right main-window) + (grow-window-down speedbar-window)) + + (grow-window-down main-window) + (grow-window-right main-window))) + +(define-command 'oni:place-emacs-windows oni:place-emacs-windows) + +(defun oni:run-or-raise (command #!key id name class role) + "Either run COMMAND, or if a window with class CLASS is found, +raise it." + (let* ((windows (filter + (lambda (x) + (and (or (not id) (equal (window-id x) id)) + (or (not name (equal (window-name x) name))) + (or (not class) (equal (window-class x) class)) + (or (not role) (equal (window-role x) role)))) + (window-order))) + (first (car windows)) + (w (if (equal first (input-focus)) (last windows) first))) + (if w (display-window w) + (call-command `(run-shell-command ,command))))) + +(define (send-cz window #!optional arg) + (synthesize-event "C-z" window)) +(define-command 'send-cz send-cz #:spec "%W\nP") + +(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 + '(("Emacs" (system "emacsclient -c &")) + ("Terminal" (system "urxvt &")))) + +(bind-keys oni:window-packing-keymap + "p" 'pack-window-up + "n" 'pack-window-down + "b" 'pack-window-left + "f" 'pack-window-right) + +(bind-keys oni:window-growing-keymap + "p" 'grow-window-up + "n" 'grow-window-down + "b" 'grow-window-left + "f" 'grow-window-right) + +(bind-keys oni:window-shrinking-keymap + "p" 'shrink-window-up + "n" 'shrink-window-down + "b" 'shrink-window-left + "f" 'shrink-window-right) + +(bind-keys oni:window-yanking-keymap + "p" 'yank-window-up + "n" 'yank-window-down + "b" 'yank-window-left + "f" 'yank-window-right) + +(bind-keys oni:window-management-keymap + "M" 'maximize-window-toggle + "p" oni:window-packing-keymap + "g" oni:window-growing-keymap + "s" oni:window-shrinking-keymap + "y" oni:window-yanking-keymap + "E" 'oni:place-emacs-windows) + +(bind-keys global-keymap + "XF86AudioPlay" '(run-shell-command "mpc toggle") + "XF86AudioStop" '(run-shell-command "mpc stop") + "XF86AudioMute" '(run-shell-command "amixer sset Master toggle") + "XF86AudioLowerVolume" '(run-shell-command "mpc volume -5") + "XF86AudioRaiseVolume" '(run-shell-command "mpc volume +5") + "XF86AudioPrev" '(run-shell-command "mpc prev") + "XF86AudioNext" '(run-shell-command "mpc next")) + +(bind-keys oni:extended-keymap + "w" oni:window-management-keymap + "Super-b" 'popup-window-list-menu) + +(bind-keys my-keymap + "C" '(run-shell-command "urxvt") + "C-b" 'popup-window-list-menu + "E" '(run-shell-command (getenv "EDITOR")) + "W" '(run-shell-command (getenv "BROWSER")) + "c" '(oni:run-or-raise "urxvt" #:class "URxvt") + "e" '(oni:run-or-raise (getenv "EDITOR") #:class "Emacs") + "w" '(oni:run-or-raise (getenv "BROWSER") #:class "Conkeror") + "z" 'send-cz) + +;; (ungrab-keymap global-keymap) +(bind-keys + global-keymap + "C-M-l" '(run-shell-command "i3lock -c \"#000000\"") + "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 + "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-F" 'yank-window-right + "Super-M" 'maximize-window-toggle + "Super-N" 'yank-window-down + "Super-P" 'yank-window-up + "Super-TAB" 'cycle-windows + "Super-`" 'popup-root-menu + "Super-b" 'pack-window-left + "Super-f" 'pack-window-right + "Super-n" 'pack-window-down + "Super-p" 'pack-window-up + "Super-x" oni:extended-keymap + "C-z" my-keymap + ) +;; (grab-keymap global-keymap) + +(add-window-matcher '((WM_CLASS . "^(Firefox|Conkeror)/Navigator$")) + '((position . north-east) + (maximized . all))) + +(define (term-window-position w) + (- (screen-width) (window-width w) 1680)) + +(add-hook 'place-window-hook + (lambda (w) + (case (intern (window-class w)) + ((URxvt) + (resize-window-with-hints w 79 24) + (move-window-to w (term-window-position w) 0) + (grow-window-down w) + t) + ((Emacs) + (resize-window-with-hints w 101 24) + (move-window-to w 0 0) + (grow-window-down w) + t)))) diff --git a/sbcl/Makefile b/sbcl/Makefile deleted file mode 100644 index 1be8c1a..0000000 --- a/sbcl/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -objects=.sbclrc - -include ../dotfiles.mk - -.sbclrc: sbclrc.org - $(EMACS) -Q -batch \ - -eval "(progn (require 'org) (require 'ob-tangle) \ - (org-babel-tangle-file \"$^\"))" diff --git a/screen/.screenrc b/screen/.screenrc new file mode 100644 index 0000000..16e3032 --- /dev/null +++ b/screen/.screenrc @@ -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" diff --git a/scwm/.scwmrc b/scwm/.scwmrc new file mode 100644 index 0000000..72ddae8 --- /dev/null +++ b/scwm/.scwmrc @@ -0,0 +1,305 @@ +;; -*- mode: scheme; -*- +;; simple.scwmrc was system.scwmrc until Scwm-0.99.2 + +;; Uncomment the below to send a single UDP packet to +;; the scwm usage counter machine at startup +;; The single packet just contains the hostname and version number +;; To disable, set environment variable SCWM_DO_NOT_LOG_USAGE +;;(define thank-scwm-authors-with-usage-note #t) + +(define user-image-load-path + (list (string-append (user-home) "/src/scwm/pixmaps") + (string-append (user-home) "/src/scwm/bitmaps"))) + +;;; set path to use for image searches +(set! image-load-path + (append + user-image-load-path + '("/usr/X11/lib/X11/mini-icons" "/usr/X11/include/X11/pixmaps" + "/usr/lib/icons" "/usr/local/X11/include/X11/pixmaps" + "/usr/local/lib/icons" "/usr/local/icons" + "/uns/share/include/X11/pixmaps" "/uns/share/include/X11/bitmaps") + image-load-path)) + +;;-------------------------------;; +;; import the scwm modules ;; + +#! +(use-scwm-modules minimal base winops winlist wininfo + doc style message-window face + preferences style + ;optargs winlist-menu) + winlist-menu) +!# + + +(use-modules + (app scwm minimal) + (app scwm base) + (app scwm style) + (app scwm winops) + (app scwm winlist) + (app scwm wininfo) + (app scwm doc) + (app scwm message-window) + (app scwm face) + ;(app scwm preferences) + (app scwm optargs) + (app scwm winlist-menu)) + + +;;-------------------------------;; +;; set some basic styles info ;; + + +(define font + (make-font "-unknown-DejaVu Sans Mono-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1")) + +(menu-style #:fg "#eeeeec" + #:bg "#252a2b" + #:stipple "blue" + #:hl-fg "yellow" + #:font font) + +(title-style #:font font #:justify 'left) + +(set-icon-font! font) +(set-highlight-foreground! "white") +(set-highlight-background! "blueviolet") +(set-rubber-band-mask! 127) + +;;-------------------------------;; +;; set some paths ;; +;; + +;; these are OK for my system, but may need to be changed for +;; yours. This should probably be eventually autoconfed or something. + +;;; set path to use for image searches +(set! image-load-path + (append + user-image-load-path + '("/usr/X11/lib/X11/mini-icons" "/usr/X11/include/X11/pixmaps" + "/usr/lib/icons" "/usr/local/X11/include/X11/pixmaps" + "/usr/local/lib/icons" "/usr/local/icons" + "/uns/share/include/X11/pixmaps" "/uns/share/include/X11/bitmaps") + image-load-path)) + +;;-------------------------------;; +;; set some window styles ;; + +(window-style "*" + #:fg "white" #:bg "navy" + #:icon "unknown1.xpm" + #:icon-box (list (x- 70) 1 69 (y- 141)) + #:border-width 6 + #:focus 'mouse + #:mwm-func-hint #t #:mwm-decor-hint #t + #:hint-override #t #:decorate-transient #t + #:PPosition-hint #f + #:lenience #t + ) +(define desk-widget + (make-style #:plain-border #t #:sticky #t #:winlist-skip #t + #:border-width 3 #:focus 'none)) + +(window-style "*lock" #:use-style desk-widget) +(window-style "xload" #:no-titlebar #t #:use-style desk-widget) +(window-style "xscreensaver" #:no-titlebar #t #:use-style desk-widget) +(window-style "xbiff" #:no-titlebar #t #:use-style desk-widget) +(window-style "xcalc" #:icon "xcalc.xpm") +(window-style "xman" #:icon "xman.xpm") +(window-style "xmag" #:icon "mag_glass.xpm") +(window-style "Emacs" #:icon "gnu-animal.xpm") +(window-style "XTerm" #:icon "xterm.xpm") + + +;; People seem to prefer move by full virtual desks +(set-edge-resistance! 500 10) +(set-edge-scroll! (%x 100) (%y 100)) + + +;;-------------------------------;; +;; define some useful menus ;; + + +(define window-ops-menu + (menu + (list + (menu-title "Window Ops") menu-separator + (menuitem "Move" #:action interactive-move) + (menuitem "Resize" #:action interactive-resize) + (menuitem "Raise" #:action raise-window) + (menuitem "Lower" #:action lower-window) +;; (menuitem "Print" #:action print-window) + (menuitem "(Un)Window-Shade" #:action toggle-window-shade) + (menuitem "(De)Iconify" #:action toggle-iconify) + (menuitem "(Un)Maximize" #:action toggle-maximize-vertical) + (menuitem "(Un)Stick" #:action toggle-stick) + (menuitem "(Un)Keep On Top" #:action toggle-on-top) + menu-separator + (menuitem "Close" #:action close-window) + (menuitem "Delete" #:action delete-window) + (menuitem "Destroy" #:action destroy-window) + menu-separator + (menuitem "Refresh Screen" #:action refresh)))) + +(define* (popup-ops) + "" + (interactive) + (popup-menu window-ops-menu)) + +;; Hack to let quit work +(set-procedure-property! quit 'interactive #t) + +(define menu-quit-verify + (menu + (list + (menu-title "Really quit scwm?") menu-separator + ;;(menuitem "Yes" #:action scheme-quit) + (menuitem "Yes" #:action quit) + (menuitem "No" #:action #f) + menu-separator + (menuitem "Restart scwm" #:action (lambda () (restart "scwm")))))) + +(define (quit-verify) + (popup-menu menu-quit-verify)) + +(define desk-menu + (menu + (list + (menu-title "Desks") menu-separator + (menuitem "Desk 1" #:action (lambda () (set-current-desk! 0))) + (menuitem "Desk 2" #:action (lambda () (set-current-desk! 1))) + (menuitem "Desk 3" #:action (lambda () (set-current-desk! 2))) + (menuitem "Desk 4" #:action (lambda () (set-current-desk! 3)))))) + +(define util-menu + (menu + (list + (menu-title "Utilities") menu-separator + ;(menuitem "Preferences..." #:action scwm-options-dialog) + menu-separator + (menuitem "urxvt" #:action (lambda () (execute "urxvt"))) + (menuitem "emacs" #:action (lambda () (execute "emacsclient -c -a emacs"))) + (menuitem "firefox" #:action (lambda () (execute "firefox"))) + (menuitem "top" #:action + (lambda () (execute "urxvt -T Top -n Top -e top"))) + menu-separator + (menuitem "Desks" #:action desk-menu) + menu-separator + (menuitem "Exit scwm" #:action menu-quit-verify)))) + +(define* (popup-util) + "" + (interactive) + (popup-menu util-menu)) + +(define (make-small-window-ops-menu w) + (menu + (list +;; (menu-title "Window Ops2") +;; menu-separator + (menuitem "Move" #:action interactive-move) + (menuitem "Resize" #:action interactive-resize) + (menuitem "Raise" #:action raise-window) + (menuitem "Lower" #:action lower-window) + (menuitem "Iconify" #:action iconify-window) + menu-separator + (menuitem "More..." #:action + (menu + (list + (menuitem (if (maximized? w) + "Unmaximize" + "Maximize") + #:action toggle-maximize-vertical) + (menuitem (if (sticky-window? w) + "Unstick" + "Stick") #:action toggle-stick) + (menuitem (if (shaded-window? w) + "UnWindow-Shade" + "Window-Shade") + #:action toggle-window-shade) + (menuitem (if (kept-on-top? w) + "UnKeep On Top" + "Keep On Top") #:action toggle-on-top)))) + menu-separator + (menuitem "Close" #:action close-window) + (menuitem "Destroy" #:action destroy-window)))) + +(define* (popup-small-ops) + "" (interactive) + (popup-menu (make-small-window-ops-menu (get-window)))) + + +;; now set some mouse and key bindings ;; + +;; first our root menus +(bind-mouse 'root 1 popup-util) +(bind-mouse 'root 2 popup-ops) +(bind-mouse 'root 3 (lambda () + (show-window-list-menu #f #f #:show-geometry #t))) +(bind-mouse 'root "M-3" (lambda () (popup-menu desk-menu))) + + +;; window buttons +(bind-mouse 'left-button-1 1 popup-small-ops) +(bind-mouse 'right-button-1 1 toggle-maximize-vertical) +(bind-mouse 'right-button-2 1 iconify-window) + +;; operations on parts of the window +(bind-mouse '(frame-corners frame-sides) 2 popup-small-ops) +(bind-mouse 'frame-corners 1 resize-or-raise) +(bind-mouse 'frame-sides 1 move-or-raise) + +(define* (move-or-shade) + "" + (interactive) + (case (mouse-event-type) + ((double-click) (toggle-window-shade)) + (else (move-or-raise)))) + +(bind-mouse 'title 1 move-or-shade) +(bind-mouse 'title 3 lower-window) + + +;; key bindings for the menus +(bind-key 'all "M-F1" popup-util) +(bind-key 'all "M-F2" popup-ops) + +;; in case of emergency, hit Control-Meta-Shift-Q +(bind-key 'all "C-M-S-q" quit-verify) + +;; some stuff for icons +(define* (move-or-deiconify) + "" + (interactive) + (case (mouse-event-type) + ((motion) (interactive-move)) + ((double-click) (deiconify-window)))) + +(bind-mouse 'icon 1 move-or-deiconify) +(bind-mouse 'icon 2 deiconify-window) + + + +;; move the pointer with the keyboard +(bind-key 'all "M-Left" (lambda () (move-pointer (%x -1) 0))) +(bind-key 'all "M-Right" (lambda () (move-pointer (%x 1) 0))) +(bind-key 'all "M-Up" (lambda () (move-pointer 0 (%y -1)))) +(bind-key 'all "M-Down" (lambda () (move-pointer 0 (%y 1)))) + +;; move the viewport with the keyboard +(bind-key 'all "C-M-Left" (lambda () (move-viewport (%x -100) 0))) +(bind-key 'all "C-M-Right" (lambda () (move-viewport (%x 100) 0))) +(bind-key 'all "C-M-Up" (lambda () (move-viewport 0 (%y -100)))) +(bind-key 'all "C-M-Down" (lambda () (move-viewport 0 (%y 100)))) + +;; rotate the current window with the keyboard +(bind-key 'all "C-S-Tab" + (lambda () + (next-window #:only visible? #:except iconified-window?))) + +(bind-key 'all "M-S-Tab" + (lambda () + (prev-window #:only visible? #:except iconified-window?))) diff --git a/slrn/.slrnrc b/slrn/.slrnrc new file mode 100644 index 0000000..00e28d0 --- /dev/null +++ b/slrn/.slrnrc @@ -0,0 +1,49 @@ +nnrpaccess news.eternal-september.org slash "" +server news.eternal-september.org .local/share/slrn/newsrc/eternal-september +server news.gmane.org .local/share/slrn/newsrc/gmane + +color unread_subject "white" "default" "bold" + +color article "lightgray" "default" +color author "magenta" "default" +color boldtext "brightblue" "default" "bold" +color box "black" "white" +color cursor "brightgreen" "default" +color date "lightgray" "default" +color description "lightgray" "default" +color error "red" "default" "blink" +color frame "yellow" "blue" +color from_myself "brightmagenta" "default" "bold" +color group "lightgray" "default" "bold" +color grouplens_display "lightgray" "default" +color header_name "green" "default" "bold" +color header_number "green" "default" +color headers "brightcyan" "default" +color neg_score "green" "default" +color pos_score "blue" "default" +color high_score "red" "default" "bold" +color italicstext "magenta" "default" "bold" +color menu "white" "red" +color menu_press "lightgray" "yellow" +color message "lightgray" "default" +color normal "default" "default" +color pgpsignature "lightgray" "default" +color quotes "red" "default" +color quotes1 "magenta" "default" +color quotes2 "brown" "default" +color quotes3 "brown" "default" +color quotes4 "brown" "default" +color quotes5 "brown" "default" +color quotes6 "brown" "default" +color quotes7 "brown" "default" +color response_char "green" "default" "bold" +color signature "red" "default" +color selection "yellow" "blue" "bold" +color status "white" "red" +color subject "lightgray" "default" +color thread_number "lightgray" "default" "bold" +color tilde "green" "default" "bold" +color tree "red" "default" "bold" +color underlinetext "cyan" "default" "underline" +color url "white" "default" "bold" +color verbatim "green" "default" diff --git a/ssh/.ssh/.gitignore b/ssh/.ssh/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/ssh/.ssh/config b/ssh/.ssh/config new file mode 100644 index 0000000..edace41 --- /dev/null +++ b/ssh/.ssh/config @@ -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 diff --git a/stumpwm/.stumpwmrc b/stumpwm/.stumpwmrc new file mode 100644 index 0000000..30df336 --- /dev/null +++ b/stumpwm/.stumpwmrc @@ -0,0 +1,224 @@ +;; -*- 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 mpd-playing-p () + "Check if MPD is currently in the playing state." + (and (cl-ppcre:scan + "\\n\\[playing\\]" + (with-output-to-string (status) + (sb-ext:run-program "/usr/bin/mpc" '() :output status))) + t)) + +(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)))) + +(defun mpd-pause () + "Pause MPD playback." + (when (setf *mpd-was-playing-p* (mpd-playing-p)) + (sb-ext:run-program "/usr/bin/mpc" '("pause") :wait nil))) + +(defun mpd-play () + "Resume MPD playback." + (when *mpd-was-playing-p* + (sb-ext:run-program "/usr/bin/mpc" '("play") :wait nil))) + +(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 *lock-screen-hook* 'mpd-pause) +(add-hook *screen-unlocked-hook* 'set-jabber-online) +(add-hook *screen-unlocked-hook* 'mpd-play) + +(set-prefix-key (kbd "C-z")) + +(define-key *top-map* (kbd "C-M-l") "lock-screen") +(define-key *top-map* (kbd "XF86AudioLowerVolume") "exec mpc volume -5") +(define-key *top-map* (kbd "XF86AudioMute") + "exec amixer sset Master toggle") +(define-key *top-map* (kbd "XF86AudioNext") "exec mpc next") +(define-key *top-map* (kbd "XF86AudioPlay") "exec mpc toggle") +(define-key *top-map* (kbd "XF86AudioPrev") "exec mpc prev") +(define-key *top-map* (kbd "XF86AudioRaiseVolume") "exec mpc volume +5") + +(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))) + +(restore-from-file + (concatenate 'string (sb-ext:posix-getenv "HOME") + "/.stumpwm.d/desktop.lisp")) + +; (swank:create-server) diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf new file mode 100644 index 0000000..ef38f70 --- /dev/null +++ b/tmux/.tmux.conf @@ -0,0 +1,3 @@ +set -g default-terminal "screen-256color" +set-option -g status-bg 2 +set-option -g status-fg 7 diff --git a/w3m/.w3m/.gitignore b/w3m/.w3m/.gitignore new file mode 100644 index 0000000..c375d5b --- /dev/null +++ b/w3m/.w3m/.gitignore @@ -0,0 +1 @@ +history diff --git a/w3m/.w3m/config b/w3m/.w3m/config new file mode 100644 index 0000000..9c4a8a2 --- /dev/null +++ b/w3m/.w3m/config @@ -0,0 +1,141 @@ +simple_preserve_space 0 +gb18030_as_ucs 0 +strict_iso2022 1 +use_jisx0213 0 +use_jisx0212 0 +use_jisx0201k 0 +use_jisc6226 0 +use_jisx0201 0 +use_gb12345_map 0 +fix_width_conv 1 +search_conv 1 +pre_conv 0 +ucs_conv 1 +use_language_tag 1 +east_asian_width 0 +use_combining 1 +use_wide 1 +ext_halfdump 0 +follow_locale 1 +system_charset UTF-8 +auto_detect 2 +document_charset UTF-8 +display_charset UTF-8 +cookie_avoid_wrong_number_of_dots +cookie_accept_domains +cookie_reject_domains +accept_bad_cookie 0 +accept_cookie 0 +show_cookie 1 +use_cookie 0 +ssl_ca_file +ssl_ca_path +ssl_key_file +ssl_cert_file +ssl_verify_server 0 +ssl_forbid_method +no_cache 0 +noproxy_netaddr 1 +no_proxy +ftp_proxy +https_proxy +http_proxy +use_proxy 1 +max_news 50 +nntpmode +nntpserver +dns_order 0 +meta_refresh 0 +follow_redirection 10 +default_url 0 +retry_http 1 +argv_is_url 0 +accept_media text/html, text/*;q=0.5, image/* +accept_encoding gzip, compress, bzip, bzip2, deflate +accept_language en;q=1.0 +no_referer 0 +user_agent +pre_form_file ~/.w3m/pre_form +ftppass_hostnamegen 1 +ftppasswd +disable_secret_security_check 0 +passwd_file ~/.w3m/passwd +use_lessopen 0 +bgextviewer 1 +extbrowser3 +extbrowser2 +extbrowser /usr/bin/mozilla +mailer /usr/bin/mail +mailto_options 1 +editor /usr/bin/vi +urimethodmap ~/.w3m/urimethodmap, /usr/etc/w3m/urimethodmap +mailcap ~/.w3m/mailcap, /usr/etc/w3m/mailcap +mime_types ~/.mime.types, /usr/etc/mime.types +index_file +cgi_bin +personal_document_root +document_root +keymap_file keymap +preserve_timestamp 1 +auto_uncompress 0 +decode_cte 0 +clear_buffer 1 +ignorecase_search 1 +wrap_search 0 +mark_all_pages 0 +vi_prec_num 0 +emacs_like_lineedit 0 +mark 0 +close_tab_back 0 +confirm_qq 1 +save_hist 1 +history 100 +use_history 1 +pagerline 10000 +visited_color magenta +visited_anchor 0 +active_color cyan +active_style 0 +bg_color terminal +mark_color cyan +form_color red +image_color green +anchor_color blue +basic_color terminal +color 1 +nextpage_topline 0 +label_topline 0 +show_srch_str 1 +show_lnum 0 +fold_line 0 +image_map_list 1 +imgdisplay w3mimgdisplay +image_scale 100 +ext_image_viewer 1 +max_load_image 4 +auto_image 1 +pseudo_inlines 1 +display_image 1 +view_unseenobject 0 +ignore_null_img_alt 1 +display_ins_del 1 +fold_textarea 0 +graphic_char 0 +alt_entity 1 +multicol 0 +dictcommand file:///$LIB/w3mdict.cgi +use_dictcommand 0 +dirlist_cmd file:///$LIB/dirlist.cgi +ext_dirlist 1 +display_lineinfo 0 +decode_url 1 +display_link_number 1 +display_link 1 +open_tab_dl_list 0 +open_tab_blank 0 +target_self 0 +frame 0 +pixel_per_line 17 +pixel_per_char 8 +indent_incr 4 +tabstop 8 diff --git a/weechat/.weechat/alias.conf b/weechat/.weechat/alias.conf new file mode 100644 index 0000000..dc8e9b3 --- /dev/null +++ b/weechat/.weechat/alias.conf @@ -0,0 +1,38 @@ +# +# alias.conf -- weechat v0.3.6 +# + +[cmd] +AAWAY = "allserv /away" +AME = "allchan /me" +AMSG = "allchan /msg *" +ANICK = "allserv /nick" +BYE = "quit" +C = "buffer clear" +CHAT = "dcc chat" +CL = "buffer clear" +CLOSE = "buffer close" +EXIT = "quit" +ident = "msg NickServ identify $*" +IG = "ignore" +J = "join" +K = "kick" +KB = "kickban" +LEAVE = "part" +M = "msg" +MUB = "unban *" +N = "names" +Q = "query" +REDRAW = "window refresh" +SAY = "msg *" +SIGNOFF = "quit" +T = "topic" +UB = "unban" +V = "command core version" +W = "who" +WC = "window merge" +WI = "whois" +WII = "whois $1 $1" +WW = "whowas" + +[completion] diff --git a/weechat/.weechat/irc.conf b/weechat/.weechat/irc.conf new file mode 100644 index 0000000..1e15734 --- /dev/null +++ b/weechat/.weechat/irc.conf @@ -0,0 +1,154 @@ +# +# irc.conf -- weechat v0.3.6 +# + +[look] +buffer_switch_autojoin = on +buffer_switch_join = on +color_nicks_in_names = off +color_nicks_in_nicklist = off +color_nicks_in_server_messages = on +color_pv_nick_like_channel = on +display_away = local +display_ctcp_blocked = on +display_ctcp_reply = on +display_ctcp_unknown = on +display_host_join = on +display_host_join_local = on +display_host_quit = on +display_old_topic = on +display_pv_away_once = on +display_pv_back = on +hide_nickserv_pwd = on +highlight_tags = "irc_privmsg,irc_notice" +item_away_message = on +item_channel_modes = on +item_channel_modes_hide_key = off +item_display_server = buffer_plugin +item_nick_modes = on +item_nick_prefix = on +msgbuffer_fallback = current +new_channel_position = none +new_pv_position = none +nick_color_force = "" +nick_color_stop_chars = "_|[" +nick_completion_smart = speakers +nick_prefix = "" +nick_suffix = "" +notice_as_pv = auto +notify_tags_ison = "notify_message" +notify_tags_whois = "notify_message" +part_closes_buffer = off +raw_messages = 256 +server_buffer = merge_with_core +smart_filter = on +smart_filter_delay = 5 +smart_filter_join = on +smart_filter_nick = on +smart_filter_quit = on +topic_strip_colors = off + +[color] +input_nick = lightcyan +item_away = yellow +item_channel_modes = default +item_lag_counting = default +item_lag_finished = yellow +message_join = green +message_quit = red +nick_prefix = green +nick_prefixes = "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue" +nick_suffix = green +notice = green +reason_quit = default +topic_new = white +topic_old = darkgray + +[network] +autoreconnect_delay_growing = 2 +autoreconnect_delay_max = 1800 +colors_receive = on +colors_send = on +lag_check = 60 +lag_disconnect = 0 +lag_min_show = 500 +lag_refresh_interval = 1 +notify_check_ison = 1 +notify_check_whois = 5 +send_unknown_commands = off + +[msgbuffer] + +[ctcp] + +[ignore] + +[server_default] +addresses = "" +anti_flood_prio_high = 2 +anti_flood_prio_low = 2 +autoconnect = off +autojoin = "" +autoreconnect = on +autoreconnect_delay = 10 +autorejoin = off +autorejoin_delay = 30 +away_check = 0 +away_check_max_nicks = 25 +command = "" +command_delay = 0 +connection_timeout = 60 +default_msg_part = "WeeChat %v" +default_msg_quit = "WeeChat %v" +ipv6 = off +local_hostname = "" +nicks = "slash,slash1,slash2,slash3,slash4" +notify = "" +password = "" +proxy = "" +realname = "" +sasl_mechanism = plain +sasl_password = "" +sasl_timeout = 15 +sasl_username = "" +ssl = off +ssl_cert = "" +ssl_dhkey_size = 2048 +ssl_priorities = "NORMAL" +ssl_verify = on +username = "slash" + +[server] +freenode.addresses = "irc.freenode.net" +freenode.proxy +freenode.ipv6 +freenode.ssl +freenode.ssl_cert +freenode.ssl_priorities +freenode.ssl_dhkey_size +freenode.ssl_verify +freenode.password +freenode.sasl_mechanism +freenode.sasl_username +freenode.sasl_password +freenode.sasl_timeout +freenode.autoconnect = on +freenode.autoreconnect +freenode.autoreconnect_delay +freenode.nicks = "ryuslash" +freenode.username = "ryuslash" +freenode.realname +freenode.local_hostname +freenode.command +freenode.command_delay +freenode.autojoin +freenode.autorejoin +freenode.autorejoin_delay +freenode.connection_timeout +freenode.anti_flood_prio_high +freenode.anti_flood_prio_low +freenode.away_check +freenode.away_check_max_nicks +freenode.default_msg_part +freenode.default_msg_quit +freenode.notify diff --git a/weechat/.weechat/weechat.conf b/weechat/.weechat/weechat.conf new file mode 100644 index 0000000..60ae637 --- /dev/null +++ b/weechat/.weechat/weechat.conf @@ -0,0 +1,512 @@ +# +# weechat.conf -- weechat v0.3.6 +# + +[debug] + +[startup] +command_after_plugins = "" +command_before_plugins = "" +display_logo = on +display_version = on + +[look] +align_end_of_lines = message +bar_more_down = "++" +bar_more_left = "<<" +bar_more_right = ">>" +bar_more_up = "--" +buffer_notify_default = all +buffer_time_format = "%H:%M:%S" +color_basic_force_bold = off +color_inactive_buffer = off +color_inactive_message = on +color_inactive_prefix = on +color_inactive_prefix_buffer = on +color_inactive_time = off +color_inactive_window = off +color_pairs_auto_reset = 5 +color_real_white = off +command_chars = "" +confirm_quit = off +day_change = on +day_change_time_format = "%a, %d %b %Y" +eat_newline_glitch = off +highlight = "" +highlight_regex = "" +highlight_tags = "" +hotlist_add_buffer_if_away = on +hotlist_buffer_separator = ", " +hotlist_count_max = 2 +hotlist_count_min_msg = 2 +hotlist_names_count = 3 +hotlist_names_length = 0 +hotlist_names_level = 12 +hotlist_names_merged_buffers = off +hotlist_short_names = on +hotlist_sort = group_time_asc +hotlist_unique_numbers = on +input_cursor_scroll = 20 +input_share = none +input_share_overwrite = off +input_undo_max = 32 +item_buffer_filter = "*" +item_time_format = "%H:%M" +jump_current_to_previous_buffer = on +jump_previous_buffer_when_closing = on +mouse = off +mouse_timer_delay = 100 +nickmode = on +nickmode_empty = off +paste_max_lines = 3 +prefix_action = " *" +prefix_align = right +prefix_align_max = 0 +prefix_align_min = 0 +prefix_align_more = on +prefix_buffer_align = right +prefix_buffer_align_max = 0 +prefix_buffer_align_more = on +prefix_error = "=!=" +prefix_join = "-->" +prefix_network = "--" +prefix_quit = "<--" +prefix_suffix = "|" +read_marker = line +read_marker_always_show = off +read_marker_string = "- " +save_config_on_exit = on +save_layout_on_exit = none +scroll_amount = 3 +scroll_page_percent = 100 +search_text_not_found_alert = on +separator_horizontal = "-" +separator_vertical = "" +set_title = on +time_format = "%a, %d %b %Y %T" + +[palette] + +[color] +bar_more = lightmagenta +chat = default +chat_bg = default +chat_buffer = white +chat_channel = white +chat_delimiters = green +chat_highlight = yellow +chat_highlight_bg = magenta +chat_host = cyan +chat_inactive_buffer = darkgray +chat_inactive_window = darkgray +chat_nick = lightcyan +chat_nick_colors = "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue" +chat_nick_other = cyan +chat_nick_self = white +chat_prefix_action = white +chat_prefix_buffer = brown +chat_prefix_buffer_inactive_buffer = darkgray +chat_prefix_error = yellow +chat_prefix_join = lightgreen +chat_prefix_more = lightmagenta +chat_prefix_network = magenta +chat_prefix_quit = lightred +chat_prefix_suffix = green +chat_read_marker = magenta +chat_read_marker_bg = default +chat_server = brown +chat_tags = red +chat_text_found = yellow +chat_text_found_bg = lightmagenta +chat_time = default +chat_time_delimiters = brown +chat_value = cyan +input_actions = lightgreen +input_text_not_found = red +nicklist_away = cyan +nicklist_group = green +nicklist_offline = blue +separator = blue +status_count_highlight = magenta +status_count_msg = brown +status_count_other = default +status_count_private = green +status_data_highlight = lightmagenta +status_data_msg = yellow +status_data_other = default +status_data_private = lightgreen +status_filter = green +status_more = yellow +status_name = white +status_name_ssl = lightgreen +status_number = yellow +status_time = default + +[completion] +default_template = "%(nicks)|%(irc_channels)" +nick_add_space = on +nick_completer = ":" +nick_first_only = off +nick_ignore_chars = "[]`_-^" +partial_completion_alert = on +partial_completion_command = off +partial_completion_command_arg = off +partial_completion_count = on +partial_completion_other = off + +[history] +display_default = 5 +max_commands = 100 +max_lines = 4096 +max_visited_buffers = 50 + +[proxy] + +[network] +gnutls_ca_file = "%h/ssl/CAs.pem" +gnutls_handshake_timeout = 30 + +[plugin] +autoload = "*" +debug = off +extension = ".so" +path = "%h/plugins" +save_config_on_unload = on + +[bar] +input.color_bg = default +input.color_delim = cyan +input.color_fg = default +input.conditions = "" +input.filling_left_right = vertical +input.filling_top_bottom = horizontal +input.hidden = off +input.items = "[input_prompt]+(away),[input_search],[input_paste],input_text" +input.position = bottom +input.priority = 1000 +input.separator = off +input.size = 1 +input.size_max = 0 +input.type = window +nicklist.color_bg = default +nicklist.color_delim = cyan +nicklist.color_fg = default +nicklist.conditions = "nicklist" +nicklist.filling_left_right = vertical +nicklist.filling_top_bottom = columns_vertical +nicklist.hidden = off +nicklist.items = "buffer_nicklist" +nicklist.position = right +nicklist.priority = 200 +nicklist.separator = on +nicklist.size = 0 +nicklist.size_max = 0 +nicklist.type = window +status.color_bg = red +status.color_delim = cyan +status.color_fg = default +status.conditions = "" +status.filling_left_right = vertical +status.filling_top_bottom = horizontal +status.hidden = off +status.items = "[time],[buffer_count],[buffer_plugin],buffer_number+:+buffer_name+{buffer_nicklist_count}+buffer_filter,[lag],[hotlist],completion,scroll" +status.position = bottom +status.priority = 500 +status.separator = off +status.size = 1 +status.size_max = 0 +status.type = window +title.color_bg = red +title.color_delim = cyan +title.color_fg = white +title.conditions = "" +title.filling_left_right = vertical +title.filling_top_bottom = horizontal +title.hidden = off +title.items = "buffer_title" +title.position = top +title.priority = 500 +title.separator = off +title.size = 1 +title.size_max = 0 +title.type = window + +[layout] + +[notify] + +[filter] + +[key] +ctrl-? = "/input delete_previous_char" +ctrl-A = "/input move_beginning_of_line" +ctrl-B = "/input move_previous_char" +ctrl-Cb = "/input insert \x02" +ctrl-Cc = "/input insert \x03" +ctrl-Ci = "/input insert \x1D" +ctrl-Co = "/input insert \x0F" +ctrl-Cr = "/input insert \x12" +ctrl-Cu = "/input insert \x15" +ctrl-D = "/input delete_next_char" +ctrl-E = "/input move_end_of_line" +ctrl-F = "/input move_next_char" +ctrl-H = "/input delete_previous_char" +ctrl-I = "/input complete_next" +ctrl-J = "/input return" +ctrl-K = "/input delete_end_of_line" +ctrl-L = "/window refresh" +ctrl-M = "/input return" +ctrl-N = "/buffer +1" +ctrl-P = "/buffer -1" +ctrl-R = "/input search_text" +ctrl-Sctrl-U = "/input set_unread" +ctrl-T = "/input transpose_chars" +ctrl-U = "/input delete_beginning_of_line" +ctrl-W = "/input delete_previous_word" +ctrl-X = "/input switch_active_buffer" +ctrl-Y = "/input clipboard_paste" +meta-meta2-1~ = "/window scroll_top" +meta-meta2-23~ = "/bar scroll nicklist * yb" +meta-meta2-24~ = "/bar scroll nicklist * ye" +meta-meta2-4~ = "/window scroll_bottom" +meta-meta2-5~ = "/window scroll_up" +meta-meta2-6~ = "/window scroll_down" +meta-meta2-7~ = "/window scroll_top" +meta-meta2-8~ = "/window scroll_bottom" +meta-meta2-A = "/buffer -1" +meta-meta2-B = "/buffer +1" +meta-meta2-C = "/buffer +1" +meta-meta2-D = "/buffer -1" +meta-0 = "/buffer *10" +meta-1 = "/buffer *1" +meta-2 = "/buffer *2" +meta-3 = "/buffer *3" +meta-4 = "/buffer *4" +meta-5 = "/buffer *5" +meta-6 = "/buffer *6" +meta-7 = "/buffer *7" +meta-8 = "/buffer *8" +meta-9 = "/buffer *9" +meta-< = "/input jump_previously_visited_buffer" +meta-= = "/filter toggle" +meta-> = "/input jump_next_visited_buffer" +meta-OA = "/input history_global_previous" +meta-OB = "/input history_global_next" +meta-OC = "/input move_next_word" +meta-OD = "/input move_previous_word" +meta-OF = "/input move_end_of_line" +meta-OH = "/input move_beginning_of_line" +meta-Oa = "/input history_global_previous" +meta-Ob = "/input history_global_next" +meta-Oc = "/input move_next_word" +meta-Od = "/input move_previous_word" +meta2-15~ = "/buffer -1" +meta2-17~ = "/buffer +1" +meta2-18~ = "/window -1" +meta2-19~ = "/window +1" +meta2-1;3A = "/buffer -1" +meta2-1;3B = "/buffer +1" +meta2-1;3C = "/buffer +1" +meta2-1;3D = "/buffer -1" +meta2-1;5A = "/input history_global_previous" +meta2-1;5B = "/input history_global_next" +meta2-1~ = "/input move_beginning_of_line" +meta2-20~ = "/bar scroll title * x-50%" +meta2-21~ = "/bar scroll title * x+50%" +meta2-23~ = "/bar scroll nicklist * y-100%" +meta2-24~ = "/bar scroll nicklist * y+100%" +meta2-3~ = "/input delete_next_char" +meta2-4~ = "/input move_end_of_line" +meta2-5;3~ = "/window scroll_up" +meta2-5~ = "/window page_up" +meta2-6;3~ = "/window scroll_down" +meta2-6~ = "/window page_down" +meta2-7~ = "/input move_beginning_of_line" +meta2-8~ = "/input move_end_of_line" +meta2-A = "/input history_previous" +meta2-B = "/input history_next" +meta2-C = "/input move_next_char" +meta2-D = "/input move_previous_char" +meta2-F = "/input move_end_of_line" +meta2-G = "/window page_down" +meta2-H = "/input move_beginning_of_line" +meta2-I = "/window page_up" +meta2-Z = "/input complete_previous" +meta-_ = "/input redo" +meta-a = "/input jump_smart" +meta-b = "/input move_previous_word" +meta-d = "/input delete_next_word" +meta-f = "/input move_next_word" +meta-h = "/input hotlist_clear" +meta-jmeta-l = "/input jump_last_buffer" +meta-jmeta-r = "/server raw" +meta-jmeta-s = "/server jump" +meta-j01 = "/buffer 1" +meta-j02 = "/buffer 2" +meta-j03 = "/buffer 3" +meta-j04 = "/buffer 4" +meta-j05 = "/buffer 5" +meta-j06 = "/buffer 6" +meta-j07 = "/buffer 7" +meta-j08 = "/buffer 8" +meta-j09 = "/buffer 9" +meta-j10 = "/buffer 10" +meta-j11 = "/buffer 11" +meta-j12 = "/buffer 12" +meta-j13 = "/buffer 13" +meta-j14 = "/buffer 14" +meta-j15 = "/buffer 15" +meta-j16 = "/buffer 16" +meta-j17 = "/buffer 17" +meta-j18 = "/buffer 18" +meta-j19 = "/buffer 19" +meta-j20 = "/buffer 20" +meta-j21 = "/buffer 21" +meta-j22 = "/buffer 22" +meta-j23 = "/buffer 23" +meta-j24 = "/buffer 24" +meta-j25 = "/buffer 25" +meta-j26 = "/buffer 26" +meta-j27 = "/buffer 27" +meta-j28 = "/buffer 28" +meta-j29 = "/buffer 29" +meta-j30 = "/buffer 30" +meta-j31 = "/buffer 31" +meta-j32 = "/buffer 32" +meta-j33 = "/buffer 33" +meta-j34 = "/buffer 34" +meta-j35 = "/buffer 35" +meta-j36 = "/buffer 36" +meta-j37 = "/buffer 37" +meta-j38 = "/buffer 38" +meta-j39 = "/buffer 39" +meta-j40 = "/buffer 40" +meta-j41 = "/buffer 41" +meta-j42 = "/buffer 42" +meta-j43 = "/buffer 43" +meta-j44 = "/buffer 44" +meta-j45 = "/buffer 45" +meta-j46 = "/buffer 46" +meta-j47 = "/buffer 47" +meta-j48 = "/buffer 48" +meta-j49 = "/buffer 49" +meta-j50 = "/buffer 50" +meta-j51 = "/buffer 51" +meta-j52 = "/buffer 52" +meta-j53 = "/buffer 53" +meta-j54 = "/buffer 54" +meta-j55 = "/buffer 55" +meta-j56 = "/buffer 56" +meta-j57 = "/buffer 57" +meta-j58 = "/buffer 58" +meta-j59 = "/buffer 59" +meta-j60 = "/buffer 60" +meta-j61 = "/buffer 61" +meta-j62 = "/buffer 62" +meta-j63 = "/buffer 63" +meta-j64 = "/buffer 64" +meta-j65 = "/buffer 65" +meta-j66 = "/buffer 66" +meta-j67 = "/buffer 67" +meta-j68 = "/buffer 68" +meta-j69 = "/buffer 69" +meta-j70 = "/buffer 70" +meta-j71 = "/buffer 71" +meta-j72 = "/buffer 72" +meta-j73 = "/buffer 73" +meta-j74 = "/buffer 74" +meta-j75 = "/buffer 75" +meta-j76 = "/buffer 76" +meta-j77 = "/buffer 77" +meta-j78 = "/buffer 78" +meta-j79 = "/buffer 79" +meta-j80 = "/buffer 80" +meta-j81 = "/buffer 81" +meta-j82 = "/buffer 82" +meta-j83 = "/buffer 83" +meta-j84 = "/buffer 84" +meta-j85 = "/buffer 85" +meta-j86 = "/buffer 86" +meta-j87 = "/buffer 87" +meta-j88 = "/buffer 88" +meta-j89 = "/buffer 89" +meta-j90 = "/buffer 90" +meta-j91 = "/buffer 91" +meta-j92 = "/buffer 92" +meta-j93 = "/buffer 93" +meta-j94 = "/buffer 94" +meta-j95 = "/buffer 95" +meta-j96 = "/buffer 96" +meta-j97 = "/buffer 97" +meta-j98 = "/buffer 98" +meta-j99 = "/buffer 99" +meta-k = "/input grab_key_command" +meta-n = "/window scroll_next_highlight" +meta-p = "/window scroll_previous_highlight" +meta-r = "/input delete_line" +meta-u = "/input scroll_unread" +meta-wmeta-meta2-A = "/window up" +meta-wmeta-meta2-B = "/window down" +meta-wmeta-meta2-C = "/window right" +meta-wmeta-meta2-D = "/window left" +meta-wmeta2-1;3A = "/window up" +meta-wmeta2-1;3B = "/window down" +meta-wmeta2-1;3C = "/window right" +meta-wmeta2-1;3D = "/window left" +meta-wmeta-b = "/window balance" +meta-wmeta-s = "/window swap" +meta-z = "/window zoom" +ctrl-_ = "/input undo" + +[key_search] +ctrl-J = "/input search_stop" +ctrl-M = "/input search_stop" +ctrl-R = "/input search_switch_case" +meta2-A = "/input search_previous" +meta2-B = "/input search_next" + +[key_cursor] +ctrl-J = "/cursor stop" +ctrl-M = "/cursor stop" +meta-meta2-A = "/cursor move area_up" +meta-meta2-B = "/cursor move area_down" +meta-meta2-C = "/cursor move area_right" +meta-meta2-D = "/cursor move area_left" +meta2-1;3A = "/cursor move area_up" +meta2-1;3B = "/cursor move area_down" +meta2-1;3C = "/cursor move area_right" +meta2-1;3D = "/cursor move area_left" +meta2-A = "/cursor move up" +meta2-B = "/cursor move down" +meta2-C = "/cursor move right" +meta2-D = "/cursor move left" +@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}" +@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}" +@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}" +@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop" +@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}" +@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop" +@chat:m = "hsignal:chat_quote_message;/cursor stop" +@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop" + +[key_mouse] +@bar(input):button2 = "/input grab_mouse_area" +@bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%" +@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e" +@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%" +@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b" +@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}" +@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}" +@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}" +@item(buffer_nicklist):button2 = "/window ${_window_number};/whois ${nick}" +@item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}" +@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%" +@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%" +@chat:button1 = "/window ${_window_number}" +@chat:button1-gesture-left = "/window ${_window_number};/buffer -1" +@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1" +@chat:button1-gesture-right = "/window ${_window_number};/buffer +1" +@chat:button1-gesture-right-long = "/window ${_window_number};/input jump_last_buffer" +@chat:wheeldown = "/window scroll_down -window ${_window_number}" +@chat:wheelup = "/window scroll_up -window ${_window_number}" +@*:button3 = "/cursor go ${_x},${_y}" diff --git a/x11/.Xdefaults b/x11/.Xdefaults new file mode 100644 index 0000000..ffa38c6 --- /dev/null +++ b/x11/.Xdefaults @@ -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=16 +urxvt.boldFont: xft:Envy Code R:weight=bold:pixelsize=16 +urxvt.italicFont: xft:Envy Code R:slant=italic:pixelsize=16 + +urxvt.depth: 32 +urxvt.background: #111111 +urxvt.foreground: #bfbfbf + +urxvt.color0: #111111 +urxvt.color8: #3d3d3d + +urxvt.color1: #a87e7e +urxvt.color9: #a82a2a + +urxvt.color2: #87a87e +urxvt.color10: #43a82a + +urxvt.color3: #a0a87e +urxvt.color11: #bfa82a + +urxvt.color4: #7e8fa8 +urxvt.color12: #2a5da8 + +urxvt.color5: #a07ea8 +urxvt.color13: #8f2aa8 + +urxvt.color6: #7ea8a8 +urxvt.color14: #2aa8a8 + +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: #111113 +Emacs.borderWidth: 0 +Emacs.font: Envy Code R-13 +Emacs.foreground: #eeeeec +Emacs.internalBorder: 0 +Emacs.paneFont: Envy Code R-13 +Emacs.pointerColor: #eeeeec +Emacs*menu*font: Envy Code R-13 +Emacs*menu*foreground: #eeeeec +Emacs*menu*background: #222224 +Emacs*menu*buttonForeground: #a5a5a4 +Emacs*menu*verticalSpacing: 0 +Emacs*menu*shadowThickness: 1 +Emacs*menu*margin: 0 +Emacs.pane.menubar.translations: #override\ + Ctrl n: down()\n\ + Ctrl p: up()\n\ + Ctrl f: right()\n\ + Ctrl 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\ +} diff --git a/x11/.Xmodmap b/x11/.Xmodmap new file mode 100644 index 0000000..15f66e7 --- /dev/null +++ b/x11/.Xmodmap @@ -0,0 +1,5 @@ +pointer = 3 2 1 + +remove Mod5 = ISO_Level3_Shift +keycode 108 = Alt_L +add Mod1 = Alt_L diff --git a/x11/.xinitrc b/x11/.xinitrc new file mode 100755 index 0000000..eb49aae --- /dev/null +++ b/x11/.xinitrc @@ -0,0 +1,20 @@ +#!/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 + +emacs --daemon & +redshift -l 51.1180:4.0012 & +unclutter & +feh --bg-tile ~/pictures/wallpapers/wallpaper-864137.jpg +$HOME/dzen.sh & + +test -n "$1" && wm=$1 || wm="notion" +exec $wm diff --git a/x11/.xsession b/x11/.xsession new file mode 100755 index 0000000..8f554c5 --- /dev/null +++ b/x11/.xsession @@ -0,0 +1,3 @@ +#!/bin/bash + +exec /bin/bash --login -i "$HOME/.xinitrc" diff --git a/xbindkeys/.xbindkeysrc.scm b/xbindkeys/.xbindkeysrc.scm new file mode 100644 index 0000000..509a130 --- /dev/null +++ b/xbindkeys/.xbindkeysrc.scm @@ -0,0 +1,220 @@ +;;;_ Import +(use-modules (ice-9 popen) + (ice-9 rdelim) + (srfi srfi-19)) + +;;;_ Variables +(define browser (getenv "BROWSER")) +(define dmenu-cmd "dmenu") +(define dzen-cmd "dzen2") +(define dzen-pipe '()) +(define editor (getenv "EDITOR")) +(define modkey 'mod4) +(define prefix '(control i)) +(define terminal "urxvt") +(define date-format "~a ~d ~b ~Y ~H:~M") +(define previous-tag '()) +(define current-tag "default") + +(define dmenu-font + "-misc-tamsyn-medium-r-normal-*-14-*-*-*-*-*-iso8859-*") + +(define dmenu-args + (string-append + "-b -nb '#000000' -nf '#15abc3' -sb '#e0c625' -sf '#000000' -fn '" + dmenu-font "'")) + +(define dzen-font + "-misc-tamsyn-medium-r-normal-*-17-*-*-*-*-*-iso8859-*") + +(define dzen-args + (string-append " -fn '" dzen-font + "' -x 5 -y 5 -bg '#000000' -fg '#15abc3'")) + +;;;_ Functions +(define (get-tags) + "Get a list of tags" + (let* ((file (open-input-pipe + "TAGS=( $(herbstclient tag_status 0 | tr \":\\!.+#\" \" \") ); echo ${TAGS[@]}")) + (tags (string-split (read-line file) #\ ))) + (close-port file) + (set! tags (delete current-tag tags)) + (set! tags (delete previous-tag tags)) + (if (not (null? previous-tag)) + (append `(,previous-tag) (append tags `(,current-tag))) + (append tags `(,current-tag))))) + +(define (choose-tag prompt tags) + "Ask to choose a tag" + (let* ((file (open-input-pipe + (string-append "echo '" (string-join tags "\n") + "' | " dmenu-cmd " " dmenu-args " -p '" prompt ":'"))) + (tag (read-line file))) + (close-port file) + tag)) + +(define (switch-to-tag tag) + (let ((tags (get-tags))) + (if (string? tag) + (begin + (if (not (member tag tags)) + (system (string-append "herbstclient add " tag))) + (set! previous-tag current-tag) + (set! current-tag tag) + (run-command (string-append "herbstclient use " tag)))))) + +(define (switch-tags) + "Switch to another tag" + (let* ((tags (get-tags)) + (tag (choose-tag "Switch to tag" tags))) + (switch-to-tag tag) + (reset-first-binding))) + +;; (define (switch-and-run) +;; "Ask for a command to run, switch to a tag with that name and run +;; the command." +;; (let* ((file (open-input-pipe +;; (string-append "dmenu_pick -p 'Run:' " dmenu-args))) +;; (prog (read-line file))) +;; (close-port file) +;; (if (string? prog) +;; (begin +;; (switch-to-tag prog) +;; (run-command prog))) +;; (reset-first-binding))) + +(define (kill-tag) + "Kill a selected tag" + (let* ((tags (get-tags)) + (tag (choose-tag "Kill tag" tags))) + (if (string? tag) + (begin + (if (member tag tags) + (run-command (string-append "herbstclient merge_tag " tag))))) + (reset-first-binding))) + +(define (move-to-tag) + "Move selected window to another tag" + (let* ((tags (get-tags)) + (tag (choose-tag "Move to tag" tags))) + (if (string? tag) + (begin + (if (not (member tag tags)) + (system (string-append "herbstclient add " tag))) + (run-command (string-append "herbstclient move " tag)))) + (reset-first-binding))) + +(define (text-width font text) + (let* ((pipe (open-input-pipe (string-append "textwidth '" font "' '" text "'"))) + (width (read-line pipe))) + (close-port pipe) + (if (string? width) + (string->number width) + -1))) + +(define (gui-print text) + (close-gui-window) + (let ((width (+ (text-width dzen-font text) 10))) + (set! dzen-pipe (open-output-pipe + (string-append dzen-cmd " -w " (number->string width) + " " dzen-args)))) + (display text dzen-pipe) + (newline dzen-pipe)) + +(define (close-gui-window) + (if (and (not (null? dzen-pipe)) + (not (port-closed? dzen-pipe))) + (close-pipe dzen-pipe) + (set! dzen-pipe '()))) + +(define (notify msg) + (run-command (string-append "notify-send \"" msg "\""))) + +(define (reset-first-binding) + "reset first binding" + (ungrab-all-keys) + (remove-all-keys) + (first-binding) + (grab-all-keys)) + +(define (run-terminal) + "Run the specified terminal program." + (run-command terminal) + (reset-first-binding)) + +(define (run-browser) + "Run the specified browser." + (run-command browser) + (reset-first-binding)) + +(define (run-editor) + "Run the specified terminal editor." + (run-command editor) + (reset-first-binding)) + +(define (banish) + "Banish the mouse cursor to the bottom-right corner of the screen." + (run-command "xte 'mousemove 4000 1100'") + (reset-first-binding)) + +(define (showtime) + "Show the time." + (notify (date->string (current-date) date-format)) + (reset-first-binding)) + +(define (exec) + "Run a program." + (run-command (string-append "dmenu_run -p 'Run:' " dmenu-args)) + (reset-first-binding)) + +(define (first-binding) + "First binding" + (xbindkey-function prefix second-binding) + (xbindkey '(control mod1 l) "i3lock -c 000000") + (xbindkey `(,modkey period) "herbstclient cycle_monitor 1") + (xbindkey `(,modkey comma) "herbstclient cycle_monitor -1") + (xbindkey `(,modkey s) "herbstclient split vertical 0.5") + (xbindkey `(,modkey shift s) "herbstclient split horizontal 0.5") + (xbindkey `(,modkey q) "herbstclient remove") + (xbindkey `(,modkey o) "herbstclient cycle_all") + (xbindkey `(,modkey control b) "herbstclient resize left +0.05") + (xbindkey `(,modkey control n) "herbstclient resize down +0.05") + (xbindkey `(,modkey control p) "herbstclient resize up +0.05") + (xbindkey `(,modkey control f) "herbstclient resize right +0.05") + (xbindkey `(,modkey b) "herbstclient focus left") + (xbindkey `(,modkey n) "herbstclient focus down") + (xbindkey `(,modkey p) "herbstclient focus up") + (xbindkey `(,modkey f) "herbstclient focus right") + (xbindkey `(,modkey shift b) "herbstclient shift left") + (xbindkey `(,modkey shift n) "herbstclient shift down") + (xbindkey `(,modkey shift p) "herbstclient shift up") + (xbindkey `(,modkey shift f) "herbstclient shift right") + (xbindkey `(,modkey space) "herbstclient cycle_layout 1") + (xbindkey '(XF86AudioPlay) "mpc toggle") + (xbindkey '(XF86AudioStop) "mpc stop") + (xbindkey '(XF86AudioMute) "amixer sset Master toggle") + (xbindkey '(XF86AudioLowerVolume) "mcp volume -5") + (xbindkey '(XF86AudioRaiseVolume) "mcp volume +5") + (xbindkey '(XF86AudioPrev) "mpc prev") + (xbindkey '(XF86AudioNext) "mpc next") + (xbindkey `(,modkey k) "herbstclient close") + (xbindkey `(,modkey Escape) "~/.config/herbstluftwm/panel.sh")) + +(define (second-binding) + "Second binding" + (ungrab-all-keys) + (remove-all-keys) + (xbindkey-function 'c run-terminal) + (xbindkey-function 'e run-editor) + (xbindkey-function 'w run-browser) + (xbindkey-function 'z banish) + (xbindkey-function 'a showtime) + (xbindkey-function '(shift "1") exec) + (xbindkey-function '(control g) reset-first-binding) + (xbindkey-function '(b) switch-tags) + (xbindkey-function '(k) kill-tag) + (xbindkey-function '(m) move-to-tag) + (grab-all-keys)) + +;;;_ Main +(first-binding) diff --git a/xmonad/.gitignore b/xmonad/.gitignore deleted file mode 100644 index 11a024e..0000000 --- a/xmonad/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.o -xmonad-x86_64-linux -xmonad.hi diff --git a/xmonad/.xmonad/.gitignore b/xmonad/.xmonad/.gitignore new file mode 100644 index 0000000..11a024e --- /dev/null +++ b/xmonad/.xmonad/.gitignore @@ -0,0 +1,3 @@ +*.o +xmonad-x86_64-linux +xmonad.hi diff --git a/xmonad/.xmonad/xmonad.hs b/xmonad/.xmonad/xmonad.hs new file mode 100644 index 0000000..617ab53 --- /dev/null +++ b/xmonad/.xmonad/xmonad.hs @@ -0,0 +1,59 @@ +-- +-- It overrides a few basic settings, reusing all other defaults. +-- + +import XMonad +import XMonad.Actions.WindowGo +import XMonad.Hooks.FadeInactive +import XMonad.Hooks.ManageDocks +import XMonad.Hooks.ManageHelpers +import XMonad.Util.EZConfig + +import qualified XMonad.StackSet as W + +myLogHook :: X () +myLogHook = fadeOutLogHook fadeRules + +fadeRules :: Query Rational +fadeRules = do + fullscreen <- isFullscreen + conkeror <- className =? "Conkeror" + chromium <- className =? "Chromium" + mplayer <- className =? "MPlayer" + return $ case () of _ | fullscreen -> 1 + | conkeror -> 0.95 + | chromium -> 1 + | mplayer -> 1 + | otherwise -> 0.9 + +main = xmonad $ defaultConfig + { terminal = "urxvt" + , focusFollowsMouse = False + , clickJustFocuses = False + , modMask = mod4Mask + , layoutHook = avoidStruts $ layoutHook defaultConfig + , logHook = myLogHook + , manageHook = manageHook defaultConfig <+> manageDocks } + `additionalKeysP` + [ + ("C-z ,", screenWorkspace 0 >>= flip whenJust (windows . W.view)), + ("C-z .", screenWorkspace 1 >>= flip whenJust (windows . W.view)), + ("C-z S-c", spawn "urxvt"), + ("C-z S-e", spawn "editor"), + ("C-z c", runOrRaiseNext "urxvt" (className =? "URxvt")), + ("C-z e", runOrRaiseNext "editor" (className =? "Emacs")), + ("C-z w", runOrRaiseNext "conkeror" (className =? "Conkeror")), + ("M-S-1", spawn "dmenu_run"), + ("M-n", windows W.focusDown), + ("M-p", windows W.focusUp), + ("M1-C-l", spawn "i3lock -c 000000"), + ("", spawn "mpc toggle"), + ("", spawn "mcp stop"), + ("", spawn "amixer sset Master toggle"), + ("", spawn "mpc volume -5"), + ("", spawn "mpc volume +5"), + ("", spawn "mpc prev"), + ("", spawn "mpc next") + ] + `removeKeysP` + [ ("M-j"), ("M-k") ] diff --git a/xmonad/Makefile b/xmonad/Makefile deleted file mode 100644 index 9b8d3c3..0000000 --- a/xmonad/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -DESTDIR := $(DESTDIR)/.xmonad -objects=xmonad-x86_64-linux xmonad.hs - -GHC := ghc - -include ../dotfiles.mk - -xmonad-x86_64-linux: xmonad.hs - $(GHC) --make $^ -i -ilib -fforce-recomp -main-is main -v0 -o $@ -install-xmonad-x86_64-linux: MODE=744 diff --git a/xmonad/xmonad.hs b/xmonad/xmonad.hs deleted file mode 100644 index 617ab53..0000000 --- a/xmonad/xmonad.hs +++ /dev/null @@ -1,59 +0,0 @@ --- --- It overrides a few basic settings, reusing all other defaults. --- - -import XMonad -import XMonad.Actions.WindowGo -import XMonad.Hooks.FadeInactive -import XMonad.Hooks.ManageDocks -import XMonad.Hooks.ManageHelpers -import XMonad.Util.EZConfig - -import qualified XMonad.StackSet as W - -myLogHook :: X () -myLogHook = fadeOutLogHook fadeRules - -fadeRules :: Query Rational -fadeRules = do - fullscreen <- isFullscreen - conkeror <- className =? "Conkeror" - chromium <- className =? "Chromium" - mplayer <- className =? "MPlayer" - return $ case () of _ | fullscreen -> 1 - | conkeror -> 0.95 - | chromium -> 1 - | mplayer -> 1 - | otherwise -> 0.9 - -main = xmonad $ defaultConfig - { terminal = "urxvt" - , focusFollowsMouse = False - , clickJustFocuses = False - , modMask = mod4Mask - , layoutHook = avoidStruts $ layoutHook defaultConfig - , logHook = myLogHook - , manageHook = manageHook defaultConfig <+> manageDocks } - `additionalKeysP` - [ - ("C-z ,", screenWorkspace 0 >>= flip whenJust (windows . W.view)), - ("C-z .", screenWorkspace 1 >>= flip whenJust (windows . W.view)), - ("C-z S-c", spawn "urxvt"), - ("C-z S-e", spawn "editor"), - ("C-z c", runOrRaiseNext "urxvt" (className =? "URxvt")), - ("C-z e", runOrRaiseNext "editor" (className =? "Emacs")), - ("C-z w", runOrRaiseNext "conkeror" (className =? "Conkeror")), - ("M-S-1", spawn "dmenu_run"), - ("M-n", windows W.focusDown), - ("M-p", windows W.focusUp), - ("M1-C-l", spawn "i3lock -c 000000"), - ("", spawn "mpc toggle"), - ("", spawn "mcp stop"), - ("", spawn "amixer sset Master toggle"), - ("", spawn "mpc volume -5"), - ("", spawn "mpc volume +5"), - ("", spawn "mpc prev"), - ("", spawn "mpc next") - ] - `removeKeysP` - [ ("M-j"), ("M-k") ] diff --git a/zathura/.config/zathura/zathurarc b/zathura/.config/zathura/zathurarc new file mode 100644 index 0000000..5066895 --- /dev/null +++ b/zathura/.config/zathura/zathurarc @@ -0,0 +1,7 @@ +map scroll full-up +map scroll down +map scroll up +map scroll right +map scroll left + +set guioptions cs diff --git a/zile/.zile b/zile/.zile new file mode 100644 index 0000000..76abb70 --- /dev/null +++ b/zile/.zile @@ -0,0 +1,5 @@ +;; -*- mode: lisp; -*- +(setq inhibit-splash-screen t) +(setq tab-width 4) +(setq indent-tabs-mode nil) +(setq backup-directory "/tmp") diff --git a/zsh/.bash_profile b/zsh/.bash_profile new file mode 120000 index 0000000..c1abe3f --- /dev/null +++ b/zsh/.bash_profile @@ -0,0 +1 @@ +.zprofile \ No newline at end of file diff --git a/zsh/.zprofile b/zsh/.zprofile new file mode 100644 index 0000000..4a74a84 --- /dev/null +++ b/zsh/.zprofile @@ -0,0 +1,15 @@ +export BROWSER=conkeror +export EDITOR="emacsclient -c -a emacs" + +PATH="$HOME/usr/bin:$PATH" +export PATH + +INFOPATH="$HOME/documents/info:$INFOPATH" +INFOPATH="$HOME/.emacs.d/vendor-lisp/org/doc:$INFOPATH" +INFOPATH="$INFOPATH:/usr/share/info" +INFOPATH="$INFOPATH:/usr/local/share/info" +export INFOPATH + +if [ -z "$SSH_AGENT_PID" ]; then + eval `ssh-agent` +fi diff --git a/zsh/.zsh/.gitignore b/zsh/.zsh/.gitignore new file mode 100644 index 0000000..b9fd690 --- /dev/null +++ b/zsh/.zsh/.gitignore @@ -0,0 +1 @@ +histfile diff --git a/zsh/.zsh/functions/add-to-list b/zsh/.zsh/functions/add-to-list new file mode 100644 index 0000000..18720e0 --- /dev/null +++ b/zsh/.zsh/functions/add-to-list @@ -0,0 +1,10 @@ +# -*- mode: sh; -*- +if [[ ! "${(P)${1}}" =~ (^|:)"$2"(:|$) ]]; then + if [ -n "$3" ]; then + # Append + typeset -g $1="${(P)${1}}:$2" + else + # Prepend + typeset -g $1="$2:${(P)${1}}" + fi +fi diff --git a/zsh/.zsh/functions/env b/zsh/.zsh/functions/env new file mode 100644 index 0000000..a79fd5d --- /dev/null +++ b/zsh/.zsh/functions/env @@ -0,0 +1,3 @@ +# -*- mode: shell-script -*- + +/usr/bin/env "$@" | grep -v \^LESS_TERMCAP_ diff --git a/zsh/.zsh/functions/venv b/zsh/.zsh/functions/venv new file mode 100644 index 0000000..03ec83d --- /dev/null +++ b/zsh/.zsh/functions/venv @@ -0,0 +1,15 @@ +# -*- mode: sh; -*- +if [ "${#}" -eq 1 ]; then + local venv_activate="$HOME/.virtualenv/$1/bin/activate" + + if [ -r "$venv_activate" ]; then + source $venv_activate + else + echo "$1 is not a know virtual environment" + fi +else + echo "Virtual environments: " + for itm in ~/.virtualenv/*; do + echo " $(basename $itm)" + done +fi diff --git a/zsh/.zshrc b/zsh/.zshrc new file mode 100644 index 0000000..d4fb2ad --- /dev/null +++ b/zsh/.zshrc @@ -0,0 +1,126 @@ +# -*- 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 AUTO_CD +setopt AUTO_PUSHD +setopt CORRECT +setopt EXTENDED_GLOB +setopt NOTIFY +setopt PROMPT_SUBST # Allow for functions in the prompt + +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 + +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_HIGHLIGHTERS=(main brackets) + + ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=red' + ZSH_HIGHLIGHT_STYLES[builtin]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[function]='fg=blue' + ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=blue' + ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=blue' + ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[assign]='fg=yellow' + + ZSH_HIGHLIGHT_STYLES[bracket-level-1]='fg=red' + ZSH_HIGHLIGHT_STYLES[bracket-level-2]='fg=yellow' + ZSH_HIGHLIGHT_STYLES[bracket-level-3]='fg=green' + ZSH_HIGHLIGHT_STYLES[bracket-level-4]='fg=cyan' + ZSH_HIGHLIGHT_STYLES[bracket-level-5]='fg=blue' + ZSH_HIGHLIGHT_STYLES[bracket-level-6]='fg=magenta' +fi + +compinit +colors # Initialize colors. -- cgit v1.3-2-g0d8e