diff --git a/.Xresources b/.Xresources index 49d1b299..ba448fd9 100644 --- a/.Xresources +++ b/.Xresources @@ -16,17 +16,32 @@ !!URxvt !!------------------------------------------------------------------------------ +! URxvt*modifier: alt URxvt*saveLines: 1000 URxvt*scrollBar: false +!! Plugins +!! clipboard and keyboard-select are not provided by default. +URxvt.perl-ext-common : default,matcher,keyboard-select,clipboard + +! URxvt.keysym.M-v: perl:clipboard:paste +! URxvt.keysym.M-C-v: perl:clipboard:paste_escaped + +!! Keyboard-Select +URxvt.keysym.M-Escape: perl:keyboard-select:activate +! URxvt.keysym.M-s: perl:keyboard-select:search + !! URL Support -URxvt.perl-ext-common : default,matcher URxvt.matcher.button : 1 URxvt.keysym.C-Delete : perl:matcher:last URxvt.keysym.M-Delete : perl:matcher:list URxvt.urlLauncher : luakit URxvt.underlineURLs : true + +URxvt*keysym.M-Left: \033[1;3D + + !! Font ! URxvt*letterSpace: -1 diff --git a/.arch-pkg-aur-zeus b/.arch-pkg-aur-zeus index f8250aa0..bddfe203 100644 --- a/.arch-pkg-aur-zeus +++ b/.arch-pkg-aur-zeus @@ -12,4 +12,6 @@ pacman-color rxvt-unicode-patched trash-cli urlview +urxvt-clipboard +urxvt-keyboard-select yaourt diff --git a/.arch-pkg-explicit-zeus b/.arch-pkg-explicit-zeus index adc9dde2..1e25522f 100644 --- a/.arch-pkg-explicit-zeus +++ b/.arch-pkg-explicit-zeus @@ -38,6 +38,7 @@ diffutils dosfstools dropbox dropbox-cli +dtach e2fsprogs emacs-lua-mode emacs-mediawiki-bzr @@ -162,6 +163,8 @@ tree unrar unzip urlview +urxvt-clipboard +urxvt-keyboard-select usbutils util-linux valgrind diff --git a/.arch-pkg-official-zeus b/.arch-pkg-official-zeus index 0b8dbf65..02b01057 100644 --- a/.arch-pkg-official-zeus +++ b/.arch-pkg-official-zeus @@ -67,6 +67,7 @@ docbook-xml docbook-xsl dosfstools dri2proto +dtach e2fsprogs eject elfutils diff --git a/.emacs b/.emacs index c639c19f..f9e3e9c8 100644 --- a/.emacs +++ b/.emacs @@ -219,12 +219,12 @@ (interactive) (select-window (previous-window))) -(global-set-key (kbd "M-") 'select-next-window) -(global-set-key (kbd "M-") 'select-previous-window) -;; (global-set-key (kbd "M-") 'select-next-window) -;; (global-set-key (kbd "M-") 'select-previous-window) -(global-set-key (kbd "M-") 'previous-buffer) -(global-set-key (kbd "M-") 'next-buffer) +(global-set-key (kbd "C-") 'select-next-window) +(global-set-key (kbd "C-") 'select-previous-window) +;; (global-set-key (kbd "M-") 'previous-buffer) +;; (global-set-key (kbd "M-") 'next-buffer) +;; (global-set-key [?\e ] 'previous-buffer) +;; (global-set-key (kbd "C-M-") 'next-buffer) ;;============================================================================== diff --git a/.irssi/config b/.irssi/config new file mode 100644 index 00000000..825771e3 --- /dev/null +++ b/.irssi/config @@ -0,0 +1,277 @@ +servers = ( + { address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; }, + { address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; }, + { address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; }, + { + address = "irc.undernet.org"; + chatnet = "Undernet"; + port = "6667"; + }, + { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; }, + { + address = "irc.quakenet.org"; + chatnet = "QuakeNet"; + port = "6667"; + }, + { address = "irc.oftc.net"; chatnet = "OFTC"; port = "6667"; }, + { + address = "irc.gamesurge.net"; + chatnet = "GameSurge"; + port = "6667"; + }, + { address = "irc.webchat.org"; chatnet = "WebChat"; port = "6667"; }, + { address = "irc.rizon.net"; chatnet = "Rizon"; port = "6667"; }, + { address = "irc.link-net.org"; chatnet = "LinkNet"; port = "6667"; }, + { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }, + { + address = "irc.freenode.net"; + chatnet = "freenode"; + port = "6697"; + use_ssl = "yes"; + ssl_verify = "yes"; + ssl_capath = "/etc/ssl/certs"; + autoconnect = "yes"; + } +); + +chatnets = { + IRCnet = { + type = "IRC"; + max_kicks = "4"; + max_msgs = "5"; + max_whois = "4"; + max_query_chans = "5"; + }; + EFNet = { + type = "IRC"; + max_kicks = "4"; + max_msgs = "3"; + max_whois = "1"; + }; + Undernet = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "3"; + max_whois = "30"; + }; + DALnet = { + type = "IRC"; + max_kicks = "4"; + max_msgs = "3"; + max_whois = "30"; + }; + QuakeNet = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "3"; + max_whois = "30"; + }; + OFTC = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "3"; + max_whois = "30"; + }; + GameSurge = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "3"; + max_whois = "30"; + }; + WebChat = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "3"; + max_whois = "30"; + }; + Rizon = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "3"; + max_whois = "30"; + }; + LinkNet = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "3"; + max_whois = "30"; + }; + SILC = { type = "SILC"; }; + freenode = { type = "IRC"; }; +}; + +channels = ( + { name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; }, + { name = "silc"; chatnet = "silc"; autojoin = "No"; } +); + +aliases = { + J = "join"; + WJOIN = "join -window"; + WQUERY = "query -window"; + LEAVE = "part"; + BYE = "quit"; + EXIT = "quit"; + SIGNOFF = "quit"; + DESCRIBE = "action"; + DATE = "time"; + HOST = "userhost"; + LAST = "lastlog"; + SAY = "msg *"; + WI = "whois"; + WII = "whois $0 $0"; + WW = "whowas"; + W = "who"; + N = "names"; + M = "msg"; + T = "topic"; + C = "clear"; + CL = "clear"; + K = "kick"; + KB = "kickban"; + KN = "knockout"; + BANS = "ban"; + B = "ban"; + MUB = "unban *"; + UB = "unban"; + IG = "ignore"; + UNIG = "unignore"; + SB = "scrollback"; + UMODE = "mode $N"; + WC = "window close"; + WN = "window new hide"; + SV = "say Irssi $J ($V) - http://irssi.org/"; + GOTO = "sb goto"; + CHAT = "dcc chat"; + RUN = "SCRIPT LOAD"; + CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi"; + SBAR = "STATUSBAR"; + INVITELIST = "mode $C +I"; + Q = "QUERY"; + "MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save"; + EXEMPTLIST = "mode $C +e"; + ATAG = "WINDOW SERVER"; + UNSET = "set -clear"; + RESET = "set -default"; +}; + +statusbar = { + # formats: + # when using {templates}, the template is shown only if it's argument isn't + # empty unless no argument is given. for example {sb} is printed always, + # but {sb $T} is printed only if $T isn't empty. + + items = { + # start/end text in statusbars + barstart = "{sbstart}"; + barend = "{sbend}"; + + topicbarstart = "{topicsbstart}"; + topicbarend = "{topicsbend}"; + + # treated "normally", you could change the time/user name to whatever + time = "{sb $Z}"; + user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}"; + + # treated specially .. window is printed with non-empty windows, + # window_empty is printed with empty windows + window = "{sb $winref:$tag/$itemname{sbmode $M}}"; + window_empty = "{sb $winref{sbservertag $tag}}"; + prompt = "{prompt $[.15]itemname}"; + prompt_empty = "{prompt $winname}"; + topic = " $topic"; + topic_empty = " Irssi v$J - http://www.irssi.org"; + + # all of these treated specially, they're only displayed when needed + lag = "{sb Lag: $0-}"; + act = "{sb Act: $0-}"; + more = "-- more --"; + }; + + # there's two type of statusbars. root statusbars are either at the top + # of the screen or at the bottom of the screen. window statusbars are at + # the top/bottom of each split window in screen. + default = { + # the "default statusbar" to be displayed at the bottom of the window. + # contains all the normal items. + window = { + disabled = "no"; + + # window, root + type = "window"; + # top, bottom + placement = "bottom"; + # number + position = "1"; + # active, inactive, always + visible = "active"; + + # list of items in statusbar in the display order + items = { + barstart = { priority = "100"; }; + time = { }; + user = { }; + window = { }; + window_empty = { }; + lag = { priority = "-1"; }; + act = { priority = "10"; }; + more = { priority = "-1"; alignment = "right"; }; + barend = { priority = "100"; alignment = "right"; }; + }; + }; + + # statusbar to use in inactive split windows + window_inact = { + type = "window"; + placement = "bottom"; + position = "1"; + visible = "inactive"; + items = { + barstart = { priority = "100"; }; + window = { }; + window_empty = { }; + more = { priority = "-1"; alignment = "right"; }; + barend = { priority = "100"; alignment = "right"; }; + }; + }; + + # we treat input line as yet another statusbar :) It's possible to + # add other items before or after the input line item. + prompt = { + type = "root"; + placement = "bottom"; + # we want to be at the bottom always + position = "100"; + visible = "always"; + items = { + prompt = { priority = "-1"; }; + prompt_empty = { priority = "-1"; }; + # treated specially, this is the real input line. + input = { priority = "10"; }; + }; + }; + + # topicbar + topic = { + type = "root"; + placement = "top"; + position = "1"; + visible = "always"; + items = { + topicbarstart = { priority = "100"; }; + topic = { }; + topic_empty = { }; + topicbarend = { priority = "100"; alignment = "right"; }; + }; + }; + }; +}; +settings = { + core = { + real_name = "P. Neidhardt"; + user_name = "Ambrevar"; + nick = "Ambrevar"; + }; + "fe-text" = { actlist_sort = "refnum"; term_force_colors = "yes"; }; + "fe-common/core" = { completion_auto = "yes"; }; +}; diff --git a/.save b/.save index 9d610c03..0b8abdc9 100755 --- a/.save +++ b/.save @@ -162,6 +162,9 @@ FILELIST=(${FILELIST[*]} ".gnupg/gpg-agent.conf") FILELIST=(${FILELIST[*]} ".gtkrc-2.0") FILELIST=(${FILELIST[*]} ".config/gtk-3.0/settings.ini") +## Irssi +FILELIST=(${FILELIST[*]} ".irssi") + ## Luakit FILELIST=(${FILELIST[*]} ".config/luakit/") diff --git a/.shell.d/alias_rc b/.shell.d/alias_rc index 0b25c886..788e5303 100644 --- a/.shell.d/alias_rc +++ b/.shell.d/alias_rc @@ -42,7 +42,7 @@ alias lx='ls -lXh --group-directories-first' # sort by extension # Misc alias cp="cp -i" # confirm before overwriting something -alias xmx='xrdb -merge ~/.Xresources' +alias xlx='xrdb -load ~/.Xresources' alias grep='grep --color=auto' ## Emacs diff --git a/.shell.d/keys_zsh b/.shell.d/keys_zsh index fd4285f4..8cc58709 100644 --- a/.shell.d/keys_zsh +++ b/.shell.d/keys_zsh @@ -35,16 +35,15 @@ if isShell "zsh"; then bindkey -e # Emacs bindings - -## Set '/' as a word delimiter. + ## Set '/' as a word delimiter. autoload -U select-word-style select-word-style bash -## ??? -# typeset -g -A key + ## ??? + # typeset -g -A key -## For non RH/Debian xterm, can't hurt for RH/Debian xterm. - if [ "xterm" = "$TERM" ]; then + ## Note that double brackets are needed to expand wildcards properly. + if [[ $TERM = *xterm* ]] ; then bindkey "\e[3~" delete-char bindkey "\e[1;5D" backward-word bindkey "\e[1;5C" forward-word @@ -54,6 +53,17 @@ if isShell "zsh"; then bindkey "\e[Z" reverse-menu-complete # Shift+Tab fi + if [[ $TERM = *rxvt* ]] ; then + bindkey "\e[3~" delete-char + bindkey "\eOd" backward-word + bindkey "\eOc" forward-word + bindkey "\e[7~" beginning-of-line + bindkey "\e[8~" end-of-line + + bindkey "\e[Z" reverse-menu-complete # Shift+Tab + fi + + ## For rxvt. # bindkey "\e[7~" beginning-of-line # Home # bindkey "\e[8~" end-of-line # End diff --git a/.shell.d/main_rc b/.shell.d/main_rc index 38ad3f24..3e5a0119 100644 --- a/.shell.d/main_rc +++ b/.shell.d/main_rc @@ -12,7 +12,9 @@ umask 027 export PATH=.:$PATH ## Terminal -export TERM=xterm +# if [[ "$TERM" = "*rxvt*" ]]; then +# export TERM="rxvt-unicode" +# fi ## Make 'less' more friendly for non-text input files, see lesspipe(1). [ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"