Committed most of the home config files.

master
Ambrevar 2012-06-15 15:54:02 +01:00
parent f6c5637c0d
commit ffa6b50281
66 changed files with 9013 additions and 0 deletions

88
.Xresources Normal file
View File

@ -0,0 +1,88 @@
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Xresources
!! 2011-10-25
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! vim:nu:ai:si:et:ts=4:sw=4:ft=xdefaults:
! Commands : xfontsel
! Colors : LightYellow Black
!xterm*background: black
!xterm*faceName:terminus
!xterm*faceSize:8
!xterm*font:-*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*
! -------------------------------------------------
! terminal colors
! -------------------------------------------------
!tangoesque scheme
!*background: #111111
!*background: #000000
! *foreground: #babdb6
!Black (not tango) + DarkGrey
! *color0: #000000
! *color8: #555753
! DarkRed + Red
! *color1: #ff6565
! *color9: #ff8d8d
! DarkGreen + Green
! *color2: #93d44f
! *color10: #c8e7a8
! DarkYellow + Yellow
! *color3: #eab93d
! *color11: #ffc123
! DarkBlue + Blue
! *color4: #204a87
! *color12: #3465a4
! DarkMangenta + Mangenta
! *color5: #ce5c00
! *color13: #f57900
!DarkCyan + Cyan (both not tango)
! *color6: #89b6e2
! *color14: #46a4ff
! LightGrey + White
! *color7: #cccccc
! *color15: #ffffff
!
!=================
! Urxvt
!=================
urxvt*background: black
urxvt*foreground: white
urxvt*saveLines: 10000
URxvt.font: xft:DejaVu Sans Mono:pixelsize=12
! URxvt.font: -*-dina-medium-r-*-*-16-*-*-*-*-*-*-*
! URxvt.font: xft:monaco:size=10
urxvt*scrollBar:false
URxvt.perl-ext: default,url-select,tabbed
! URxvt.perl-ext-common:
URxvt.keysym.M-u: perl:url-select:select_next
URxvt.urlLauncher: luakit
URxvt.underlineURLs: true
! urxvt*font: -*-fixed-medium-r-*-*-18-*-*-*-*-*-iso8859-*
! urxvt*charClass: 33:48,35:48,37-38:48,43-47:48,58:48,61:48,63-64:48,95:48,126:48
! urxvt.perl-ext-common: default,tabbed
! urxvt.tabbed.tabbar-fg: 2
! urxvt.tabbed.tabbar-bg: 0
! urxvt.tabbed.tab-bg: 0
! urxvt.tabbed.tab-fg: 3
!=================
! Xterm
!=================
!xterm*background: black
!xterm*saveLines: 10000
!xterm*foreground: white
!xterm*font: -*-fixed-medium-r-*-*-18-*-*-*-*-*-iso8859-*
!xterm*charClass: 33:48,35:48,37-38:48,43-47:48,58:48,61:48,63-64:48,95:48,126:48
! xterm*scrollBar:true
! xterm*Scrollbar.backgroundPixmap: gradient:horizontal?dimension=14&start=darkgreen&end=pink
! xterm*Scrollbar.foregroungPixmap: black

6
.arch-mirrors-edf23ads Normal file
View File

@ -0,0 +1,6 @@
[options]
[core]
[extra]
[community]
[multilib]
[archlinuxfr]

4
.arch-mirrors-odin Normal file
View File

@ -0,0 +1,4 @@
[options]
[core]
[extra]
[community]

6
.arch-mirrors-peteramd Normal file
View File

@ -0,0 +1,6 @@
[options]
[core]
[extra]
[community]
[multilib]
[archlinuxfr]

15
.arch-pkg-aur-edf23ads Normal file
View File

@ -0,0 +1,15 @@
bashmount
doxymacs-git
dropbox
dropbox-cli
emacs-auto-complete-git
emacs-yasnippet
emacs-yasnippet-latex-git
fbpdf-git
guvcview
movgrab
python-unipath
submarine
trash-cli
vicious-git
wmfs-git

14
.arch-pkg-aur-odin Normal file
View File

@ -0,0 +1,14 @@
auto-complete
bashmount
dropbox
dropbox-cli
emacs-yasnippet
emacs-yasnippet-latex-git
gsharkdown
libfetch
movgrab
ns-3
package-query
pacman-color
trash-cli
yaourt

18
.arch-pkg-aur-peteramd Normal file
View File

@ -0,0 +1,18 @@
basex
bashmount
doxymacs
dropbox
dropbox-cli
emacs-auto-complete-git
emacs-yasnippet
emacs-yasnippet-latex-git
gmp-ecm
localepurge
movgrab
msieve
pugixml
submarine
trash-cli
vicious-git
vlc-ncurses
xqilla

206
.arch-pkg-explicit-edf23ads Normal file
View File

@ -0,0 +1,206 @@
abs
acpi
alsa-utils
atool
auctex
autoconf
automake
awesome
bash
bash-completion
bashmount
bc
binutils
bison
blas
bzip2
bzr
calc
checkinstall
clang
claws-mail
cmus
coreutils
crda
cronie
cryptsetup
device-mapper
dhclient
dhcpcd
diffutils
doxymacs-git
dropbox
dropbox-cli
dvgrab
e2fsprogs
elfutils
emacs-auto-complete-git
emacs-lua-mode
emacs-nox
emacs-yasnippet
emacs-yasnippet-latex-git
evince
fakeroot
fbpdf-git
fbv
feh
fftw
file
filesystem
findutils
firefox
firefox-adblock-plus
flashplugin
flex
gawk
gcc
gcc-libs
gcolor2
gdb
gettext
gimp
glibc
gnome-themes-standard
gnumeric
gnuplot
gparted
gpicview
gprolog
grep
grub
gtk-aurora-engine
gtk-engines
guvcview
gzip
hdparm
heirloom-mailx
highlight
htop
hunspell-en
hunspell-fr
ifplugd
inetutils
initscripts
inkscape
iputils
jfsutils
jre7-openjdk
ladspa
latex2html
latex2rtf
less
lib32-v4l-utils
libaio
libavc1394
libpipeline
libquicktime
libstdc++5
libtool
licenses
liferea
links
linux
linux-lts
logrotate
lshw
lvm2
lxde-icon-theme
lxterminal
m4
make
man-db
man-pages
mdadm
midori
movgrab
mplayer
nano
ncdu
nmap
ntfs-3g
ntfsprogs
numlockx
openssh
p7zip
pacman
pacman-color
patch
pciutils
pcmciautils
pdksh
perl
pkg-config
pkgtools
postfix
ppp
procps
psmisc
pstoedit
pwgen
ranger
reiserfsprogs
rpmextract
rtorrent
rxvt-unicode
screen
scrot
sed
shadow
skype
splint
submarine
subversion
sudo
sysfsutils
syslog-ng
sysstat
sysvinit
tar
task
texinfo
texlive-genericextra
texlive-langextra
texlive-latexextra
texlive-pictures
texlive-science
thunderbird
trash-cli
tree
ttf-dejavu
udev
unrar
unzip
upx
usbutils
util-linux
valgrind
vi
vicious-git
vlock
wget
which
wireless_tools
wmfs-git
wmname
wpa_actiond
wpa_supplicant
xclip
xcursor-vanilla-dmz-aa
xf86-input-synaptics
xf86-video-ati
xf86-video-vesa
xfconf
xfsprogs
xkeycaps
xorg-server
xorg-utils
xorg-xdm
xorg-xinit
xorg-xmodmap
xorg-xrandr
xpdf
xscreensaver
xsel
yaourt
zenity
zsh

168
.arch-pkg-explicit-odin Normal file
View File

@ -0,0 +1,168 @@
acpi
alsa-utils
atool
auto-complete
autoconf
automake
awesome
bash
bash-completion
bashmount
binutils
bison
bzip2
bzr
calc
cmus
consolekit
coreutils
cpufrequtils
cronie
cryptsetup
ctags
cups
device-mapper
dhcpcd
diffutils
dropbox
dropbox-cli
e2fsprogs
emacs-lua-mode
emacs-nox
emacs-yasnippet
emacs-yasnippet-latex-git
fakeroot
feh
file
filesystem
findutils
flashplugin
flex
gawk
gcc
gcc-libs
gcolor2
gdb
gettext
glibc
gnuplot
gparted
grep
grub
gsharkdown
gzip
hdparm
heirloom-mailx
highlight
hplip
htop
inetutils
initscripts
inkscape
iproute2
iptables
iputils
jfsutils
laptop-mode-tools
less
libpipeline
libtool
licenses
links
linux
linux-lts
logrotate
luakit
lvm2
lxterminal
m4
make
man-db
man-pages
mdadm
mediainfo
mercurial
mkinitcpio
movgrab
mplayer
mutt
nano
ncdu
ncurses
net-tools
nmap
ns-3
numlockx
openssh
p7zip
package-query
pacman
pacman-color
pari
patch
pciutils
pcmciautils
perl
pkg-config
ppp
procps-ng
psmisc
pwgen
pygtk
ranger
reiserfsprogs
rtorrent
rxvt-unicode
scons
scrot
sed
shadow
slock
splint
sudo
sxiv
sysfsutils
syslog-ng
systemd-tools
sysvinit
tar
task
texinfo
texlive-genericextra
texlive-latexextra
texlive-pictures
trash-cli
tree
unrar
unzip
usbutils
util-linux
valgrind
vi
vicious
vim
vlock
waf
wget
which
wireless_tools
wpa_supplicant
xf86-input-synaptics
xf86-video-ati
xf86-video-vesa
xfsprogs
xorg-server
xorg-twm
xorg-xev
xorg-xinit
xorg-xrandr
xorg-xrdb
xsel
xterm
xz
yaourt
zathura
zathura-djvu
zathura-pdf-poppler
zathura-ps
zsh

294
.arch-pkg-explicit-peteramd Normal file
View File

@ -0,0 +1,294 @@
abs
acpi
acpid
alsa-utils
arch-wiki-lite
aspell-en
aspell-fr
atool
at-spi2-atk
at-spi2-core
attr
auctex
autoconf
automake
awesome
basex
bash
bash-completion
bashmount
bison
bzip2
bzr
calc
chrpath
cmus
consolekit
coreutils
cppcheck
cronie
cryptsetup
ctags
cups
cyrus-sasl
dash
dbus-python
device-mapper
dhclient
dhcpcd
diffutils
dina-font
djvulibre
dosfstools
doxygen
doxymacs
dropbox
dropbox-cli
dvtm
e2fsprogs
emacs-auto-complete-git
emacs-lua-mode
emacs-nox
emacs-yasnippet
emacs-yasnippet-latex-git
epdfview
fakeroot
feh
file
filesystem
findutils
firefox
flashplugin
flex
gamin
gaupol
gawk
gcc-multilib
gcolor2
gconf
gdb
gettext
ghostscript
gif2png
gimp
git
glew
glib
glibc
gnome-icon-theme
gnome-icon-theme-extras
gnome-icon-theme-symbolic
gnumeric
gnuplot
goffice
gparted
grep
grub
gsfonts
gstreamer0.10-good-plugins
gstreamer0.10-ugly-plugins
gtk-engines
gzip
handbrake
hdparm
heirloom-mailx
highlight
hplip
htop
hunspell-en
hunspell-fr
icon-naming-utils
ifplugd
inetutils
initscripts
inkscape
iotop
iptables
iputils
jfsutils
kmod
latex2html
less
libev
libftdi
libirman
libmediainfo
libpng12
libspectre
libtool
libtorrent
libusb
libxdg-basedir
libxvmc
libzen
licenses
links
linux
linux-firmware
linux-lts
linux-manpages
lirc-utils
lm_sensors
localepurge
logrotate
lrzip
lshw
ltrace
lua
luakit
lvm2
lxterminal
lzo2
m4
make
man-db
man-pages
mdadm
mediainfo
mkvtoolnix-cli
mkvtoolnix-gtk
moc
movgrab
mpg123
mplayer
msieve
msmtp
mtools
mutt
namcap
nano
ncdu
netcfg
net-tools
ngrep
nmap
ntfs-3g
ntfsprogs
numlockx
openssh
oss
oxygen-gtk2
p7zip
pacman
pacman-color
pacman-mirrorlist
pam
pari
patch
pciutils
pcmciautils
perl
phonon-gstreamer
pkg-config
pkgtools
pmount
postfix
postgresql-libs
ppp
procps-ng
psmisc
pugixml
pwgen
python2-eyed3
python-gobject2
python-lxml
python-urwid
ranger
reiserfsprogs
rlwrap
rpmextract
rtorrent
rxvt-unicode
samba
screen
scrot
sed
shadow
slock
splint
strace
submarine
subversion
sudo
sxiv
sysfsutils
syslog-ng
sysstat
sysvbanner
sysvinit
tar
task
tcl
texinfo
texlive-core
texlive-formatsextra
texlive-genericextra
texlive-latexextra
texlive-pictures
texlive-science
thunderbird
trash-cli
tree
ttf-droid
ttf-freefont
ttf-inconsolata
ttf-liberation
ttf-ubuntu-font-family
udev
unrar
unzip
upx
urxvt-url-select
usbutils
util-linux
valgrind
vi
vicious-git
vlc-ncurses
vlock
wget
which
wireless_tools
wmname
wpa_actiond
wpa_supplicant
xclip
xcursor-vanilla-dmz-aa
xf86-video-ati
xf86-video-vesa
xfsprogs
xmlrpc-c
xmlstarlet
xorg-fonts-100dpi
xorg-fonts-75dpi
xorg-iceauth
xorg-server
xorg-server-utils
xorg-sessreg
xorg-xbacklight
xorg-xcmsdb
xorg-xev
xorg-xfontsel
xorg-xgamma
xorg-xhost
xorg-xinit
xorg-xinput
xorg-xmessage
xorg-xmodmap
xorg-xprop
xorg-xrandr
xorg-xrdb
xorg-xrefresh
xorg-xsetroot
xosd
xqilla
xsel
xz
yaourt
youtube-dl
zathura
zathura-djvu
zathura-pdf-poppler
zathura-ps
zip
zsh

627
.arch-pkg-official-edf23ads Normal file
View File

@ -0,0 +1,627 @@
a52dec
aalib
abs
acl
acpi
alsa-lib
alsa-utils
apr
apr-util
aspell
ati-dri
atk
atkmm
atool
attr
auctex
autoconf
automake
avahi
awesome
babl
bash
bash-completion
bc
binutils
bison
blas
bluez
bzip2
bzr
ca-certificates
ca-certificates-java
cairomm
cairo-xcb
calc
cantarell-fonts
cdparanoia
checkinstall
cifs-utils
clang
claws-mail
cloog
cmus
colord
compositeproto
consolekit
coreutils
cracklib
crda
cronie
cryptsetup
curl
damageproto
db
dbus
dbus-core
dbus-glib
dconf
desktop-file-utils
device-mapper
dhclient
dhcpcd
dialog
diffutils
dirmngr
djvulibre
dmxproto
dri2proto
dvgrab
e2fsprogs
eject
elfutils
emacs-lua-mode
emacs-nox
enca
enchant
eventlog
evince
expat
faac
faad2
fakeroot
fbv
feh
ffmpeg
fftw
file
filesystem
findutils
firefox
firefox-adblock-plus
fixesproto
flac
flashplugin
flex
fontconfig
fontsproto
freeglut
freetype2
fribidi
fuse
gawk
gc
gcc
gcc-libs
gcolor2
gconf
gd
gdb
gdbm
gdk-pixbuf2
gegl
gettext
ghostscript
giblib
giflib
gimp
git
glib2
glibc
glibmm
glib-networking
glproto
gmp
gnome-icon-theme
gnome-icon-theme-symbolic
gnome-themes-standard
gnumeric
gnupg
gnuplot
gnutls
goffice
gparted
gpgme
gpicview
gpm
gprolog
grep
groff
grub
gsettings-desktop-schemas
gsfonts
gsl
gsm
gstreamer0.10
gstreamer0.10-base
gtk2
gtk3
gtk-aurora-engine
gtk-engines
gtkmm
gtkspell
gtk-update-icon-cache
gzip
hdparm
heirloom-mailx
hicolor-icon-theme
highlight
hspell
htop
hunspell
hunspell-en
hunspell-fr
iana-etc
icon-naming-utils
icu
ifplugd
imagemagick
imlib2
inetutils
initscripts
inkscape
inputproto
iproute2
iputils
isl
iw
jack
jasper
jbig2dec
jfsutils
jre7-openjdk
jre7-openjdk-headless
json-c
json-glib
kbd
kbproto
keyutils
kmod
krb5
ladspa
lame
latex2html
latex2rtf
lcms
lcms2
less
lesstif
lib32-alsa-lib
lib32-bzip2
lib32-dbus-core
lib32-expat
lib32-fontconfig
lib32-freetype2
lib32-gcc-libs
lib32-glib2
lib32-glibc
lib32-libdrm
lib32-libffi
lib32-libgl
lib32-libglapi
lib32-libice
lib32-libjpeg-turbo
lib32-libmng
lib32-libpciaccess
lib32-libpng
lib32-libsm
lib32-libtiff
lib32-libx11
lib32-libxau
lib32-libxcb
lib32-libxcursor
lib32-libxdamage
lib32-libxdmcp
lib32-libxext
lib32-libxfixes
lib32-libxi
lib32-libxrandr
lib32-libxrender
lib32-libxss
lib32-libxv
lib32-libxxf86vm
lib32-openssl
lib32-pcre
lib32-qt
lib32-sqlite3
lib32-util-linux
lib32-v4l-utils
lib32-zlib
libaio
libao
libarchive
libass
libassuan
libasyncns
libatasmart
libavc1394
libbluray
libcaca
libcap
libcap-ng
libcddb
libcdio
libcroco
libcups
libdaemon
libdatrie
libdca
libdmx
libdrm
libdv
libedit
libetpan
libev
libevent
libexif
libffi
libfontenc
libftdi
libgcrypt
libgee
libgl
libglade
libglapi
libgnome-keyring
libgpg-error
libgphoto2
libgsf
libgssglue
libgusb
libice
libid3tag
libiec61883
libieee1284
libirman
libjpeg-turbo
libksba
libldap
libltdl
libmad
libmikmod
libmng
libmodplug
libmp4v2
libmpc
libmpcdec
libmysqlclient
libnl
libnotify
libogg
libpcap
libpciaccess
libpipeline
libpng
libproxy
libpulse
libquicktime
libraw1394
librsvg
libsamplerate
libsasl
libsigc++
libsigsegv
libsm
libsndfile
libsoup
libspectre
libssh2
libstdc++5
libtasn1
libthai
libtheora
libtiff
libtirpc
libtool
libtorrent
libunique
libusb
libusb-compat
libva
libvdpau
libvorbis
libvpx
libwbclient
libwebkit
libwmf
libx11
libxau
libxaw
libxcb
libxcomposite
libxcursor
libxdamage
libxdg-basedir
libxdmcp
libxext
libxfce4util
libxfixes
libxfont
libxft
libxi
libxinerama
libxkbfile
libxml2
libxmu
libxp
libxpm
libxrandr
libxrender
libxslt
libxss
libxt
libxtst
libxv
libxvmc
libxxf86dga
libxxf86vm
licenses
liferea
links
linux
linux-api-headers
linux-firmware
linux-lts
lirc-utils
llvm
lm_sensors
logrotate
lshw
lsof
lua
lvm2
lxde-icon-theme
lxterminal
m4
make
man-db
man-pages
mcpp
mdadm
mesa
midori
mime-types
mkinitcpio
mkinitcpio-busybox
mozilla-common
mpfr
mpg123
mplayer
mtdev
mupdf
nano
ncdu
ncurses
neon
netpbm
net-snmp
nettle
net-tools
nmap
nspr
nss
ntfs-3g
ntfsprogs
numlockx
opencore-amr
openjpeg
openssh
openssl
orc
p11-kit
p7zip
package-query
pacman
pacman-color
pacman-mirrorlist
pam
pango
pangomm
parted
patch
pciutils
pcmciautils
pcre
pdksh
perl
perl-encode-locale
perl-error
perl-file-listing
perl-html-parser
perl-html-tagset
perl-http-cookies
perl-http-daemon
perl-http-date
perl-http-message
perl-http-negotiate
perl-libwww
perl-lwp-mediatypes
perl-net-http
perl-uri
perl-www-robotrules
perl-xml-parser
perl-xml-simple
pilot-link
pinentry
pixman
pkg-config
pkgtools
plotutils
polkit
poppler
poppler-data
poppler-glib
popt
portaudio
postfix
postgresql-libs
ppl
ppp
printproto
procps
psmisc
pstoedit
pth
pwgen
pygobject2-devel
pygtk
python
python2
python2-cairo
python2-distribute
python2-gobject2
qt
randrproto
ranger
readline
recode
recordproto
reiserfsprogs
renderproto
rhino
rpmextract
rsync
rtmpdump
rtorrent
run-parts
rxvt-unicode
sane
schroedinger
screen
scrnsaverproto
scrot
sdl
sdl_mixer
sed
sg3_utils
shadow
shared-color-profiles
shared-mime-info
skype
smbclient
smpeg
speex
splint
sqlite
startup-notification
subversion
sudo
sysfsutils
syslog-ng
sysstat
sysvinit
t1lib
talloc
tar
task
tdb
texinfo
texlive-bin
texlive-core
texlive-genericextra
texlive-langextra
texlive-latexextra
texlive-pictures
texlive-science
thunderbird
tree
ttf-dejavu
tzdata
udev
udisks
unixodbc
unrar
unzip
upx
usbutils
util-linux
v4l-utils
valgrind
vi
videoproto
vlock
vte
vte-common
wavpack
wget
which
wireless-regdb
wireless_tools
wmname
wpa_actiond
wpa_supplicant
wxgtk
x264
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-wm
xclip
xcursor-vanilla-dmz-aa
xdg-utils
xextproto
xf86dgaproto
xf86-input-evdev
xf86-input-synaptics
xf86-video-ati
xf86-video-vesa
xf86vidmodeproto
xfconf
xfsprogs
xineramaproto
xkeyboard-config
xkeycaps
xmlrpc-c
xorg-appres
xorg-bdftopcf
xorg-fonts-alias
xorg-fonts-encodings
xorg-fonts-misc
xorg-font-util
xorg-font-utils
xorg-mkfontdir
xorg-mkfontscale
xorg-server
xorg-server-common
xorg-sessreg
xorg-setxkbmap
xorg-utils
xorg-xauth
xorg-xdm
xorg-xdpyinfo
xorg-xdriinfo
xorg-xev
xorg-xinit
xorg-xkbcomp
xorg-xlsatoms
xorg-xlsclients
xorg-xmodmap
xorg-xprop
xorg-xrandr
xorg-xrdb
xorg-xset
xorg-xvinfo
xorg-xwininfo
xpdf
xproto
xscreensaver
xsel
xvidcore
xz
yajl
yaourt
zenity
zlib
zsh
zziplib

473
.arch-pkg-official-odin Normal file
View File

@ -0,0 +1,473 @@
a52dec
aalib
acl
acpi
alsa-lib
alsa-utils
archlinux-keyring
aspell
ati-dri
atk
atkmm
atool
attr
auctex
autoconf
automake
avahi
awesome
bash
bash-completion
bc
binutils
bison
bzip2
bzr
ca-certificates
cairo
cairomm
calc
cdparanoia
cifs-utils
cloog
cmus
compositeproto
consolekit
coreutils
cpufrequtils
cracklib
cronie
cryptsetup
ctags
cups
cups-filters
curl
damageproto
db
dbus
dbus-core
dbus-glib
desktop-file-utils
device-mapper
dhcpcd
dialog
diffutils
dirmngr
djvulibre
dnssec-anchors
dri2proto
e2fsprogs
eject
emacs-lua-mode
emacs-nox
enca
enchant
eventlog
expat
faac
faad2
fakeroot
feh
file
filesystem
findutils
fixesproto
flac
flashplugin
flex
fontconfig
fontsproto
foomatic-db
foomatic-db-engine
foomatic-filters
freeglut
freetype2
fribidi
gawk
gc
gcc
gcc-libs
gcolor2
gd
gdb
gdbm
gdk-pixbuf2
geoclue
gettext
ghostscript
giblib
giflib
girara-common
girara-gtk2
git
glib2
glibc
glibmm
glib-networking
glproto
gmp
gnupg
gnuplot
gnutls
gparted
gpgme
gpm
grep
groff
grub
gsettings-desktop-schemas
gsl
gstreamer0.10
gstreamer0.10-base
gstreamer0.10-python
gtk2
gtkmm
gtkspell
gtk-update-icon-cache
gzip
hdparm
heirloom-mailx
hicolor-icon-theme
highlight
hplip
hspell
htop
hunspell
hwids
iana-etc
icu
imagemagick
imlib2
inetutils
initscripts
inkscape
inputproto
iproute2
iptables
iputils
isl
jack
jasper
jfsutils
json-c
kbd
kbproto
keyutils
kmod
krb5
lame
laptop-mode-tools
lcms
lcms2
ldns
less
libarchive
libass
libassuan
libasyncns
libatasmart
libbluray
libcaca
libcap
libcap-ng
libcddb
libcdio
libcups
libdaemon
libdatrie
libdca
libdrm
libedit
libev
libexif
libffi
libfontenc
libftdi
libgcrypt
libgl
libglade
libglapi
libgpg-error
libgssglue
libice
libid3tag
libidn
libirman
libjpeg-turbo
libksba
libldap
libltdl
libmad
libmediainfo
libmms
libmng
libmp4v2
libmpc
libnl
libogg
libpcap
libpciaccess
libpipeline
libpng
libproxy
libpulse
libsamplerate
libsasl
libsigc++
libsigsegv
libsm
libsndfile
libsoup
libspectre
libssh2
libsystemd
libtasn1
libthai
libtheora
libtiff
libtirpc
libtool
libtorrent
libunique
libusb-compat
libusbx
libvdpau
libvorbis
libvpx
libwbclient
libwebkit
libx11
libxau
libxaw
libxcb
libxcomposite
libxcursor
libxdamage
libxdg-basedir
libxdmcp
libxext
libxfixes
libxfont
libxft
libxi
libxinerama
libxkbfile
libxml2
libxmu
libxpm
libxrandr
libxrender
libxslt
libxss
libxt
libxtst
libxv
libxvmc
libxxf86dga
libxxf86vm
libzen
licenses
links
linux
linux-api-headers
linux-firmware
linux-lts
lirc-utils
logrotate
lsof
lua
luafilesystem
luajit
luakit
lvm2
lxterminal
m4
make
man-db
man-pages
mcpp
mdadm
mediainfo
mercurial
mesa
mime-types
mkinitcpio
mkinitcpio-busybox
mozilla-common
mpfr
mpg123
mplayer
mtdev
mutt
nano
ncdu
ncurses
net-snmp
nettle
net-tools
nmap
nspr
nss
numlockx
opencore-amr
openjpeg
openslp
openssh
openssl
orc
p11-kit
p7zip
pacman
pacman-mirrorlist
pam
pambase
pango
pangomm
pari
parted
patch
pciutils
pcmciautils
pcre
perl
perl-error
pinentry
pixman
pkg-config
polkit
poppler
poppler-data
poppler-glib
popt
ppl
ppp
procps-ng
psmisc
pth
pwgen
pygobject2-devel
pygtk
python
python2
python2-cairo
python2-dbus
python2-distribute
python2-gobject2
python-configobj
python-dbus-common
python-pycurl
randrproto
ranger
readline
recode
recordproto
reiserfsprogs
renderproto
rtorrent
run-parts
rxvt-unicode
schroedinger
scons
scrnsaverproto
scrot
sdl
sed
sg3_utils
shadow
shared-mime-info
slock
smbclient
splint
sqlite
startup-notification
sudo
sxiv
sysfsutils
syslog-ng
systemd-tools
sysvinit
t1lib
talloc
tar
task
tdb
texinfo
texlive-bin
texlive-core
texlive-genericextra
texlive-latexextra
texlive-pictures
tree
ttf-dejavu
tzdata
udisks
unrar
unzip
usbutils
util-linux
valgrind
vi
vicious
videoproto
vim
vim-runtime
vlock
vte
vte-common
waf
wget
which
wireless_tools
wpa_supplicant
wxgtk
x264
xbitmaps
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-wm
xextproto
xf86dgaproto
xf86-input-evdev
xf86-input-synaptics
xf86-video-ati
xf86-video-vesa
xf86vidmodeproto
xfsprogs
xineramaproto
xkeyboard-config
xmlrpc-c
xorg-bdftopcf
xorg-fonts-alias
xorg-fonts-encodings
xorg-fonts-misc
xorg-font-util
xorg-font-utils
xorg-luit
xorg-mkfontdir
xorg-mkfontscale
xorg-server
xorg-server-common
xorg-setxkbmap
xorg-twm
xorg-xauth
xorg-xev
xorg-xinit
xorg-xkbcomp
xorg-xmessage
xorg-xrandr
xorg-xrdb
xproto
xsel
xterm
xvidcore
xz
yajl
zathura
zathura-djvu
zathura-pdf-poppler
zathura-ps
zlib
zsh
zziplib

635
.arch-pkg-official-peteramd Normal file
View File

@ -0,0 +1,635 @@
a52dec
aalib
abs
acl
acpi
acpid
alsa-lib
alsa-utils
apr
apr-util
arch-wiki-lite
aspell
aspell-en
aspell-fr
ati-dri
atk
atkmm
atool
at-spi2-atk
at-spi2-core
attr
auctex
autoconf
automake
avahi
awesome
babl
bash
bash-completion
binutils-multilib
bison
boost-libs
bzip2
bzr
ca-certificates
ca-certificates-java
cairo
cairomm
calc
cdparanoia
chrpath
cifs-utils
cloog
cmake
cmus
colord
compositeproto
consolekit
coreutils
cppcheck
cracklib
cronie
cryptsetup
ctags
cups
curl
cyrus-sasl
damageproto
dash
db
dbus
dbus-core
dbus-glib
dbus-python
dconf
desktop-file-utils
device-mapper
dhclient
dhcpcd
dialog
diffutils
dina-font
dirmngr
djvulibre
dnssec-anchors
dosfstools
doxygen
dri2proto
dvtm
e2fsprogs
eject
elfutils
emacs-lua-mode
emacs-nox
enca
enchant
epdfview
eventlog
expat
faac
faad2
fakeroot
feh
ffmpeg
file
filesystem
findutils
firefox
fixesproto
flac
flashplugin
flex
fontconfig
fontsproto
foomatic-db
foomatic-db-engine
foomatic-filters
freeglut
freetype2
fribidi
fuse
gamin
gaupol
gawk
gc
gcc-libs-multilib
gcc-multilib
gcolor2
gconf
gd
gdb
gdbm
gdk-pixbuf2
gegl
geoclue
gettext
ghostscript
giblib
gif2png
giflib
gimp
girara-common
girara-gtk2
git
glew
glib
glib2
glibc
glibmm
glib-networking
glproto
gmp
gnome-icon-theme
gnome-icon-theme-extras
gnome-icon-theme-symbolic
gnumeric
gnupg
gnuplot
gnutls
goffice
gparted
gpgme
gpm
grep
groff
grub
gsasl
gsettings-desktop-schemas
gsfonts
gsl
gsm
gstreamer0.10
gstreamer0.10-base
gstreamer0.10-base-plugins
gstreamer0.10-good
gstreamer0.10-good-plugins
gstreamer0.10-ugly
gstreamer0.10-ugly-plugins
gtk2
gtk3
gtk-engines
gtkmm
gtkspell
gtk-update-icon-cache
gzip
handbrake
hdparm
heirloom-mailx
hicolor-icon-theme
highlight
hplip
hspell
htop
hunspell
hunspell-en
hunspell-fr
iana-etc
icon-naming-utils
icu
ifplugd
imagemagick
imlib2
inetutils
initscripts
inkscape
inputproto
iotop
iproute2
iptables
iputils
isl
jack
jasper
java-jline
java-rhino
jdk7-openjdk
jfsutils
jre7-openjdk
jre7-openjdk-headless
json-c
kbd
kbproto
keyutils
kmod
krb5
lame
latex2html
lcms
lcms2
ldns
less
lib32-gcc-libs
lib32-glibc
libarchive
libass
libassuan
libasyncns
libatasmart
libavc1394
libbluray
libcaca
libcap
libcap-ng
libcddb
libcdio
libcroco
libcups
libdaemon
libdatrie
libdca
libdrm
libdv
libdvdread
libebml
libedit
libev
libevent
libexif
libffi
libfontenc
libftdi
libgcrypt
libgee
libgl
libglade
libglapi
libgnome-keyring
libgpg-error
libgphoto2
libgsf
libgssglue
libgusb
libice
libid3tag
libidn
libiec61883
libieee1284
libirman
libjpeg-turbo
libksba
libldap
libltdl
libmad
libmatroska
libmediainfo
libmms
libmng
libmp4v2
libmpc
libmpeg2
libmysqlclient
libnl
libnotify
libogg
libpcap
libpciaccess
libpipeline
libpng
libpng12
libproxy
libpulse
libraw1394
librsvg
libsamplerate
libsasl
libshout
libsidplay
libsigc++
libsigsegv
libsm
libsndfile
libsoup
libsoup-gnome
libspectre
libssh2
libtasn1
libthai
libtheora
libtiff
libtirpc
libtool
libtorrent
libunique
libusb
libusb-compat
libva
libvdpau
libvisual
libvorbis
libvpx
libwbclient
libwebkit
libwmf
libx11
libxau
libxaw
libxcb
libxcomposite
libxcursor
libxdamage
libxdg-basedir
libxdmcp
libxext
libxfixes
libxfont
libxft
libxi
libxinerama
libxkbfile
libxml2
libxmu
libxpm
libxrandr
libxrender
libxslt
libxss
libxt
libxtst
libxv
libxvmc
libxxf86dga
libxxf86vm
libzen
licenses
links
linux
linux-api-headers
linux-firmware
linux-headers
linux-lts
linux-manpages
lirc-utils
lm_sensors
logrotate
lrzip
lshw
lsof
ltrace
lua
luafilesystem
luajit
luakit
lvm2
lxterminal
lzo2
m4
make
man-db
man-pages
mcpp
mdadm
mediainfo
mesa
mime-types
mkinitcpio
mkinitcpio-busybox
mkvtoolnix-cli
mkvtoolnix-gtk
moc
mozilla-common
mpfr
mpg123
mplayer
msmtp
mtools
mutt
namcap
nano
nasm
ncdu
ncurses
neon
netcfg
netpbm
net-snmp
nettle
net-tools
ngrep
nmap
nspr
nss
ntfs-3g
ntfsprogs
numlockx
opencore-amr
openjpeg
openslp
openssh
openssl
orc
oss
oxygen-gtk2
p11-kit
p7zip
package-query
pacman
pacman-color
pacman-mirrorlist
pam
pango
pangomm
pari
parted
patch
pciutils
pcmciautils
pcre
perl
perl-error
perl-xml-parser
perl-xml-simple
phonon-gstreamer
pinentry
pixman
pkg-config
pkgtools
pmount
polkit
poppler
poppler-data
poppler-glib
popt
postfix
postgresql-libs
ppl
ppp
procps-ng
psmisc
pth
pwgen
pyalpm
pygobject2-devel
pygtk
python
python2
python2-cairo
python2-distribute
python2-eyed3
python2-gobject2
python-gobject2
python-lxml
python-pyelftools
python-urwid
randrproto
ranger
readline
recode
recordproto
reiserfsprogs
renderproto
rhino
rlwrap
rpmextract
rsync
rtmpdump
rtorrent
run-parts
rxvt-unicode
samba
sane
schroedinger
screen
scrnsaverproto
scrot
sdl
sed
sg3_utils
shadow
shared-color-profiles
shared-mime-info
slock
smbclient
speex
splint
sqlite
startup-notification
strace
subversion
sudo
sxiv
sysfsutils
syslog-ng
sysstat
sysvbanner
sysvinit
t1lib
taglib
talloc
tar
task
tcl
tdb
texinfo
texlive-bin
texlive-core
texlive-formatsextra
texlive-genericextra
texlive-latexextra
texlive-pictures
texlive-science
thunderbird
tree
ttf-dejavu
ttf-droid
ttf-freefont
ttf-inconsolata
ttf-liberation
ttf-ubuntu-font-family
tzdata
udev
udisks
unixodbc
unrar
unzip
upx
urxvt-url-select
usbutils
util-linux
v4l-utils
valgrind
vi
videoproto
vlock
vte
vte-common
wavpack
wget
which
wireless_tools
wmname
wpa_actiond
wpa_supplicant
wxgtk
x264
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-wm
xclip
xcursor-vanilla-dmz-aa
xdg-utils
xerces-c
xextproto
xf86dgaproto
xf86-input-evdev
xf86-video-ati
xf86-video-vesa
xf86vidmodeproto
xfsprogs
xineramaproto
xkeyboard-config
xmlrpc-c
xmlstarlet
xorg-bdftopcf
xorg-fonts-100dpi
xorg-fonts-75dpi
xorg-fonts-alias
xorg-fonts-encodings
xorg-fonts-misc
xorg-font-util
xorg-font-utils
xorg-iceauth
xorg-mkfontdir
xorg-mkfontscale
xorg-server
xorg-server-common
xorg-server-utils
xorg-sessreg
xorg-setxkbmap
xorg-xauth
xorg-xbacklight
xorg-xcmsdb
xorg-xev
xorg-xfontsel
xorg-xgamma
xorg-xhost
xorg-xinit
xorg-xinput
xorg-xkbcomp
xorg-xmessage
xorg-xmodmap
xorg-xprop
xorg-xrandr
xorg-xrdb
xorg-xrefresh
xorg-xset
xorg-xsetroot
xosd
xproto
xsel
xvidcore
xz
yajl
yaourt
yasm
youtube-dl
zathura
zathura-djvu
zathura-pdf-poppler
zathura-ps
zip
zlib
zsh
zziplib

48
.bashrc Normal file
View File

@ -0,0 +1,48 @@
################################################################################
## Shell Config -- Master File
## Date 2011-11-19
################################################################################
##==============================================================================
## If not running interactively, don't do anything
##==============================================================================
[ -z "$PS1" ] && return
##==============================================================================
## Base functions
##==============================================================================
isShell()
{
if [ "$1" = "$(ps | grep $$ | awk '{print $4}')" ]; then
return 0
else
return 1
fi
}
safeSource()
{
if [ -f "$1" ]; then
source "$1"
return 0
else
echo "Warning: $1 not found when sourcing!"
return 1
fi
}
##==============================================================================
## Sourcing
##==============================================================================
SHELLDIR="$HOME/.shell.d"
safeSource "${SHELLDIR}/main_rc" # Should be sourced first.
safeSource "${SHELLDIR}/options_bash"
safeSource "${SHELLDIR}/funs_rc"
safeSource "${SHELLDIR}/funs_bash"
safeSource "${SHELLDIR}/alias_rc"
safeSource "${SHELLDIR}/personal_rc"

145
.cmus/autosave Normal file
View File

@ -0,0 +1,145 @@
set aaa_mode=album
set altformat_current= %F
set altformat_playlist= %f%= %d
set altformat_title=%f
set altformat_trackwin= %f%= %d
set auto_reshuffle=true
set buffer_seconds=10
set color_cmdline_bg=default
set color_cmdline_fg=default
set color_error=lightred
set color_info=lightyellow
set color_separator=blue
set color_statusline_bg=gray
set color_statusline_fg=black
set color_titleline_bg=blue
set color_titleline_fg=white
set color_win_bg=default
set color_win_cur=lightyellow
set color_win_cur_sel_bg=blue
set color_win_cur_sel_fg=lightyellow
set color_win_dir=lightblue
set color_win_fg=default
set color_win_inactive_cur_sel_bg=gray
set color_win_inactive_cur_sel_fg=lightyellow
set color_win_inactive_sel_bg=gray
set color_win_inactive_sel_fg=black
set color_win_sel_bg=blue
set color_win_sel_fg=white
set color_win_title_bg=blue
set color_win_title_fg=white
set confirm_run=true
set continue=true
set display_artist_sort_name=false
set dsp.alsa.device=default
set dsp.oss.device=
set format_current= %a - %l -%3n. %t%= %y
set format_playlist= %-25%a %3n. %t%= %y %d
set format_playlist_va= %-25%A %3n. %t (%a)%= %y %d
set format_title=%a - %l - %t (%y)
set format_trackwin=%3n. %t%= %y %d
set format_trackwin_va=%3n. %t (%a)%= %y %d
set id3_default_charset=ISO-8859-1
set lib_sort=albumartist date album discnumber tracknumber title filename
set mixer.alsa.channel=PCM
set mixer.alsa.device=default
set mixer.oss.channel=PCM
set mixer.oss.device=
set mixer.pulse.restore_volume=1
set output_plugin=alsa
set passwd=
set pl_sort=
set play_library=false
set play_sorted=false
set repeat=false
set repeat_current=false
set replaygain=disabled
set replaygain_limit=true
set replaygain_preamp=6.000000
set resume=true
set set_term_title=true
set show_hidden=false
set show_remaining_time=false
set shuffle=false
set smart_artist_sort=true
set softvol=false
set softvol_state=0 0
set status_display_program=
bind browser backspace browser-up
bind browser i toggle show_hidden
bind browser space win-activate
bind browser u win-update
bind common ! push shell
bind common + vol +10%
bind common , seek -1m
bind common - vol -10%
bind common . seek +1m
bind common 1 view tree
bind common 2 view sorted
bind common 3 view playlist
bind common 4 view queue
bind common 5 view browser
bind common 6 view filters
bind common 7 view settings
bind common = vol +10%
bind common C toggle continue
bind common D win-remove
bind common E win-add-Q
bind common F push filter
bind common G win-bottom
bind common I echo {}
bind common L push live-filter
bind common M toggle play_library
bind common N search-prev
bind common P win-mv-before
bind common [ vol +1% +0
bind common ] vol +0 +1%
bind common ^B win-page-up
bind common ^C echo Type :quit<enter> to exit cmus.
bind common ^F win-page-down
bind common ^L refresh
bind common ^R toggle repeat_current
bind common a win-add-l
bind common b player-next
bind common c player-pause
bind common delete win-remove
bind common down win-down
bind common e win-add-q
bind common end win-bottom
bind common enter win-activate
bind common g win-top
bind common h seek -5
bind common home win-top
bind common i win-sel-cur
bind common j win-down
bind common k win-up
bind common l seek +5
bind common left seek -5
bind common m toggle aaa_mode
bind common n search-next
bind common o toggle play_sorted
bind common p win-mv-after
bind common page_down win-page-down
bind common page_up win-page-up
bind common q quit -i
bind common r toggle repeat
bind common right seek +5
bind common s toggle shuffle
bind common space win-toggle
bind common t toggle show_remaining_time
bind common tab win-next
bind common u update-cache
bind common up win-up
bind common v player-stop
bind common x player-play
bind common y win-add-p
bind common z player-prev
bind common { vol -1% -0
bind common } vol -0 -1%
fset 90s=date>=1990&date<2000
fset classical=genre="Classical"
fset missing-tag=!stream&(artist=""|album=""|title=""|tracknumber=-1|date=-1)
fset mp3=filename="*.mp3"
fset ogg=filename="*.ogg"
fset ogg-or-mp3=ogg|mp3
factivate

515
.config/awesome/rc.lua Normal file
View File

@ -0,0 +1,515 @@
--------------------------------------------------------------------------------
-- Awesome configuration
-- Date 2012-03-25
--------------------------------------------------------------------------------
-- Standard awesome library
require("awful")
require("awful.autofocus")
require("awful.rules")
-- Theme handling library
require("beautiful")
-- Notification library
require("naughty")
-- Widget library
require("vicious")
--------------------------------------------------------------------------------
-- {{{ 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.add_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")
-- beautiful.init("/usr/share/awesome/themes/zenburn/theme.lua")
beautiful.init(awful.util.getdir("config") .. "/themes/custom/theme.lua")
terminal = "lxterminal"
-- webbrowser = os.getenv("BROWSER") or "luakit"
webbrowser = "luakit"
mailclient = "thunderbird"
pdfreader = "zathura"
termcmd = "lxterminal -e "
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.
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
}
-- }}}
-- {{{ 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])
tags[s] = awful.tag({ " 1 ", " 2 "," 3 "," 4 ", " 5. Factory ", " 6. Music ", "7. Mail " }, 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 = image(beautiful.awesome_icon),
menu = mymainmenu })
-- }}}
--------------------------------------------------------------------------------
-- {{{ Wibox
-- Clock
clockwidget = awful.widget.textclock({ align = "right" })
-- Systray
systraywidget = widget({ type = "systray" })
-- CPU
cpuwidget = widget({ type = "textbox" })
vicious.register(cpuwidget, vicious.widgets.cpu, '<span color="#CC8F52">CPU $1%</span> | ')
-- Net
netwidget = widget({ type = "textbox" })
vicious.register(netwidget, vicious.widgets.net, '<span color="#CC9393">↓${eth0 down_kb}</span> <span color="#7F9F7F">↑${eth0 up_kb}</span> | ', 3)
-- Battery
batwidget = widget({ type = "textbox" })
local batf = io.popen("ls '/sys/class/power_supply' 2>/dev/null")
local batl = batf:read("*a")
if batl ~= "" then
-- vicious.register(batwidget, vicious.widgets.bat, '<span color="#73A9CD">$2%$1$3</span> | ', 60, "BAT0")
vicious.register(batwidget, vicious.widgets.bat,
function (widget, args)
if args[2] <= 10 then return '<span color="#FF0000">' .. args[2] .. '%' .. args[1] .. args[3] .. '</span> | '
else return '<span color="#73A9CD">' .. args[2] .. '%' .. args[1] .. args[3] .. '</span> | '
end
end,
60, "BAT0")
end
batf:close()
-- Volume
volmwidget = widget({ type = "textbox" })
volpwidget = widget({ type = "textbox" })
vicious.register(volmwidget, vicious.widgets.volume, "Master: $1% $2 ", 1, "Master")
vicious.register(volpwidget, vicious.widgets.volume, "PCM: $1% | ", 1, "PCM")
-- Separator
separator = widget({ type = "textbox" })
separator.text = " | "
-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
awful.button({ }, 1, awful.tag.viewonly),
awful.button({ modkey }, 1, awful.client.movetotag),
awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, awful.client.toggletag),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
)
mytasklist = {}
mytasklist.buttons = awful.util.table.join(
awful.button({ }, 1, function (c)
if c == client.focus then
c.minimized = true
else
if not c:isvisible() then
awful.tag.viewonly(c:tags()[1])
end
-- This will also un-minimize
-- the client, if needed
client.focus = c
c:raise()
end
end),
awful.button({ }, 3, function ()
if instance then
instance:hide()
instance = nil
else
instance = awful.menu.clients({ width=250 })
end
end),
awful.button({ }, 4, function ()
awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end
end),
awful.button({ }, 5, function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end))
for s = 1, screen.count() do
-- Create a promptbox for each screen
mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen.
mylayoutbox[s] = awful.widget.layoutbox(s)
mylayoutbox[s]:buttons(awful.util.table.join(
awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
-- Create a taglist widget
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)
-- Create a tasklist widget
mytasklist[s] = awful.widget.tasklist(function(c)
return awful.widget.tasklist.label.currenttags(c, s)
end, mytasklist.buttons)
-- Create the wibox
mywibox[s] = awful.wibox({ position = "top", screen = s })
-- Add widgets to the wibox - order matters
mywibox[s].widgets = {
{
mylayoutbox[s],
-- mylauncher,
mytaglist[s],
mypromptbox[s],
layout = awful.widget.layout.horizontal.leftright
},
s == 1 and systraywidget or nil,
clockwidget,
volpwidget,
volmwidget,
cpuwidget,
netwidget,
batwidget,
separator,
mytasklist[s],
layout = awful.widget.layout.horizontal.rightleft
}
end
-- }}}
--------------------------------------------------------------------------------
-- {{{ Mouse bindings
root.buttons(awful.util.table.join(
awful.button({ }, 3, function () mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
))
-- }}}
-- CUSTOM
-- set the desired pixel coordinates:
local safeCoords = {x=0, y=0}
-- Flag to tell Awesome whether to do this at startup.
local moveMouseOnStartup = true
-- Simple function to move the mouse to the coordinates set above.
local function moveMouseAway(x_co, y_co)
mouse.coords({ x=x_co, y=y_co })
end
-- Does not work
local function moveMouse(x_co, y_co)
t=mouse.coords()
-- t is 'nil', why?
-- mouse.coords( {x=t[1], y=t[2]} )
end
-- Optionally move the mouse when rc.lua is read (startup)
if moveMouseOnStartup then
moveMouseAway(safeCoords.x, safeCoords.y)
end
--------------------------------------------------------------------------------
-- {{{ Key bindings
globalkeys = awful.util.table.join(
-- Custom
-- awful.key({ modkey, }, "l", function () awful.util.spawn("xscreensaver-command --lock") end),
awful.key({ modkey, }, "l", function () awful.util.spawn("slock") end),
awful.key({ modkey, }, "e", function () awful.util.spawn(termcmd .. "ranger") end),
awful.key({ modkey, }, "a", function () awful.util.spawn(termcmd .. "cmus") end),
-- Bind ''Meta4+Ctrl+m'' to move the mouse to the coordinates set above.
-- this is useful if you needed the mouse for something and now want it out of the way
awful.key({ modkey, "Control" }, "m", function() moveMouseAway(safeCoords.x, safeCoords.y) end),
awful.key({ modkey, "Control" }, "h", function() moveMouse(5, 0) end),
awful.key({ modkey, "Mod1" }, "a", function () awful.util.spawn("cmus-remote -u") end),
awful.key({ modkey, "Shift" }, "a", function () awful.util.spawn("cmus-remote -n") end),
awful.key({ modkey, "Control" }, "a", function () awful.util.spawn("cmus-remote -r") end),
awful.key({}, "Print", function () awful.util.spawn("scrot '%Y-%m-%d-%H%M%S_$wx$h.png' -e 'mkdir -p ~/shots && mv $f ~/shots/'") end),
awful.key({ modkey, }, "w", function () awful.util.spawn(webbrowser) end),
awful.key({ modkey, }, "t", function () awful.util.spawn(mailclient) end),
awful.key({ modkey, }, "p", function () awful.util.spawn(pdfreader) end),
-- Sound Volume
awful.key({ modkey, }, "KP_Subtract", function () awful.util.spawn("amixer set Master 5%-") end),
awful.key({ modkey, }, "KP_Add", function () awful.util.spawn("amixer set Master 5%+") end),
awful.key({ modkey, }, "KP_Enter", function () awful.util.spawn("amixer set Master toggle") end),
awful.key({ modkey, }, "-", function () awful.util.spawn("amixer set Master 5%-") end),
awful.key({ modkey, }, "+", function () awful.util.spawn("amixer set Master 5%+") end),
awful.key({ modkey, }, "=", function () awful.util.spawn("amixer set Master toggle") end),
awful.key({ modkey, "Mod1" }, "KP_Subtract", function () awful.util.spawn("amixer set PCM 5%-") end),
awful.key({ modkey, "Mod1" }, "KP_Add", function () awful.util.spawn("amixer set PCM 5%+") end),
-- Misc
awful.key({ modkey, }, "Prior", awful.tag.viewprev ),
awful.key({ modkey, }, "Next", awful.tag.viewnext ),
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
awful.key({ modkey, }, "Right",
function ()
awful.client.focus.byidx( 1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "Left",
function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end),
-- Layout manipulation
awful.key({ modkey, "Mod1" }, "Right", function () awful.client.swap.byidx( 1) end),
awful.key({ modkey, "Mod1" }, "Left", function () awful.client.swap.byidx( -1) end),
-- awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
-- awful.key({ modkey, "Control" }, "k", 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,"Shift" }, "Right", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey,"Shift" }, "Left", function () awful.tag.incmwfact(-0.05) end),
-- awful.key({ modkey, "Shift" }, "Right", function () awful.tag.incnmaster( 1) end),
-- awful.key({ modkey, "Shift" }, "Left", 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" }, "n", 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)
)
clientkeys = awful.util.table.join(
awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
awful.key({ modkey, }, "o", awful.client.movetoscreen ),
awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
awful.key({ modkey, }, "n",
function (c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
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
clientbuttons = awful.util.table.join(
awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move),
awful.button({ modkey }, 3, awful.mouse.client.resize))
-- Set keys
root.keys(globalkeys)
-- }}}
--------------------------------------------------------------------------------
-- {{{ Rules
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = true,
keys = clientkeys,
buttons = clientbuttons } },
{ rule = { class = "MPlayer" },
properties = { floating = true } },
{ rule = { class = "pinentry" },
properties = { floating = true } },
{ rule = { class = "Gimp" },
properties = { floating = true } },
{ rule = { class = "Thunderbird" },
properties = { tag = tags[1][7] } },
-- TODO: does not work.
{ rule = { name = "cmus"},
properties = { tag = tags[1][6] } },
}
-- }}}
-- {{{ Signals
-- Signal function to execute when a new client appears.
client.add_signal("manage", function (c, startup)
-- Add a titlebar
-- awful.titlebar.add(c, { modkey = modkey })
-- Enable sloppy focus
c:add_signal("mouse::enter", function(c)
if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
and awful.client.focus.filter(c) then
client.focus = c
end
end)
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.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}}

View File

@ -0,0 +1,2 @@
#!/bin/bash
[ -d /usr/share/awesome/themes/default ] && cp -rn "/usr/share/awesome/themes/default/*" "${HOME}/.config/awesome/themes/custom/"

View File

@ -0,0 +1,3 @@
[Settings]
gtk-theme-name = Adwaita
gtk-fallback-icon-theme = gnome

331
.config/luakit/binds.lua Normal file
View File

@ -0,0 +1,331 @@
-----------------
-- Keybindings --
-----------------
-- Binding aliases
local key, buf, but = lousy.bind.key, lousy.bind.buf, lousy.bind.but
local cmd, any = lousy.bind.cmd, lousy.bind.any
-- Util aliases
local match, join = string.match, lousy.util.table.join
local strip, split = lousy.util.string.strip, lousy.util.string.split
-- Globals or defaults that are used in binds
local scroll_step = globals.scroll_step or 20
local more, less = "+"..scroll_step.."px", "-"..scroll_step.."px"
local zoom_step = globals.zoom_step or 0.1
-- Add binds to a mode
function add_binds(mode, binds, before)
assert(binds and type(binds) == "table", "invalid binds table type: " .. type(binds))
mode = type(mode) ~= "table" and {mode} or mode
for _, m in ipairs(mode) do
local mdata = get_mode(m)
if mdata and before then
mdata.binds = join(binds, mdata.binds or {})
elseif mdata then
mdata.binds = mdata.binds or {}
for _, b in ipairs(binds) do table.insert(mdata.binds, b) end
else
new_mode(m, { binds = binds })
end
end
end
-- Add commands to command mode
function add_cmds(cmds, before)
add_binds("command", cmds, before)
end
-- Adds the default menu widget bindings to a mode
menu_binds = {
-- Navigate items
key({}, "j", function (w) w.menu:move_down() end),
key({}, "k", function (w) w.menu:move_up() end),
key({}, "Down", function (w) w.menu:move_down() end),
key({}, "Up", function (w) w.menu:move_up() end),
key({}, "Tab", function (w) w.menu:move_down() end),
key({"Shift"}, "Tab", function (w) w.menu:move_up() end),
}
-- Add binds to special mode "all" which adds its binds to all modes.
add_binds("all", {
key({}, "Escape", function (w) w:set_mode() end),
key({"Control"}, "[", function (w) w:set_mode() end),
-- Mouse bindings
but({}, 8, function (w) w:back() end),
but({}, 9, function (w) w:forward() end),
-- Open link in new tab or navigate to selection
but({}, 2, function (w, m)
-- Ignore button 2 clicks in form fields
if not m.context.editable then
-- Open hovered uri in new tab
local uri = w.view.hovered_uri
if uri then
w:new_tab(uri, false)
else -- Open selection in current tab
uri = luakit.selection.primary
if uri then w:navigate(w:search_open(uri)) end
end
end
end),
-- Open link in new tab when Ctrl-clicked.
but({"Control"}, 1, function (w, m)
local uri = w.view.hovered_uri
if uri then
w:new_tab(uri, false)
end
end),
-- Zoom binds
but({"Control"}, 4, function (w, m) w:zoom_in() end),
but({"Control"}, 5, function (w, m) w:zoom_out() end),
-- Horizontal mouse scroll binds
but({"Shift"}, 4, function (w, m) w:scroll{ x = less } end),
but({"Shift"}, 5, function (w, m) w:scroll{ x = more } end),
})
add_binds("normal", {
-- Autoparse the `[count]` before a binding and re-call the hit function
-- with the count removed and added to the opts table.
any(function (w, m)
local count, buf
if m.buffer then
count = string.match(m.buffer, "^(%d+)")
end
if count then
buf = string.sub(m.buffer, #count + 1, (m.updated_buf and -2) or -1)
local opts = join(m, {count = tonumber(count)})
opts.buffer = (#buf > 0 and buf) or nil
if lousy.bind.hit(w, m.binds, m.mods, m.key, opts) then
return true
end
end
return false
end),
key({}, "i", function (w) w:set_mode("insert") end),
key({}, ":", function (w) w:set_mode("command") end),
-- Scrolling
key({}, "j", function (w) w:scroll{ y = more } end),
key({}, "k", function (w) w:scroll{ y = less } end),
key({}, "h", function (w) w:scroll{ x = less } end),
key({}, "l", function (w) w:scroll{ x = more } end),
-- key({}, "^", function (w) w:scroll{ x = "0%" } end),
-- key({}, "$", function (w) w:scroll{ x = "100%" } end),
-- key({"Control"}, "e", function (w) w:scroll{ y = more } end),
-- key({"Control"}, "y", function (w) w:scroll{ y = less } end),
-- key({"Control"}, "d", function (w) w:scroll{ y = "+0.5p" } end),
-- key({"Control"}, "u", function (w) w:scroll{ y = "-0.5p" } end),
-- key({"Control"}, "f", function (w) w:scroll{ y = "+1.0p" } end),
-- key({"Control"}, "b", function (w) w:scroll{ y = "-1.0p" } end),
key({}, "space", function (w) w:scroll{ y = "+0.5p" } end),
key({"Shift"}, "space", function (w) w:scroll{ y = "-0.5p" } end),
-- Specific scroll
buf("^gg$", function (w, b, m) w:scroll{ y = m.count.."%" } end, {count = 0}),
buf("^G$", function (w, b, m) w:scroll{ y = m.count.."%" } end, {count = 100}),
-- Traditional scrolling commands
key({}, "Down", function (w) w:scroll{ y = more } end),
key({}, "Up", function (w) w:scroll{ y = less } end),
key({}, "Left", function (w) w:scroll{ x = less } end),
key({}, "Right", function (w) w:scroll{ x = more } end),
key({}, "Page_Down", function (w) w:scroll{ y = "+1.0p" } end),
key({}, "Page_Up", function (w) w:scroll{ y = "-1.0p" } end),
key({}, "Home", function (w) w:scroll{ y = "0%" } end),
key({}, "End", function (w) w:scroll{ y = "100%" } end),
-- key({}, "$", function (w) w:scroll{ x = "100%" } end),
-- key({}, "0", function (w, m)
-- if not m.count then w:scroll{ y = "0%" } else return false end
-- end),
-- Zooming
key({}, "+", function (w, m) w:zoom_in(zoom_step * m.count) end, {count=1}),
key({}, "-", function (w, m) w:zoom_out(zoom_step * m.count) end, {count=1}),
key({}, "=", function (w, m) w:zoom_set() end),
buf("^z[iI]$", function (w, b, m) w:zoom_in(zoom_step * m.count, b == "zI") end, {count=1}),
buf("^z[oO]$", function (w, b, m) w:zoom_out(zoom_step * m.count, b == "zO") end, {count=1}),
-- Zoom reset or specific zoom ([count]zZ for full content zoom)
buf("^z[zZ]$", function (w, b, m) w:zoom_set(m.count/100, b == "zZ") end, {count=100}),
-- Fullscreen
key({}, "F11", function (w)
w.win.fullscreen = not w.win.fullscreen
end),
-- Clipboard
key({}, "p", function (w)
local uri = luakit.selection.primary
if uri then w:navigate(w:search_open(uri)) else w:error("Empty selection.") end
end),
key({}, "P", function (w, m)
local uri = luakit.selection.primary
if not uri then w:error("Empty selection.") return end
for i = 1, m.count do w:new_tab(w:search_open(uri)) end
end, {count = 1}),
-- Yanking
buf("^yy$", function (w)
local uri = string.gsub(w.view.uri or "", " ", "%%20")
luakit.selection.primary = uri
luakit.selection.clipboard = uri
w:notify("Yanked uri: " .. uri)
end),
buf("^yt$", function (w)
local title = w.view.title
luakit.selection.primary = title
luakit.selection.clipboard = uri
w:notify("Yanked title: " .. title)
end),
-- Commands
key({"Control"}, "a", function (w) w:navigate(w:inc_uri(1)) end),
key({"Control"}, "x", function (w) w:navigate(w:inc_uri(-1)) end),
buf("^o$", function (w, c) w:enter_cmd(":open ") end),
buf("^t$", function (w, c) w:enter_cmd(":tabopen ") end),
buf("^w$", function (w, c) w:enter_cmd(":winopen ") end),
buf("^O$", function (w, c) w:enter_cmd(":open " .. (w.view.uri or "")) end),
buf("^T$", function (w, c) w:enter_cmd(":tabopen " .. (w.view.uri or "")) end),
buf("^W$", function (w, c) w:enter_cmd(":winopen " .. (w.view.uri or "")) end),
buf("^,g$", function (w, c) w:enter_cmd(":open google ") end),
-- History
key({}, "BackSpace", function (w, m) w:back(m.count) end),
key({"Mod1"}, "Left", function (w, m) w:back(m.count) end),
key({"Mod1"}, "Right", function (w, m) w:forward(m.count) end),
key({}, "H", function (w, m) w:back(m.count) end),
key({}, "L", function (w, m) w:forward(m.count) end),
key({}, "XF86Back", function (w, m) w:back(m.count) end),
key({}, "XF86Forward", function (w, m) w:forward(m.count) end),
-- key({"Control"}, "o", function (w, m) w:back(m.count) end),
-- key({"Control"}, "i", function (w, m) w:forward(m.count) end),
-- key({}, "b", function (w, m) w:back(m.count) end),
-- Tab
key({"Control"}, "Page_Up", function (w) w:prev_tab() end),
key({"Control"}, "Page_Down", function (w) w:next_tab() end),
key({"Control"}, "Tab", function (w) w:next_tab() end),
key({"Shift","Control"}, "Tab", function (w) w:prev_tab() end),
buf("^gT$", function (w, b, m) w:prev_tab(m.count) end, {count=1}),
buf("^gt$", function (w, b, m) if not w:goto_tab(m.count) then w:next_tab() end end, {count=0}),
key({"Control"}, "t", function (w) w:new_tab(globals.homepage) end),
key({"Control"}, "w", function (w) w:close_tab() end),
key({}, "d", function (w, m) for i=1,m.count do w:close_tab() end end, {count=1}),
key({}, "<", function (w, m) w.tabs:reorder(w.view, w.tabs:current() - m.count) end, {count=1}),
key({}, ">", function (w, m) w.tabs:reorder(w.view, (w.tabs:current() + m.count) % w.tabs:count()) end, {count=1}),
key({"Mod1"}, "Page_Up", function (w, m) w.tabs:reorder(w.view, w.tabs:current() - m.count) end, {count=1}),
key({"Mod1"}, "Page_Down", function (w, m) w.tabs:reorder(w.view, (w.tabs:current() + m.count) % w.tabs:count()) end, {count=1}),
buf("^gH$", function (w, b, m) for i=1,m.count do w:new_tab(globals.homepage) end end, {count=1}),
buf("^gh$", function (w) w:navigate(globals.homepage) end),
-- Open tab from current tab history
buf("^gy$", function (w) w:new_tab(w.view.history or "") end),
key({}, "r", function (w) w:reload() end),
key({}, "R", function (w) w:reload(true) end),
key({"Control"}, "c", function (w) w:stop() end),
-- Config reloading
key({"Control", "Shift"}, "R", function (w) w:restart() end),
-- Window
buf("^ZZ$", function (w) w:save_session() w:close_win() end),
buf("^ZQ$", function (w) w:close_win() end),
-- buf("^D$", function (w) w:close_win() end),
-- Enter passthrough mode
key({"Control"}, "z", function (w) w:set_mode("passthrough") end),
})
add_binds("insert", {
key({"Control"}, "z", function (w) w:set_mode("passthrough") end),
})
add_binds({"command", "search"}, {
key({"Shift"}, "Insert", function (w) w:insert_cmd(luakit.selection.primary) end),
key({"Control"}, "w", function (w) w:del_word() end),
key({"Control"}, "u", function (w) w:del_line() end),
key({"Control"}, "h", function (w) w:del_backward_char() end),
key({"Control"}, "d", function (w) w:del_forward_char() end),
key({"Control"}, "a", function (w) w:beg_line() end),
key({"Control"}, "e", function (w) w:end_line() end),
key({"Control"}, "f", function (w) w:forward_char() end),
key({"Control"}, "b", function (w) w:backward_char() end),
key({"Mod1"}, "f", function (w) w:forward_word() end),
key({"Mod1"}, "b", function (w) w:backward_word() end),
})
-- Switching tabs with Mod1+{1,2,3,...}
mod1binds = {}
for i=1,10 do
table.insert(mod1binds,
key({"Mod1"}, tostring(i % 10), function (w) w.tabs:switch(i) end))
end
add_binds("normal", mod1binds)
-- Command bindings which are matched in the "command" mode from text
-- entered into the input bar.
add_cmds({
-- Detect bangs (I.e. ":command! <args>")
buf("^%S+!", function (w, cmd, opts)
local cmd, args = string.match(cmd, "^(%S+)!+(.*)")
if cmd then
opts = join(opts, { bang = true })
return lousy.bind.match_cmd(w, opts.binds, cmd .. args, opts)
end
end),
-- cmd({command, alias1, ...}, function (w, arg, opts) .. end, opts),
-- cmd("co[mmand]", function (w, arg, opts) .. end, opts),
cmd("c[lose]", function (w) w:close_tab() end),
cmd("print", function (w) w:eval_js("print()", "rc.lua") end),
cmd("reload", function (w) w:reload() end),
cmd("restart", function (w) w:restart() end),
cmd("write", function (w) w:save_session() end),
cmd("noh[lsearch]", function (w) w:clear_search() end),
cmd("back", function (w, a) w:back(tonumber(a) or 1) end),
cmd("f[orward]", function (w, a) w:forward(tonumber(a) or 1) end),
cmd("inc[rease]", function (w, a) w:navigate(w:inc_uri(tonumber(a) or 1)) end),
cmd("o[pen]", function (w, a) w:navigate(w:search_open(a)) end),
cmd("t[abopen]", function (w, a) w:new_tab(w:search_open(a)) end),
cmd("w[inopen]", function (w, a) window.new{w:search_open(a)} end),
cmd({"javascript", "js"}, function (w, a) w:eval_js(a, "javascript") end),
cmd("q[uit]", function (w, a, o) w:close_win(o.bang) end),
cmd({"viewsource", "vs" }, function (w, a, o) w:toggle_source(not o.bang and true or nil) end),
cmd({"writequit", "wq"}, function (w, a, o) w:save_session() w:close_win(o.bang) end),
cmd("lua", function (w, a)
if a then
local ret = assert(loadstring("return function(w) return "..a.." end"))()(w)
if ret then print(ret) end
else
w:set_mode("lua")
end
end),
cmd("dump", function (w, a)
local fname = string.gsub(w.win.title, '[^%w%.%-]', '_')..'.html' -- sanitize filename
local file = a or luakit.save_file("Save file", w.win, xdg.download_dir or '.', fname)
if file then
local fd = assert(io.open(file, "w"), "failed to open: " .. file)
local html = assert(w:eval_js("document.documentElement.outerHTML", "dump"), "Unable to get HTML")
assert(fd:write(html), "unable to save html")
io.close(fd)
w:notify("Dumped HTML to: " .. file)
end
end),
})
-- vim: et:sw=4:ts=8:sts=4:tw=80

View File

@ -0,0 +1,99 @@
-- Global variables for luakit
globals = {
homepage = "about:blank",
-- homepage = "http://google.com/",
-- homepage = "http://luakit.org/",
-- homepage = "http://github.com/mason-larobina/luakit",
scroll_step = 40,
zoom_step = 0.1,
max_cmd_history = 100,
max_srch_history = 100,
-- http_proxy = "http://example.com:3128",
default_window_size = "800x600",
-- Disables loading of hostnames from /etc/hosts (for large host files)
-- load_etc_hosts = false,
-- Disables checking if a filepath exists in search_open function
-- check_filepath = false,
}
-- Make useragent
local _, arch = luakit.spawn_sync("uname -sm")
-- Only use the luakit version if in date format (reduces identifiability)
local lkv = string.match(luakit.version, "^(%d+.%d+.%d+)")
globals.useragent = string.format("Mozilla/5.0 (%s) AppleWebKit/%s+ (KHTML, like Gecko) WebKitGTK+/%s luakit%s",
string.sub(arch, 1, -2), luakit.webkit_user_agent_version,
luakit.webkit_version, (lkv and ("/" .. lkv)) or "")
-- Search common locations for a ca file which is used for ssl connection validation.
local ca_files = {
-- $XDG_DATA_HOME/luakit/ca-certificates.crt
luakit.data_dir .. "/ca-certificates.crt",
"/etc/certs/ca-certificates.crt",
"/etc/ssl/certs/ca-certificates.crt",
}
-- Use the first ca-file found
for _, ca_file in ipairs(ca_files) do
if os.exists(ca_file) then
soup.ssl_ca_file = ca_file
break
end
end
-- Change to stop navigation sites with invalid or expired ssl certificates
soup.ssl_strict = false
-- Set cookie acceptance policy
cookie_policy = { always = 0, never = 1, no_third_party = 2 }
soup.accept_policy = cookie_policy.always
-- List of search engines. Each item must contain a single %s which is
-- replaced by URI encoded search terms. All other occurances of the percent
-- character (%) may need to be escaped by placing another % before or after
-- it to avoid collisions with lua's string.format characters.
-- See: http://www.lua.org/manual/5.1/manual.html#pdf-string.format
search_engines = {
-- arch = "http://wiki.archlinux.org/wiki/Special:Search?search=%s",
-- debbugs = "http://bugs.debian.org/%s",
-- duckduckgo = "http://duckduckgo.com/?q=%s",
-- luakit = "http://luakit.org/search/index/luakit?q=%s",
-- sourceforge = "http://sf.net/search/?words=%s",
arch = "http://wiki.archlinux.org/index.php?title=Special%%3ASearch&search=%s&go=Go",
aur = "https://aur.archlinux.org/packages.php?O=0&K=%s&do_Search=Go",
google = "http://google.com/search?q=%s",
imdb = "http://imdb.com/find?s=all&q=%s", -- Note that imdb is messy with spaces.
torrent = "http://torrentz.eu/search?f=%s",
w = "http://en.wikipedia.org/wiki/Special:Search?search=%s",
wb = "http://en.wikibooks.org/wiki/Special:Search?search=%s",
wbf = "http://fr.wikibooks.org/wiki/Special:Search?search=%s",
wf = "http://fr.wikipedia.org/wiki/Special:Search?search=%s",
wr = "http://www.wordreference.com/enfr/%s",
youtube = "http://www.youtube.com/results?search_query=%s",
}
-- Set google as fallback search engine
search_engines.default = search_engines.google
-- Use this instead to disable auto-searching
--search_engines.default = "%s"
-- Per-domain webview properties
-- See http://webkitgtk.org/reference/WebKitWebSettings.html
domain_props = { --[[
["all"] = {
enable_scripts = false,
enable_plugins = false,
enable_private_browsing = false,
user_stylesheet_uri = "",
},
["youtube.com"] = {
enable_scripts = true,
enable_plugins = true,
},
["bbs.archlinux.org"] = {
user_stylesheet_uri = "file://" .. luakit.data_dir .. "/styles/dark.css",
enable_private_browsing = true,
}, ]]
}
-- vim: et:sw=4:ts=8:sts=4:tw=80

200
.config/luakit/rc.lua Normal file
View File

@ -0,0 +1,200 @@
-----------------------------------------------------------------------
-- luakit configuration file, more information at http://luakit.org/ --
-----------------------------------------------------------------------
require "lfs"
if unique then
unique.new("org.luakit")
-- Check for a running luakit instance
if unique.is_running() then
if uris[1] then
for _, uri in ipairs(uris) do
if lfs.attributes(uri) then uri = os.abspath(uri) end
unique.send_message("tabopen " .. uri)
end
else
unique.send_message("winopen")
end
luakit.quit()
end
end
-- Load library of useful functions for luakit
require "lousy"
-- Small util functions to print output (info prints only when luakit.verbose is true)
function warn(...) io.stderr:write(string.format(...) .. "\n") end
function info(...) if luakit.verbose then io.stdout:write(string.format(...) .. "\n") end end
-- Load users global config
-- ("$XDG_CONFIG_HOME/luakit/globals.lua" or "/etc/xdg/luakit/globals.lua")
require "globals"
-- Load users theme
-- ("$XDG_CONFIG_HOME/luakit/theme.lua" or "/etc/xdg/luakit/theme.lua")
lousy.theme.init(lousy.util.find_config("theme.lua"))
theme = assert(lousy.theme.get(), "failed to load theme")
-- Load users window class
-- ("$XDG_CONFIG_HOME/luakit/window.lua" or "/etc/xdg/luakit/window.lua")
require "window"
-- Load users webview class
-- ("$XDG_CONFIG_HOME/luakit/webview.lua" or "/etc/xdg/luakit/webview.lua")
require "webview"
-- set dark about:blank -- Buggy with some site.
-- webview.init_funcs.set_dark = function (view, w)
-- view:add_signal("navigation-request", function (_, uri)
-- if uri == "about:blank" then
-- view:load_string("<html><body bgcolor='#000000'></body></html>", "about:blank") -- change this
-- return true
-- end
-- end)
-- end
-- Load users mode configuration
-- ("$XDG_CONFIG_HOME/luakit/modes.lua" or "/etc/xdg/luakit/modes.lua")
require "modes"
-- Load users keybindings
-- ("$XDG_CONFIG_HOME/luakit/binds.lua" or "/etc/xdg/luakit/binds.lua")
require "binds"
----------------------------------
-- Optional user script loading --
----------------------------------
require "webinspector"
-- Add sqlite3 cookiejar
require "cookies"
-- Cookie blocking by domain (extends cookies module)
-- Add domains to the whitelist at "$XDG_CONFIG_HOME/luakit/cookie.whitelist"
-- and blacklist at "$XDG_CONFIG_HOME/luakit/cookie.blacklist".
-- Each domain must be on it's own line and you may use "*" as a
-- wildcard character (I.e. "*google.com")
--require "cookie_blocking"
-- Block all cookies by default (unless whitelisted)
--cookies.default_allow = false
-- Add uzbl-like form filling
require "formfiller"
-- Add proxy support & manager
require "proxy"
-- Add quickmarks support & manager
require "quickmarks"
-- Add session saving/loading support
require "session"
-- Add command to list closed tabs & bind to open closed tabs
require "undoclose"
-- Add command to list tab history items
require "tabhistory"
-- Add greasemonkey-like javascript userscript support
require "userscripts"
-- Add bookmarks support
require "bookmarks"
-- Add download support
require "downloads"
require "downloads_chrome"
-- CUSTOM
downloads.default_dir = os.getenv("HOME") .. "/temp"
downloads.add_signal("download-location", function (uri, file)
if not file or file == "" then
file = (string.match(uri, "/([^/]+)$")
or string.match(uri, "^%w+://(.+)")
or string.gsub(uri, "/", "_")
or "untitled")
end
return downloads.default_dir .. "/" .. file
end)
-- Add vimperator-like link hinting & following
-- (depends on downloads)
require "follow"
-- To use a custom character set for the follow hint labels un-comment and
-- modify the following:
--local s = follow.styles
--follow.style = s.sort(s.reverse(s.charset("asdfqwerzxcv"))) -- I'm a lefty
-- Add command history
require "cmdhist"
-- Add search mode & binds
require "search"
-- Add ordering of new tabs
require "taborder"
-- Save web history
require "history"
require "history_chrome"
-- Add command completion
require "completion"
-- NoScript plugin, toggle scripts and or plugins on a per-domain basis.
-- `,ts` to toggle scripts, `,tp` to toggle plugins, `,tr` to reset.
-- Remove all "enable_scripts" & "enable_plugins" lines from your
-- domain_props table (in config/globals.lua) as this module will conflict.
--require "noscript"
require "follow_selected"
require "go_input"
require "go_next_prev"
require "go_up"
-----------------------------
-- End user script loading --
-----------------------------
-- Restore last saved session
local w = (session and session.restore())
if w then
for i, uri in ipairs(uris) do
w:new_tab(uri, i == 1)
end
else
-- Or open new window
window.new(uris)
end
-------------------------------------------
-- Open URIs from other luakit instances --
-------------------------------------------
if unique then
unique.add_signal("message", function (msg, screen)
local cmd, arg = string.match(msg, "^(%S+)%s*(.*)")
local w = lousy.util.table.values(window.bywidget)[1]
if cmd == "tabopen" then
w:new_tab(arg)
elseif cmd == "winopen" then
w = window.new((arg ~= "") and { arg } or {})
end
w.win.screen = screen
w.win.urgency_hint = true
end)
end
-- CUSTOM
local close_win = window.methods.close_win
window.methods.close_win = function (w, ...)
session.save{w}
close_win(w, ...)
end
-- vim: et:sw=4:ts=8:sts=4:tw=80

View File

@ -0,0 +1,18 @@
[general]
fontname=Monospace 10
selchars=-A-Za-z0-9,./?%&#:_
scrollback=1000
bgcolor=#000000000000
bgalpha=65535
fgcolor=#aaaaaaaaaaaa
disallowbold=false
cursorblinks=false
cursorunderline=false
audiblebell=false
tabpos=top
hidescrollbar=true
hidemenubar=true
hideclosebutton=true
disablef10=false
disablealt=false

137
.config/ranger/apps.py Normal file
View File

@ -0,0 +1,137 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2009, 2010, 2011 Roman Zimbelmann <romanz@lavabit.com>
# This configuration file is licensed under the same terms as ranger.
# ===================================================================
# In order to add application definitions "on top of" the default ones
# in your ~/.config/ranger/apps.py, you should subclass the class defined
# here like this:
import ranger
from ranger.api.apps import *
from ranger.ext.get_executables import get_executables
from ranger.defaults.apps import CustomApplications as DefaultApps
class CustomApplications(DefaultApps):
def app_default(self, c):
"""How to determine the default application?"""
f = c.file
if f.basename.lower() == 'makefile' and c.mode == 1:
made = self.either(c, 'make')
if made: return made
if f.extension is not None:
if f.extension in ('pdf', ):
c.flags += 'd'
return self.either(c, 'llpp', 'zathura', 'mupdf', 'apvlv',
'evince', 'okular', 'epdfview')
# CUSTOM
if f.extension == 'djvu':
c.flags += 'd'
return self.either(c, 'zathura', 'evince')
if f.extension == 'ps':
c.flags += 'd'
return self.either(c, 'zathura', 'evince')
# CUSTOM
if f.extension == 'm2ts':
c.flags += 'd'
return self.either(c, 'mplayer2', 'mplayer', 'smplayer', 'vlc')
if f.extension in ('xml', 'csv'):
return self.either(c, 'editor')
if f.extension == 'mid':
return self.either(c, 'wildmidi')
if f.extension in ('html', 'htm', 'xhtml') or f.extension == 'swf':
c.flags += 'd'
handler = self.either(c,
'luakit', 'uzbl', 'vimprobable', 'vimprobable2', 'jumanji',
'firefox', 'seamonkey', 'iceweasel', 'opera',
'surf', 'midori', 'epiphany', 'konqueror')
# Only return if some program was found:
if handler:
return handler
if f.extension in ('html', 'htm', 'xhtml'):
# These browsers can't handle flash, so they're not called above.
c.flags += 'D'
return self.either(c, 'elinks', 'links', 'links2', 'lynx', 'w3m')
if f.extension == 'nes':
return self.either(c, 'fceux')
if f.extension in ('swc', 'smc', 'sfc'):
return self.either(c, 'zsnes')
if f.extension == 'doc':
c.flags += 'd'
return self.either(c, 'abiword', 'libreoffice',
'soffice', 'ooffice')
if f.extension in ('odt', 'ods', 'odp', 'odf', 'odg', 'sxc',
'stc', 'xls', 'xlsx', 'xlt', 'xlw', 'gnm', 'gnumeric'):
c.flags += 'd'
return self.either(c, 'gnumeric', 'kspread',
'libreoffice', 'soffice', 'ooffice')
if f.mimetype is not None:
if INTERPRETED_LANGUAGES.match(f.mimetype):
return self.either(c, 'edit_or_run')
if f.container:
return self.either(c, 'aunpack', 'file_roller')
# CUSTOM
if f.video or f.audio:
if f.video:
c.flags += 'd'
return self.either(c, 'mplayer2', 'mplayer', 'smplayer', 'vlc',
'totem')
# CUSTOM
if f.image:
if c.mode in (11, 12, 13, 14):
return self.either(c, 'set_bg_with_feh')
else:
return self.either(c, 'sxiv', 'feh', 'gpicview' , 'eog', 'mirage')
if f.document or f.filetype.startswith('text') or f.size == 0:
return self.either(c, 'editor')
# You can put this at the top of the function and mimeopen will
# always be used for every file.
return self.either(c, 'mimeopen')
# ----------------------------------------- application definitions
# Note: Trivial application definitions are at the bottom
# CUSTOM
@depends_on('feh', 'X')
def app_feh(self, c):
c.flags += 'd'
if c.mode is 0 and len(c.files) is 1 and self.fm.env.cwd:
# view all files in the cwd
images = [f.basename for f in self.fm.env.cwd.files if f.image]
return 'feh', '-Z', '-.', '--start-at', c.file.basename, images
return 'feh', '-Z', '-.', c
# Forked applications
CustomApplications.generic(
'luakit', 'uzbl', 'vimprobable', 'vimprobable2', 'jumanji',
'firefox', 'seamonkey', 'iceweasel', 'opera',
'surf', 'midori', 'epiphany', 'konqueror',
'evince', 'zathura', 'apvlv', 'okular', 'epdfview', 'mupdf', 'llpp',
'eog', 'mirage', 'gimp',
'libreoffice', 'soffice', 'ooffice', 'gnumeric', 'kspread', 'abiword',
'gmplayer', 'smplayer', 'vlc',
flags='d', deps=['X'])
INTERPRETED_LANGUAGES = re.compile(r'''
^(text|application)/x-(
haskell|perl|python|ruby|sh
)$''', re.VERBOSE)

25
.config/ranger/options.py Normal file
View File

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2009, 2010, 2011 Roman Zimbelmann <romanz@lavabit.com>
# This configuration file is licensed under the same terms as ranger.
# ===================================================================
# This is the main configuration file of ranger. It consists of python
# code, but fear not, you don't need any python knowledge for changing
# the settings.
#
# Lines beginning with # are comments. To enable a line, remove the #.
#
# You can customize ranger in the file ~/.config/ranger/options.py.
# It has the same syntax as this file. In fact, you can just copy this
# file there with `ranger --copy-config=options' and make your modifications.
# But make sure you update your configs when you update ranger.
# ===================================================================
# from ranger.api.options import *
# Which colorscheme to use? These colorschemes are available by default:
# default, default88, jungle, snow
# Snow is monochrome and default88 uses 88 colors.
colorscheme = 'default88'
# Display the directory name in tabs?
dirname_in_tabs = True

78
.config/ranger/rc.conf Normal file
View File

@ -0,0 +1,78 @@
# ===================================================================
# This file contains the default startup commands for ranger.
# To change them, it is recommended to create the file
# ~/.config/ranger/rc.conf and add your custom commands there.
#
# If you copy this whole file there, add this line to your options.py
# so it is not loaded twice:
#
# load_default_rc = False
#
# The purpose of this file is mainly to define keybindings. For
# changing settings or running more complex python code, use the
# configuation file "options.py" or define commands in "commands.py".
#
# Each line is a command that will be run before the user interface
# is initialized. As a result, you can not use commands which rely
# on the UI such as :delete or :mark.
# ===================================================================
# ===================================================================
# == Define keys for the browser
# ===================================================================
# Basic
map ! console shell -w
# For the nostalgics: Midnight Commander bindings
map <F4> bulkrename
map <F5> console shell -w file "%f"
map <F6> console touch
map <F7> console mkdir
map <F8> console delete seriously?
map <F10> exit
# ===================================================================
# == Personal shorcuts
# ===================================================================
## Move to trash (without Trash-CLI)
# map DD shell mv -t ~/.local/share/Trash/files %s
## Move to trash (with Trash-CLI)
map DD shell trash-put %s
## Extraction. Ranger uses '1l', but does not work when extension is not right.
map ex shell aunpack -e %s
## SVN add.
map esa shell -w svn add %s
## SVN revert.
map esr shell -w svn revert %s
## SVN stats.
map ess shell -w svn status
## MPlayer
map ev console shell mplayer "%f" -sub "%s" -subcp latin1
## Cmus
map ea shell cmus-remote -P %s
# Quick moves
map K move up=5
map J move down=5
## Browse
#map <C-j> move down=5
#map <C-k> move up=5
## Tabs
#map <C-h> tab_move 1
#map <C-l> tab_move -1
## Create Project Archive
# map ap console archiveproject

85
.config/ranger/scope.sh Executable file
View File

@ -0,0 +1,85 @@
#!/bin/bash
# ranger supports enhanced previews. If the option "use_preview_script"
# is set to True and this file exists, this script will be called and its
# output is displayed in ranger. ANSI color codes are supported.
# NOTES: This script is considered a configuration file. If you upgrade
# ranger, it will be left untouched. (You must update it yourself.)
# Also, ranger disables STDIN here, so interactive scripts won't work properly
# Meanings of exit codes:
# code | meaning | action of ranger
# -----+------------+-------------------------------------------
# 0 | success | success. display stdout as preview
# 1 | no preview | failure. display no preview at all
# 2 | plain text | display the plain content of the file
# 3 | fix width | success. Don't reload when width changes
# 4 | fix height | success. Don't reload when height changes
# 5 | fix both | success. Don't ever reload
# Meaningful aliases for arguments:
path="$1" # Full path of the selected file
width="$2" # Width of the preview pane (number of fitting characters)
height="$3" # Height of the preview pane (number of fitting characters)
maxln=200 # Stop after $maxln lines. Can be used like ls | head -n $maxln
# Find out something about the file:
mimetype=$(file --mime-type -Lb "$path")
extension=${path##*.}
# Functions:
# "have $1" succeeds if $1 is an existing command/installed program
function have { type -P "$1" > /dev/null; }
# "success" returns the exit code of the first program in the last pipe chain
function success { test ${PIPESTATUS[0]} = 0; }
case "$extension" in
# Archive extensions:
7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
als "$path" | head -n $maxln
success && exit 0 || acat "$path" | head -n $maxln && exit 3
exit 1;;
# PDF documents:
pdf)
pdftotext -l 10 -nopgbrk -q "$path" - | head -n $maxln | fmt -s -w $width
success && exit 0 || exit 1;;
# CUSTOM
# MKV videos:
mkv)
mediainfo "$path" | sed 's/ \+:/: /;'
success && exit 5 || exit 1;;
# BitTorrent Files
torrent)
transmission-show "$path" | head -n $maxln && exit 3
success && exit 5 || exit 1;;
# HTML Pages:
htm|html|xhtml)
have w3m && w3m -dump "$path" | head -n $maxln | fmt -s -w $width && exit 4
have lynx && lynx -dump "$path" | head -n $maxln | fmt -s -w $width && exit 4
have elinks && elinks -dump "$path" | head -n $maxln | fmt -s -w $width && exit 4
;; # fall back to highlight/cat if theres no lynx/elinks
esac
case "$mimetype" in
# Syntax highlight for text files:
text/* | */xml)
highlight --out-format=ansi "$path" | head -n $maxln
success && exit 5 || exit 2;;
# Ascii-previews of images:
image/*)
img2txt --gamma=0.6 --width="$width" "$path" && exit 4 || exit 1;;
# Display information about media files:
video/* | audio/*)
have exiftool && exiftool "$path" && exit 5
# Use sed to remove spaces so the output fits into the narrow window
if have mediainfo; then
mediainfo "$path" | sed 's/ \+:/: /;'
success && exit 5
fi
exit 1;;
esac
exit 1

10
.config/wmfs/speeddown.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
# speeddown.sh
# sources <https://bitbucket.org/jasonwryan/workstation/src/d2045f97201e/scripts/speed.sh>
RXB=$(cat /sys/class/net/eth0/statistics/rx_bytes)
sleep 2
RXBN=$(cat /sys/class/net/eth0/statistics/rx_bytes)
RXDIF=$(echo $((RXBN - RXB)) )
echo "$((RXDIF / 1024 / 2))"

10
.config/wmfs/speedup.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
# speedup.sh
# sources <https://bitbucket.org/jasonwryan/workstation/src/d2045f97201e/scripts/speed.sh>
TXB=$(cat /sys/class/net/eth0/statistics/tx_bytes)
sleep 2
TXBN=$(cat /sys/class/net/eth0/statistics/tx_bytes)
TXDIF=$(echo $((TXBN - TXB)) )
echo "$((TXDIF / 1024 / 2))"

237
.config/wmfs/status.sh Executable file
View File

@ -0,0 +1,237 @@
#!/bin/bash
################################################################################
## WMFS Config -- Status Bar Script
## Date 2012-01-07
##
## Author: Ambrevar <ambrevar at gmail dot com>
## Adapted from AddiKT1ve <the.addikt1ve@gmail.com>
################################################################################
# Prevent script from running multiple time.
# WARNING: it will kill all process with 'wmfs' and 'status.sh' in their names!
kill $(ps U $UID | awk '/wmfs/&&/status.sh/' | grep -vi "$$\|grep\|awk" | awk '{print $1}')
## mpd info
## <mpc> is required for "now playing" informations
_mpd() {
if [ "`mpc 2>&1 | wc -l`" -gt "1" ]; then
if [ "`mpc | grep "^\[paused\]"`" != "" ]; then
mpd_current="`mpc current` [pause]"
else
mpd_current=`mpc current`
fi
else
mpd_current="\o/"
fi
mpd="\\#cba642\\$mpd_current"
}
# mocp author info
# <mocp> is required for "now playing" informations
_mocp_author(){
author=`mocp -i | grep Artist | awk -F ": " '{print $2}'`
mocp_author="\\#cba642\\$author"
}
# mocp author info
# <mocp> is required for "now playing" informations
_mocp_song(){
SONG=`mocp -i | grep SongTitle | awk -F ": " '{print $2}'`
}
# network
# network usage stats
_network() {
# Variables
ethiface=eth0
wlaniface=wlan0
tmpdir=/tmp
# Functions
function rx_bytes # download
{
[[ -e "/sys/class/net/$1/statistics/rx_bytes" ]] \
&& echo $(cat /sys/class/net/$1/statistics/rx_bytes)
}
function tx_bytes # upload
{
[[ -e "/sys/class/net/$1/statistics/tx_bytes" ]] \
&& echo $(cat /sys/class/net/$1/statistics/tx_bytes)
}
# Download
lastrxbytes=0
if [ -f "$tmpdir/last_rxbytes" ]; then
lastrxbytes=$(cat "$tmpdir/last_rxbytes")
fi
# Upload
lasttxbytes=0
if [ -f "$tmpdir/last_txbytes" ]; then
lasttxbytes=$(cat "$tmpdir/last_txbytes")
fi
# Download
rxbytes=$(rx_bytes $ethiface)
rxresult=$((($rxbytes-lastrxbytes)/1000))
echo $rxbytes > "$tmpdir/last_rxbytes"
# Upload
txbytes=$(tx_bytes $ethiface)
txresult=$((($txbytes-lasttxbytes)/1000))
echo $txbytes > "$tmpdir/last_txbytes"
# Output
network="\\#81ae51\\↓ $rxresult Ko/s | $txresult Ko/s ↑\\#ffffff\\"
}
# battery state
_battery() {
if [ -e /sys/class/power_supply/BAT*/status ]; then
bat_percent=$((`cat /sys/class/power_supply/BAT*/energy_now`/`cat /sys/class/power_supply/BAT*/energy_full_design | sed 's/00$//'`))
bat_acpi=`cat /sys/class/power_supply/BAT*/status`
# use an arrow to show if battery is charging, discharging or full/AC
if [ "$bat_acpi" = "Discharging" ]; then
bat_state="↓"
elif [ "$bat_acpi" = "Charging" ]; then
bat_state="↑"
fi
# blinking battery percent indicator if bat_percent < 15
if [ "$bat_percent" -lt "15" ]; then
bat_fail=1
if [ "`cat /tmp/batteryfail`" ]; then
color="\\#ff6b6b\\"
echo 0 > /tmp/batteryfail
else
color="\\#435e87\\"
echo 1 > /tmp/batteryfail
fi
else
bat_fail=0
color="\\#C0C0C0\\"
fi
## battery time
## <acpi> is required
# bat_remtime="`acpi | cut -d' ' -f5 | cut -d':' -f1,2`"
battery="$color Bat. $bat_percent% $bat_statei\\#ffffff\\"
else
battery="$color On sector\\#ffffff\\"
fi
}
# uptime
_uptime() {
uptime=`cut -d'.' -f1 /proc/uptime`
secs=$((${uptime}%60))
mins=$((${uptime}/60%60))
hours=$((${uptime}/3600%24))
days=$((${uptime}/86400))
uptime="${mins}m ${secs}s"
if [ "${hours}" -ne "0" ]; then
uptime="${hours}h ${uptime}"
fi
if [ "${days}" -ne "0" ]; then
uptime="${days}d ${uptime}"
fi
uptime="\\#ff8200\\${uptime}\\#ffffff\\"
}
# memory usage
_memory() {
memory_used="`free -m | sed -n 's|^-.*:[ \t]*\([0-9]*\) .*|\1|gp'`"
memory_total="`free -m | sed -n 's|^M.*:[ \t]*\([0-9]*\) .*|\1|gp'`"
memory="$memory_used/$memory_total Mo"
}
# volume
# <amixer> is required
_volume() {
if [ "`amixer get Master | grep '\[off\]$'`" = "" ]; then
volume=`amixer get Master | sed -n 's|.*\[\([0-9]*\)\%.*|\1%|pg'`
else
volume="[off]"
fi
volume="\\#47B6cA\\Vol. ${volume}\\#ffffff\\"
}
# date
_date() {
sys_date=`date '+%a %d %b %Y'`
date="\\#ff6b6b\\$sys_date\\#ffffff\\"
}
# Hour
_hour() {
sys_hour=`date '+%H:%M'`
hour="\\#1793d1\\$sys_hour \\#ffffff\\ "
}
# ompload
#
# <ompload> is required
# <cropscreen.sh> is required
_ompload() {
[ -e /tmp/omploadurl ] && ompload_url=`cat /tmp/omploadurl`
ompload="$ompload_url"
}
# CPU Usage
# <conky> is required
_cpuusage() {
cpuusage="CPU "
for i in 1 2 3 4
do
cpuusage+="$(conky -i2 -u 0.5 |tail -n5|grep CPU$i|cut -f2 -d':') "
done
cpuusage="\\#fec023\\$cpuusage\\#ffffff\\ "
}
# HD Usage
# <conky> is required
_diskusage() {
diskusage="HDD "
diskusage+="$(conky -i2 -u 0.5|tail -n5|grep HDD|cut -f2 -d':') "
}
# Separator
# For appearance only
_separator() {
separator="•"
}
# concatenate arguments
statustext() {
args=""
for arg in $@; do
_${arg}
args="${args} `eval echo '$'$arg`"
done
# wmfs magic
wmfs -s "$args"
}
################################################################################
## status text
##
## add <variables> from the above definition without underscore.
## Example:
## while true; do statustext volume separator date separator hour separator ; sleep 1; done
################################################################################
# The status will be constantly updated until WMFS is closed.
while [ "$(ps U $UID | awk '{print $5}' | grep ^wmfs$)" != "" ] ; do
statustext battery separator diskusage separator cpuusage separator network separator volume separator date separator hour separator
sleep 1
done

173
.config/wmfs/wmfs-status.sh Executable file
View File

@ -0,0 +1,173 @@
#!/bin/bash
################################################################################
## WMFS Status bar
## Date: 2012-03-02
################################################################################
################################################################################
## Options
################################################################################
TIMING=1
#colors
default="#222222"
green="#4E9A06"
lightgreen="#6DDD00"
grey="#7D7D7D"
dark="#1A1A1A"
dblue="#1874cd"
blue="#63b8ff"
red="#CC0000"
orange="#FFB000"
purple="#8E00FF"
# separator
sep="^R[right;2;10;$default]"
# Terminal command
# termcmd="urxvtc -e "
termcmd="lxterminal -e "
################################################################################
## Commands
################################################################################
# power
pwr(){
if [ -e /sys/class/power_supply/BAT*/status ]; then
pwrperc="$(awk 'sub(/,/,"") {print $4}' <(acpi -b) | cut -d , -f 1 $1)"
if [ "$pwrperc" == "100%" ]; then
pwr="100"
else
pwr="$(echo $pwrperc | cut -c1-2)"
fi
echo "^s[70;10;$grey;bat]^p[90;2;40;8;0;$pwr;100;$dark;$dblue]^R[110;2;1;10;$default]"
fi
}
# cpugraph
cpugraph(){
cpu="$(eval $(awk '/^cpu /{print "previdle=" $5 "; prevtotal=" $2+$3+$4+$5 }' /proc/stat); sleep 0.4;
eval $(awk '/^cpu /{print "idle=" $5 "; total=" $2+$3+$4+$5 }' /proc/stat);
intervaltotal=$((total-${prevtotal:-0}));
echo "$((100*( (intervaltotal) - ($idle-${previdle:-0}) ) / (intervaltotal) ))")"
echo "^s[140;10;$grey;core]^g[170;2;80;8;$cpu;100;$dark;$orange;cpugraph](1;spawn;$termcmd htop)"
}
# membar
membar(){
memu="$(free -m | sed -n 's|^-.*:[ \t]*\([0-9]*\) .*|\1|gp')"
memt="$(free -m | sed -n 's|^M.*:[ \t]*\([0-9]*\) .*|\1|gp')"
echo "^s[260;10;$grey;mem ]^p[290;2;80;8;0;$memu;$memt;$dark;$lightgreen](1;spawn;$termcmd htop)^R[330;2;1;10;$default]"
}
# hdd section
hdd(){
hdd="$(df -h|grep sda3|awk '{print $5}' | cut -c1-2)"
echo "^s[390;10;$grey;hdd]^p[415;2;40;8;0;$hdd;100;$dark;$grey](1;spawn;$termcmd ncdu)"
}
# internet section
# netup(){
# netup="$("$HOME/bin/speedup.sh")"
# echo "^s[465;10;$grey;net ]^p[490;2;100;4;0;$netup;150;$dark;$dblue](1;spawn;$termcmd net-monitor)"
# }
# netdown(){
# netdown="$("$HOME/bin/speeddown.sh")"
# echo "^p[490;7;100;4;0;$netdown;2200;$dark;$blue](1;spawn;$termcmd net-monitor)"
# }
# date/time section
day(){
day="$(date +"%d")"
echo "^s[630;10;$grey;date]^p[660;2;100;4;0;$day;31;$dark;$grey]"
}
month(){
month="(date +"%m")"
echo "^p[660;7;100;4;0;$month;12;$dark;$grey]"
}
hour(){
hour="$(date +"%I")"
echo "^s[770;10;$grey;time ]^p[800;2;80;4;0;$hour;12;$dark;$green]"
}
minute(){
minute="$(date +"%M")"
echo "^p[800;7;80;4;0;$minute;60;$dark;$green]^R[820;0;1;12;$default]^R[840;0;1;12;$default]^R[860;0;1;12;$default]"
}
# sound
volpcm(){
volpcm="$(amixer get PCM | tail -1 | sed 's/.*\[\([0-9]*%\)\].*/\1/')"
if [ "$volpcm" == "100%" ]; then
pcm="100"
else
pcm="$(echo $volpcm | cut -c1-2)"
fi
echo "^s[10;10;$grey;vol ]^p[30;2;50;4;0;$pcm;100;$dark;$dblue]"
}
statustext()
{
wmfs -c status "topbar $(pwr) $(cpugraph) $(membar) $(hdd) $(day) $(month) $(hour) $(minute)"
wmfs -c status "bottombar $(volpcm)"
}
while true;
do
statustext
sleep $TIMING
done
################################################################################
## Not used
################################################################################
# MOC
# music(){
# music="$(conky -c ~/.config/wmfs/conkyrc_mocp)"
# echo "^s[270;10;#7D7D7D;$music]"
# }
# mocp control
# mocpctrl(){
# echo "^s[90;9;$grey;mocp](1;spawn;urxvt -e mocp) ^R[125;1;16;10;$dark]^s[126;10;$grey;<<](1;spawn;mocp -r) ^R[142;1;24;10;$dark]^s[150;10;$grey;>I](1;spawn;mocp -p) ^R[167;1;16;10;$dark]^s[168;10;$grey;>>](1;spawn;mocp -f) ^R[184;1;16;10;$dark]^s[188;9;$grey;II](1;spawn;mocp -G)"
# }
# mocpbar
# mocpbar(){
# if [ "$(pidof mocp)" ]; then
# total="$(mocp -Q %ts)"
# curr="$(mocp -Q %cs)"
# else
# total="20"
# curr="0"
# fi
# echo "^p[210;1;50;10;1;$curr;$total;$dark;$grey]"
# }
## Mail
# email(){
# if [ "$(pidof claws-mail)" ];then
# mail="$(claws-mail --status | awk '{print $2}')"
# else
# mail="0"
# fi
# echo "^s[20;10;$grey;mail]^s[45;10;$green;$mail]"
# }
## Volume
# volibm(){
# volume="$(conky -c ~/.config/wmfs/conkyrc_sound)"
# if [ "$volume" == "mute" ]; then
# ibm="0"
# else
# ibm="$(conky -c ~/.config/wmfs/conkyrc_sound | awk '{printf $1*100/14}' | cut -d . -f 1 $1)"
# fi
# echo "^p[30;7;50;4;0;$ibm;100;$dark;$blue]"
# }

58
.config/wmfs/wmfs.d/bars Normal file
View File

@ -0,0 +1,58 @@
[bars]
# Position:
#
# 0 Top
# 1 Bottom
# 2 Hide
# Element type:
#
# t Tags
# s Statustext (will take available space)
# y Systray (can be set only ONE time among all element)
# l Launcher (will be expended at launcher use)
# [bar]
# name = "rightbar"
# position = 1
# screen = 1
# elements = "yslt"
# theme = "blue"
# [/bar]
# [bar]
# name = "topbar"
# position = 2
# screen = 0
# elements = "s"
# theme = "topbar"
# [/bar]
[bar]
name = "topbar"
position = 0
screen = 0
elements = "tlsy" # element order in bar
theme = "blue"
#theme = "default"
[/bar]
[bar]
name = "bottombar"
position = 1
screen = 0
elements = "s" # element order in bar
# theme = "blue"
theme = "bluish"
[/bar]
# [bar]
# position = 0
# screen = 1
# elements = "ts"
# theme = "default"
# [/bar]
[/bars]

View File

@ -0,0 +1,11 @@
[client]
theme = "blue"
key_modifier = "Super"
[mouse] button = "1" func = "client_focus_click" [/mouse]
[mouse] button = "1" func = "mouse_swap" [/mouse]
[mouse] button = "2" func = "mouse_tab" [/mouse]
[mouse] button = "3" func = "mouse_resize" [/mouse]
[mouse] button = "4" func = "client_focus_next_tab" [/mouse]
[mouse] button = "5" func = "client_focus_prev_tab" [/mouse]
[/client]

139
.config/wmfs/wmfs.d/keys Normal file
View File

@ -0,0 +1,139 @@
[keys]
######################
# Software shortcuts #
######################
[key] mod = {"Super"} key = "Return" func = "spawn" cmd = "lxterminal || urxvt || xterm" [/key]
[key] mod = {"Super"} key = "w" func = "spawn" cmd = "firefox" [/key]
[key] mod = {"Super"} key = "t" func = "spawn" cmd = "thunderbird" [/key]
[key] mod = {"Super"} key = "e" func = "spawn" cmd = "lxterminal -e ranger" [/key]
[key] mod = {"Super"} key = "r" func = "spawn" cmd = "evince" [/key]
## Cmus
[key] mod = {"Super"} key = "a" func = "spawn" cmd = "lxterminal -e cmus" [/key]
[key] mod = {"Super","Alt"} key = "a" func = "spawn" cmd = "cmus-remote -u" [/key]
[key] mod = {"Super","Shift"} key = "a" func = "spawn" cmd = "cmus-remote -n" [/key]
[key] mod = {"Super","Control"} key = "a" func = "spawn" cmd = "cmus-remote -r" [/key]
# Sound Control
[key] mod = {"Super"} key = "KP_Subtract" func = "spawn" cmd = "amixer set Master 5%-" [/key]
[key] mod = {"Super"} key = "KP_Add" func = "spawn" cmd = "amixer set Master 5%+" [/key]
[key] mod = {"Super"} key = "KP_Divide" func = "spawn" cmd = "amixer set Master mute" [/key]
[key] mod = {"Super"} key = "KP_Multiply" func = "spawn" cmd = "amixer set Master unmute" [/key]
# Take a screenshot.
[key] key = "Print" func = "spawn" cmd = "scrot '%Y-%m-%d-%H%M%S_$wx$h.png' -e 'mkdir -p ~/shots && mv $f ~/shots/'" [/key]
# Lock the screen.
[key] mod = {"Super"} key = "l" func = "spawn" cmd = "xscreensaver-command --lock" [/key]
#################
# WMFS commands #
#################
[key] mod = {"Control", "Super", "Alt"} key = "q" func = "quit" [/key]
[key] mod = {"Control", "Super", "Alt"} key = "r" func = "reload" [/key]
# Toggle client free/tile
[key] mod = {"Super"} key = "f" func = "client_toggle_free" [/key]
# Launcher
[key] mod = {"Super"} key = "p" func = "launcher" cmd = "exec" [/key]
# Man launcher
[key] mod = {"Super"} key = "m" func = "launcher" cmd = "launcher_man" [/key]
[key] mod = {"Super"} key = "q" func = "client_close" [/key]
####################
# Tag manipulation #
####################
[key] mod = {"Super"} key = "F1" func = "tag_set" cmd = "0" [/key]
[key] mod = {"Super"} key = "F2" func = "tag_set" cmd = "1" [/key]
[key] mod = {"Super"} key = "F3" func = "tag_set" cmd = "2" [/key]
[key] mod = {"Super"} key = "F4" func = "tag_set" cmd = "3" [/key]
[key] mod = {"Super"} key = "F5" func = "tag_set" cmd = "4" [/key]
[key] mod = {"Super"} key = "F6" func = "tag_set" cmd = "5" [/key]
[key] mod = {"Super"} key = "F7" func = "tag_set" cmd = "6" [/key]
[key] mod = {"Super"} key = "F8" func = "tag_set" cmd = "7" [/key]
[key] mod = {"Super"} key = "F9" func = "tag_set" cmd = "8" [/key]
[key] mod = {"Super"} key = "F10" func = "tag_set" cmd = "9" [/key]
[key] mod = {"Super"} key = "F11" func = "tag_set" cmd = "10" [/key]
[key] mod = {"Super"} key = "F12" func = "tag_set" cmd = "11" [/key]
[key] mod = {"Super", "Alt"} key = "F1" func = "tag_client" cmd = "0" [/key]
[key] mod = {"Super", "Alt"} key = "F2" func = "tag_client" cmd = "1" [/key]
[key] mod = {"Super", "Alt"} key = "F3" func = "tag_client" cmd = "2" [/key]
[key] mod = {"Super", "Alt"} key = "F4" func = "tag_client" cmd = "3" [/key]
[key] mod = {"Super", "Alt"} key = "F5" func = "tag_client" cmd = "4" [/key]
[key] mod = {"Super", "Alt"} key = "F6" func = "tag_client" cmd = "5" [/key]
[key] mod = {"Super", "Alt"} key = "F7" func = "tag_client" cmd = "6" [/key]
[key] mod = {"Super", "Alt"} key = "F8" func = "tag_client" cmd = "7" [/key]
[key] mod = {"Super", "Alt"} key = "KP_Subtract" func = "tag_del" [/key]
[key] mod = {"Super", "Alt"} key = "KP_Add" func = "tag_new" [/key]
[key] mod = {"Super"} key = "Next" func = "tag_next" [/key]
[key] mod = {"Super"} key = "Prior" func = "tag_prev" [/key]
# tag function: cmd = nameofthetag
#[key] mod = {"Super"} key = "z" func = "tag" cmd = "2" [/key]
#[key] mod = {"Control"} key = "Up" func = "screen_next" [/key]
#[key] mod = {"Control"} key = "Down" func = "screen_prev" [/key]
# Focus next / prev client and next / prev tabbed client
[key] mod = { "Super" } key = "Tab" func = "client_focus_next" [/key]
[key] mod = { "Super", "Shift" } key = "Tab" func = "client_focus_prev" [/key]
[key] mod = { "Super", "Alt" } key = "Tab" func = "client_focus_next_tab" [/key]
[key] mod = { "Super", "Alt", "Shift" } key = "Tab" func = "client_focus_prev_tab" [/key]
# Focus next client with direction
[key] mod = {"Super"} key = "Left" func = "client_focus_left" [/key]
[key] mod = {"Super"} key = "Right" func = "client_focus_right" [/key]
[key] mod = {"Super"} key = "Up" func = "client_focus_top" [/key]
[key] mod = {"Super"} key = "Down" func = "client_focus_bottom" [/key]
# swap next client with direction:
[key] mod = {"Super", "Alt"} key = "Left" func = "client_swap_left" [/key]
[key] mod = {"Super", "Alt"} key = "Right" func = "client_swap_right" [/key]
[key] mod = {"Super", "Alt"} key = "Up" func = "client_swap_top" [/key]
[key] mod = {"Super", "Alt"} key = "Down" func = "client_swap_bottom" [/key]
# Resize selected tiled client with direction
[key] mod = {"Super", "Shift"} key = "Left" func = "client_resize_left" cmd = "20" [/key]
[key] mod = {"Super", "Shift"} key = "Right" func = "client_resize_left" cmd = "-20" [/key]
[key] mod = {"Super", "Shift"} key = "Up" func = "client_resize_top" cmd = "20" [/key]
[key] mod = {"Super", "Shift"} key = "Down" func = "client_resize_top" cmd = "-20" [/key]
[key] mod = {"Super", "Control"} key = "Left" func = "client_resize_right" cmd = "-20" [/key]
[key] mod = {"Super", "Control"} key = "Right" func = "client_resize_right" cmd = "20" [/key]
[key] mod = {"Super", "Control"} key = "Up" func = "client_resize_bottom" cmd = "-20" [/key]
[key] mod = {"Super", "Control"} key = "Down" func = "client_resize_bottom" cmd = "20" [/key]
# Tabbing command
[key] mod = {"Alt", "Super"} key = "h" func = "client_tab_left" [/key]
[key] mod = {"Alt", "Super"} key = "l" func = "client_tab_right" [/key]
[key] mod = {"Alt", "Super"} key = "k" func = "client_tab_top" [/key]
[key] mod = {"Alt", "Super"} key = "j" func = "client_tab_bottom" [/key]
[key] mod = {"Alt", "Super"} key = "u" func = "client_untab" [/key]
#[key] mod = {"Super"} key = "t" func = "client_tab_next_opened" [/key]
##########
# Unused #
##########
# Layout manipulation
#[key] mod = {"Super"} key = "m" func = "layout_vmirror" [/key]
#[key] mod = {"Super", "Shift"} key = "m" func = "layout_hmirror" [/key]
# [key] mod = {"Super"} key = "r" func = "layout_rotate_right" [/key]
# [key] mod = {"Super", "Shift"} key = "r" func = "layout_rotate_left" [/key]
# [key] mod = {"Control", "Super", "Alt"} key = "h" func = "layout_integrate_left" [/key]
# [key] mod = {"Control", "Super", "Alt"} key = "j" func = "layout_integrate_bottom" [/key]
# [key] mod = {"Control", "Super", "Alt"} key = "k" func = "layout_integrate_top" [/key]
# [key] mod = {"Control", "Super", "Alt"} key = "l" func = "layout_integrate_right" [/key]
# Layout set historic travelling function (TESTING)
# [key] mod = {"Super"} key = "o" func = "layout_prev_set" [/key]
# [key] mod = {"Super", "Shift"} key = "o" func = "layout_next_set" [/key]
[/keys]

View File

@ -0,0 +1,19 @@
[launchers]
# command can be an uicb function or an uicb function + extension (see example)
# Example of uicb + ext:
# command = "spawn xterm -e"
[launcher]
name = "exec"
prompt = " Run:"
command = "spawn"
width = 300
[/launcher]
[launcher]
name = "launcher_man"
prompt = " Man:"
command = "spawn lxterminal -e man"
width = 300
[/launcher]
[/launchers]

24
.config/wmfs/wmfs.d/rules Normal file
View File

@ -0,0 +1,24 @@
[rules]
[rule]
instance = "Mail"
class = "Thunderbird"
role = "3pane"
# name = ""
# theme = "default"
tag = 6 # 2nd tag
screen = 0
free = false
tab = false
ignore_tag = false
[/rule]
[rule]
instance = "xv"
class = "MPlayer"
free = true
[/rule]
[/rules]

23
.config/wmfs/wmfs.d/tags Normal file
View File

@ -0,0 +1,23 @@
[tags]
theme = "blue"
# Use no screen option or screen = -1 to set tag on each screen
[tag]
name = " 1 "
# statusline=""
[/tag]
[tag] name = " 2 " [/tag]
[tag] name = " 3 " [/tag]
[tag] name = " 4 " [/tag]
[tag] name = " Forge " [/tag]
[tag] name = " Music " [/tag]
[tag] name = " Mail " [/tag]
# Mousebinds associated to Tags element button
[mouse] button = "1" func = "tag_click" [/mouse]
[mouse] button = "4" func = "tag_next" [/mouse]
[mouse] button = "5" func = "tag_prev" [/mouse]
[/tags]

266
.config/wmfs/wmfs.d/themes Normal file
View File

@ -0,0 +1,266 @@
# Multi theme section
[themes]
# No name mean default
[theme]
# font = "fixed"
# Bars
bars_width = 21
bars_fg = "#E6E6E6"
bars_bg = "#4D0000"
# Element tags
tags_normal_fg = "#E6E6E6"
tags_normal_bg = "#800000"
tags_sel_fg = "#E6E6E6"
tags_sel_bg = "#CC6666"
tags_occupied_fg = "#E6E6E6"
tags_occupied_bg = "#994D4D"
tags_occupied_statusline = "\R[0;0;100;1;#994D4D]"
tags_urgent_fg = "#E6E6E6"
tags_urgent_bg = "#D88C34"
tags_border_color = "#000000"
#tags_border_color = "#112211"
tags_border_width = 1
# Frame / Client
client_normal_fg = "#E6E6E6"
client_normal_bg = "#330000"
client_normal_statusline = "\s[3;9;#121212;x] \s[2;8;#E6E6E6;x](1;client_close)"
client_sel_fg = "#E6E6E6"
client_sel_bg = "#660000"
client_sel_statusline = "\s[3;9;#121212;x] \s[2;8;#E6E6E6;x](1;client_close)"
frame_bg = "#555555"
client_titlebar_width = 18
client_border_width = 1
[/theme]
[theme]
name = "blue"
font = "dejavu-8"
# BAR
# bg = "#191919"
# fg = "#D4D4D4"
# TAGS
# occupied_bg = "#003366"
# occupied_fg = "#D4D4D4"
# sel_fg = "#191919"
# sel_bg = "#7E89A2"
# urgent_bg = "#DD1111"
# urgent_fg = "#000000"
# CLIENT
# fg_focus = "#9F9AB3"
# border_focus = "#003366"
# CLIENT
# border_normal = "#191919"
# fg_normal = "#7E89A2"
# Bars
bars_width = 21
bars_fg = "#D4D4D4"
bars_bg = "#000000"
# Element tags
tags_normal_fg = "#D4D4D4"
tags_normal_bg = "#191919"
tags_sel_fg = "#191919"
tags_sel_bg = "#7E89A2"
tags_occupied_fg = "#D4D4D4"
tags_occupied_bg = "#003366"
# tags_occupied_statusline = "\R[0;0;100;1;#994D4D]"
tags_urgent_fg = "#000000"
tags_urgent_bg = "#DD1111"
tags_border_color = "#000000"
tags_border_width = 1
# Frame / Client
client_normal_fg = "#7E89A2"
client_normal_bg = "#333333"
client_normal_statusline = "\s[3;9;#121212;x] \s[2;8;#E6E6E6;x](1;client_close)"
client_sel_fg = "#9F9AB3"
client_sel_bg = "#003366"
client_sel_statusline = "\s[3;9;#121212;x] \s[2;8;#E6E6E6;x](1;client_close)"
frame_bg = "#FF0000"
client_titlebar_width = 18
client_border_width = 1
[/theme]
[theme]
# default arp theme
name = "greygreen"
font = "snap"
# Bars
bars_width = 12
bars_fg = "#7D7D7D"
bars_bg = "#222222"
# Element tags
tags_normal_fg = "#7D7D7D"
tags_normal_bg = "#222222"
#tags_normal_statusline = ""
tags_sel_fg = "#222222"
tags_sel_bg = "#6DDD00"
#tags_sel_statusline = ""
tags_occupied_fg = "#7D7D7D"
tags_occupied_bg = "#1A1A1A"
tags_occupied_statusline = "\R[2;11;11;1;#6DDD00]"
tags_border_color = "#222222"
tags_border_width = 0
# Frame / Client
client_normal_fg = "#7D7D7D"
client_normal_bg = "#222222"
#client_normal_statusline = ""
client_sel_fg = "#222222"
client_sel_bg = "#7D7D7D"
#client_sel_statusline = ""
frame_bg = "#C7C7C7"
client_titlebar_width = 1
client_border_width = 1
[/theme]
[theme]
name = "bluish"
font = "snap"
# Bars
bars_width = 12
bars_fg = "#63b8ff"
bars_bg = "#222222"
# Element tags
tags_normal_fg = "#7D7D7D"
tags_normal_bg = "#222222"
# tags_normal_statusline = ""
tags_sel_fg = "#222222"
tags_sel_bg = "#63b8ff"
# tags_sel_statusline = ""
tags_occupied_fg = "#7D7D7D"
tags_occupied_bg = "#1A1A1A"
tags_occupied_statusline = "\R[2;11;14;1;#63b8ff]"
tags_border_color = "#222222"
tags_border_width = 0
# Frame / Client
client_normal_fg = "#7D7D7D"
client_normal_bg = "#222222"
client_normal_statusline = "\s[3;9;#7D7D7D;#](1;client_close)"
client_sel_fg = "#222222"
client_sel_bg = "#63b8ff"
client_sel_statusline = "\s[3;9;#222222;#](1;client_close)"
frame_bg = "#63b8ff"
client_titlebar_width = 12
client_border_width = 1
[/theme]
[theme]
name = "topbar"
font = "-*-terminus-medium-*-*-*-*-*-*-*-*-*-*-pt154"
# Bars
bars_width = 2
bars_fg = "#63b8ff"
bars_bg = "#222222"
# Element tags
tags_normal_fg = "#7D7D7D"
tags_normal_bg = "#222222"
# tags_normal_statusline = ""
tags_sel_fg = "#222222"
tags_sel_bg = "#63b8ff"
# tags_sel_statusline = ""
tags_occupied_fg = "#7D7D7D"
tags_occupied_bg = "#222222"
tags_occupied_statusline = "\R[1;0;2;4;#63b8ff]"
tags_border_color = "#222222"
tags_border_width = 0
# Frame / Client
client_normal_fg = "#7D7D7D"
client_normal_bg = "#222222"
client_normal_statusline = "\s[3;9;#7D7D7D;#](1;client_close)"
client_sel_fg = "#222222"
client_sel_bg = "#63b8ff"
client_sel_statusline = "\s[3;9;#222222;#](1;client_close)"
frame_bg = "#63b8ff"
client_titlebar_width = 12
client_border_width = 1
[/theme]
[theme]
# clients without title
name = "titleless"
font = "-*-terminus-medium-*-*-*-*-*-*-*-*-*-*-pt154"
# Bars
bars_width = 12
bars_fg = "#7D7D7D"
bars_bg = "#222222"
# Element tags
tags_normal_fg = "#7D7D7D"
tags_normal_bg = "#222222"
#tags_normal_statusline = ""
tags_sel_fg = "#222222"
tags_sel_bg = "#6DDD00"
#tags_sel_statusline = ""
tags_occupied_fg = "#7D7D7D"
tags_occupied_bg = "#222222"
tags_occupied_statusline = "\R[1;0;2;4;#6DDD00]"
tags_border_color = "#222222"
tags_border_width = 0
# Frame / Client
client_normal_fg = "#7D7D7D"
client_normal_bg = "#222222"
#client_normal_statusline = ""
client_sel_fg = "#7D7D7D"
client_sel_bg = "#222222"
#client_sel_statusline = ""
frame_bg = "#C7C7C7"
client_titlebar_width = 0
client_border_width = 2
[/theme]
[theme]
# theme from sources
name = "defaultnew"
font = "fixed"
# Bars
bars_width = 14
bars_fg = "#AABBAA"
bars_bg = "#223322"
# Element tags
tags_normal_fg = "#AABBAA"
tags_normal_bg = "#223322"
# tags_normal_statusline = ""
tags_sel_fg = "#223322"
tags_sel_bg = "#AABBAA"
# tags_sel_statusline = ""
tags_occupied_fg = "#AABBAA"
tags_occupied_bg = "#445544"
tags_occupied_statusline = "\R[0;0;3;3;#AABBAA]"
tags_urgent_fg = "#223322"
tags_urgent_bg = "#CC5544"
# tags_urgent_statusline = ""
tags_border_color = "#112211"
tags_border_width = 1
# Frame / Client
client_normal_fg = "#AABBAA"
client_normal_bg = "#223322"
client_normal_statusline = "\s[3;9;#121212;x] \s[2;8;#ff0000;x](1;client_close)"
client_sel_fg = "#223322"
client_sel_bg = "#AABBAA"
client_sel_statusline = "\s[3;9;#121212;x] \s[2;8;#ff0000;x](1;client_close)"
frame_bg = "#555555"
client_titlebar_width = 12
client_border_width = 1
[/theme]
[/themes]

15
.config/wmfs/wmfsrc Normal file
View File

@ -0,0 +1,15 @@
#
# WMFS2 configuration file
#
# Possible file inclusion:
# @include "file"
@include "wmfs.d/themes"
@include "wmfs.d/bars"
@include "wmfs.d/tags"
@include "wmfs.d/client"
@include "wmfs.d/launchers"
@include "wmfs.d/rules"
@include "wmfs.d/keys"

419
.emacs Normal file
View File

@ -0,0 +1,419 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Emacs config
;; 2011-12-08
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;==============================================================================
;; General
;;==============================================================================
;; Make questions less annoying
(defalias 'yes-or-no-p 'y-or-n-p)
;; Print column number
(column-number-mode 1)
;; Kill whole line
(setq kill-whole-line t)
;; Line numbers
(autoload 'linum-mode "linum" "toggle line numbers on/off" t)
(global-set-key (kbd "C-<f5>") 'linum-mode)
(setq linum-format "%d ")
(global-linum-mode 1)
;; Indentation
;(setq standard-indent 4) ;; Set standard indent to 2 rather that 4
(setq-default tab-width 4) ; Tab width set to 2 spaces
(setq-default indent-tabs-mode nil) ; Indentation cannot insert tabs
(setq c-default-style "linux" c-basic-offset 4) ;; Identation style
;; Line by line scrolling
(setq scroll-step 1)
;; Highlight selections -- not activated by default on old emacs.
(transient-mark-mode 1)
;; Mousewheel scrolling -- Does not work?
;(mouse-wheel-mode t)
;; No trailing whitespace
;; WARNING: this can break some configuration files needing whitespaces at the
;; end.
;; (add-hook 'before-save-hook 'delete-trailing-whitespace)
;; Abbreviation support
(setq default-abbrev-mode t)
;; Remember last cursor position
(setq save-place-file "~/.emacs.d/.saveplace")
(setq-default save-place t)
(require 'saveplace)
;; Disable autosave features
(setq auto-save-default nil)
;; Place Backup Files in Specific Directory
(setq backup-inhibited t) ;; Disable backup files.
;(setq make-backup-files t) ;; Enable backup files.
;(setq version-control t) ;; Enable versioning with default values (keep five last versions, I think!)
;(setq backup-directory-alist (quote ((".*" . "~/.emacs.d/.backups/")))) ;; Save all backup file in this directory.
;; Remove menu-bar
(menu-bar-mode -1)
;; Set Fill Column
(setq-default fill-column 80)
;; (setq auto-fill-mode 1) ;; Does not work ?
(add-hook 'text-mode-hook 'turn-on-auto-fill)
(add-hook 'c-mode-common-hook
(lambda ()
(auto-fill-mode 1)
(set (make-local-variable 'fill-nobreak-predicate)
(lambda ()
(not (eq (get-text-property (point) 'face)
'font-lock-comment-face ))
))
))
;; Man-mode
(setenv "MANWIDTH" "80")
;;==============================================================================
;; Theme
;;==============================================================================
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(minibuffer-prompt ((t (:foreground "cyan")))))
;;==============================================================================
;; Completion
;;==============================================================================
;(global-set-key (kbd "C-<tab>") 'dabbrev-expand)
;(define-key minibuffer-local-map (kbd "C-<tab>") 'dabbrev-expand)
;;==============================================================================
;; Example of automode default modification
;;==============================================================================
(setq auto-mode-alist
(append
'(("\\.m$" . octave-mode)
)
auto-mode-alist)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; FUNCTIONS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;==============================================================================
;; Unfill paragraph
;;==============================================================================
(defun unfill-paragraph ()
(interactive)
(let ((fill-column (point-max)))
(fill-paragraph nil)))
(defun unfill-region ()
(interactive)
(let ((fill-column (point-max)))
(fill-region (region-beginning) (region-end) nil)))
;;==============================================================================
;; Duplicate line
;;==============================================================================
(defun duplicate-line (arg)
"Duplicate current line, leaving point in lower line."
(interactive "*p")
;; save the point for undo
(setq buffer-undo-list (cons (point) buffer-undo-list))
;; local variables for start and end of line
(let ((bol (save-excursion (beginning-of-line) (point)))
eol)
(save-excursion
;; don't use forward-line for this, because you would have
;; to check whether you are at the end of the buffer
(end-of-line)
(setq eol (point))
;; store the line and disable the recording of undo information
(let ((line (buffer-substring bol eol))
(buffer-undo-list t)
(count arg))
;; insert the line arg times
(while (> count 0)
(newline) ;; because there is no newline in 'line'
(insert line)
(setq count (1- count)))
)
;; create the undo information
(setq buffer-undo-list (cons (cons eol (point)) buffer-undo-list)))
) ; end-of-let
;; put the point in the lowest line and return
(next-line arg))
;;==============================================================================
;; Select windows
;;==============================================================================
(defun select-next-window ()
"Switch to the next window"
(interactive)
(select-window (next-window)))
(defun select-previous-window ()
"Switch to the previous window"
(interactive)
(select-window (previous-window)))
(global-set-key (kbd "M-<next>") 'select-next-window)
(global-set-key (kbd "M-<prior>") 'select-previous-window)
;; (global-set-key (kbd "M-<up>") 'select-next-window)
;; (global-set-key (kbd "M-<down>") 'select-previous-window)
(global-set-key (kbd "M-<left>") 'previous-buffer)
(global-set-key (kbd "M-<right>") 'next-buffer)
;;==============================================================================
;; Comment DWIM -- toggle comment line
;;==============================================================================
;; Original idea from
;; http://www.opensubscriber.com/message/emacs-devel@gnu.org/10971693.html
(defun comment-dwim-line (&optional arg)
"Replacement for the comment-dwim command.
If no region is selected and current line is not blank and we are not at the end of the line,
then comment current line.
Replaces default behaviour of comment-dwim, when it inserts comment at the end of the line."
(interactive "*P")
(comment-normalize-vars)
(if (and (not (region-active-p)) (not (looking-at "[ \t]*$")))
(comment-or-uncomment-region (line-beginning-position) (line-end-position))
(comment-dwim arg)))
(global-set-key "\M-;" 'comment-dwim-line)
;;==============================================================================
;; My Keys Minor-Mode
;;==============================================================================
(defvar my-keys-minor-mode-map (make-keymap) "my-keys-minor-mode keymap.")
;; Duplicate line
(define-key my-keys-minor-mode-map (kbd "C-d") 'duplicate-line)
;; Paste from clipboard.
;; (define-key my-keys-minor-mode-map (kbd "M-p") (kbd "C-u M-! xclip <SPC> -o"))
(define-key my-keys-minor-mode-map (kbd "M-p") (kbd "C-u M-! xsel <SPC> -o"))
;; Compilation
(define-key my-keys-minor-mode-map (kbd "<f10>") 'compile)
(define-key my-keys-minor-mode-map (kbd "<f12>") 'next-error)
;; Window resize
(define-key my-keys-minor-mode-map (kbd "S-C-<right>") 'shrink-window-horizontally)
(define-key my-keys-minor-mode-map (kbd "S-C-<left>") 'enlarge-window-horizontally)
;; (define-key my-keys-minor-mode-map (kbd "S-C-<down>") 'shrink-window)
;; (define-key my-keys-minor-mode-map (kbd "S-C-<up>") 'enlarge-window)
;; My-Keys options
(define-minor-mode my-keys-minor-mode
"A minor mode so that my key settings override annoying major modes."
t " my-keys" 'my-keys-minor-mode-map)
(my-keys-minor-mode 1)
(defun my-minibuffer-setup-hook ()
(my-keys-minor-mode 0))
(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook)
;;==============================================================================
;; Programming
;;==============================================================================
;; autoinsert C/C++ header
(define-auto-insert
(cons "\\.\\([Hh]\\|hh\\|hpp\\)\\'" "My C / C++ header")
'(nil
"/" (make-string 79 ?*) "\n"
" * @file " (file-name-nondirectory buffer-file-name) "\n"
" * @date \n"
" * @brief \n"
" *\n"
" " (make-string 78 ?*) "/\n\n"
(let* ((noext (substring buffer-file-name 0 (match-beginning 0)))
(nopath (file-name-nondirectory noext))
(ident (concat (upcase nopath) "_H")))
(concat "#ifndef " ident "\n"
"#define " ident " 1\n\n\n"
"\n\n#endif // " ident "\n"))
))
;; auto insert C/C++
(define-auto-insert
(cons "\\.\\([Cc]\\|cc\\|cpp\\)\\'" "My C++ implementation")
'(nil
"/" (make-string 79 ?*) "\n"
" * @file " (file-name-nondirectory buffer-file-name) "\n"
" * @date \n"
" * @brief \n"
" *\n"
" " (make-string 78 ?*) "/\n\n"
(let* ((noext (substring buffer-file-name 0 (match-beginning 0)))
(nopath (file-name-nondirectory noext))
(ident (concat nopath ".h")))
(if (file-exists-p ident)
(concat "#include \"" ident "\"\n")))
))
;; auto insert LaTeX Article
(define-auto-insert
(cons "\\.\\(tex\\)\\'" "My LaTeX implementation")
'(nil
(make-string 80 ?%) "\n"
"\\documentclass[11pt]{article}\n"
"\\usepackage[utf8]{inputenc}\n"
"\\usepackage[T1]{fontenc}\n"
"% \\usepackage{lmodern}\n"
(make-string 80 ?%) "\n"
"\\title{Title}\n"
"\\author{\\textsc{P.~Neidhardt}}\n"
))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Plugins
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;==============================================================================
;; smart-compile
;;==============================================================================
(add-to-list 'load-path "~/.emacs.d/plugins/smart-compile")
(require 'smart-compile)
(defun my-c-mode-hook ()
(local-set-key (kbd "<f9>") (kbd "C-x C-s M-x smart-compile C-j C-j"))
)
(define-key my-keys-minor-mode-map (kbd "C-<f9>") 'next-error)
(add-hook 'c-mode-hook 'my-c-mode-hook)
(add-hook 'c++-mode-hook 'my-c-mode-hook)
(add-hook 'cpp-mode-hook 'my-c-mode-hook)
;;==============================================================================
;; Yasnippet
;;==============================================================================
;; (add-to-list 'load-path "/usr/share/emacs/site-lisp/yas")
;; (require 'yasnippet) ;; not yasnippet-bundle
;; (yas/initialize)
;; ;; Develop and keep personal snippets under ~/emacs.d/mysnippets
;; ;; (setq yas/root-directory "~/emacs.d/mysnippets")
;; (setq yas/root-directory "~/.emacs.d/plugins/yas/snippets" )
;; ;; "/usr/share/emacs/site-lisp/yas/snippets"
;; ;; Load the snippets
;; (yas/load-directory "/usr/share/emacs/site-lisp/yas/snippets")
;; (yas/load-directory yas/root-directory)
;;==============================================================================
;; Auto-Complete
;;==============================================================================
(add-to-list 'load-path "/usr/share/emacs/site-lisp/auto-complete")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "/usr/share/emacs/site-lisp/auto-complete/ac-dict")
(ac-config-default)
;;==============================================================================
;; AucTeX
;;==============================================================================
;; Activate AucTeX
(load "auctex.el" nil t t)
(load "preview-latex.el" nil t t)
;; Compile to PDF by default
(setq TeX-PDF-mode t)
(setq TeX-view-program-selection
'((output-dvi "DVI Viewer")
(output-ps "PS Viewer")
(output-pdf "PDF Viewer")
(output-html "Web browser")))
(setq TeX-view-program-list
'(("DVI Viewer" "zathura --fork %o")
("PS Viewer" "zathura --fork %o")
("PDF Viewer" "zathura --fork %o")
("Web browser" "luakit %o")))
;; Add 'Compress PDF' compilation command
(eval-after-load "TeX"
'(add-to-list 'TeX-command-list
'("Compress" "if [ -e %s.pdf ]; then gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=%s-COMPRESSED.pdf %s.pdf && rm -rf %s.pdf && mv %s-COMPRESSED.pdf %s.pdf;fi" TeX-run-command nil t :help "Compress PDF"
)
t )
)
;; Add '--shell-escape' switch to compilation command (useful for using GnuPlot from TikZ)
(eval-after-load "tex"
'(setcdr (assoc "LaTeX" TeX-command-list)
'("%`%l%(mode) --shell-escape %' %t"
TeX-run-TeX nil (latex-mode doctex-mode) :help "Run LaTeX")
)
)
(defun my-tex-mode-hook ()
(local-set-key (kbd "<f9>") (kbd "C-x C-s C-c C-c C-j")))
(add-hook 'TeX-mode-hook 'my-tex-mode-hook)
;;==============================================================================
;; Lua
;;==============================================================================
(setq auto-mode-alist (cons '("\.lua$" . lua-mode) auto-mode-alist))
(autoload 'lua-mode "lua-mode" "Lua editing mode." t)
;;==============================================================================
;; DoxyMacs
;;==============================================================================
;; (require 'doxymacs)
;; (add-hook 'c-mode-common-hook 'doxymacs-mode)
;; ;; Fontified comments.
;; (defun my-doxymacs-font-lock-hook ()
;; (if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode))
;; (doxymacs-font-lock)))
;; (add-hook 'font-lock-mode-hook 'my-doxymacs-font-lock-hook)
;;==============================================================================
;; MediaWiki
;;==============================================================================
;; (setq mediawiki-site-alist
;; (append '("ArchWiki" "https://wiki.archlinux.org/" "username" "password" "Main Page")
;; mediawiki-site-alist))

117
.emacs.d/abbrev_defs Normal file
View File

@ -0,0 +1,117 @@
;;-*-coding: emacs-mule;-*-
(define-abbrev-table 'Buffer-menu-mode-abbrev-table '())
(define-abbrev-table 'apropos-mode-abbrev-table '())
(define-abbrev-table 'awk-mode-abbrev-table '())
(define-abbrev-table 'c++-mode-abbrev-table '())
(define-abbrev-table 'c-mode-abbrev-table '())
(define-abbrev-table 'comint-mode-abbrev-table '())
(define-abbrev-table 'completion-list-mode-abbrev-table '())
(define-abbrev-table 'docTeX-mode-abbrev-table '())
(define-abbrev-table 'emacs-lisp-mode-abbrev-table '())
(define-abbrev-table 'fundamental-mode-abbrev-table '())
(define-abbrev-table 'global-abbrev-table '())
(define-abbrev-table 'idl-mode-abbrev-table '())
(define-abbrev-table 'java-mode-abbrev-table '())
(define-abbrev-table 'lisp-mode-abbrev-table '())
(define-abbrev-table 'objc-mode-abbrev-table '())
(define-abbrev-table 'outline-mode-abbrev-table '())
(define-abbrev-table 'pike-mode-abbrev-table '())
(define-abbrev-table 'select-tags-table-mode-abbrev-table '())
(define-abbrev-table 'snippet-mode-abbrev-table '())
(define-abbrev-table 'special-mode-abbrev-table '())
(define-abbrev-table 'text-mode-abbrev-table
'(
("Arch" "Arch~Linux" nil 1)
("ac" "avec" nil 0)
("ajd" "aujourd'hui" nil 2)
("arch" "architecture" nil 1)
("autom" "automatique" nil 2)
("bcp" "beaucoup" nil 2)
("biblio" "biblioth<74>èque" nil 1)
("chai" "je ne sais" nil 1)
("config" "configuration" nil 1)
("configs" "configurations" nil 1)
("c<>àd" "c'est-<2D>à-dire" nil 1)
("dc" "donc" nil 1)
("dep" "d<>épendance" nil 1)
("deps" "d<>épendances" nil 1)
("dico" "Dictionnaire" nil 2)
("dispo" "disponible" nil 1)
("dispos" "disponibles" nil 1)
("distro" "distribution" nil 1)
("ds" "dans" nil 1)
("ex" "exemple" nil 3)
("exo" "exercice" nil 1)
("ficheir" "fichier" nil 0)
("ficheirs" "fichiers" nil 0)
("gd" "grand" nil 3)
("infos" "informations" nil 1)
("latex" "LaTeX" nil 10)
("linux" "GNU/Linux" nil 1)
("lng" "language" nil 1)
("lq" "lorsque" nil 3)
("lql" "lequel" nil 2)
("lqls" "lesquels" nil 1)
("mail" "e-mail" nil 1)
("mm" "m<>ême" nil 16)
("mnt" "maintenant" nil 2)
("ms" "mais" nil 4)
("nb" "nombre" nil 0)
("ns" "nous" nil 1)
("pb" "probl<62>ème" nil 4)
("pbs" "probl<62>èmes" nil 1)
("pcq" "parce que" nil 3)
("pgrm" "programme" nil 1)
("pgrms" "programmes" nil 1)
("plsu" "plus" nil 3)
("poru" "pour" nil 1)
("pq" "pourquoi" nil 2)
("pr" "pour" nil 3)
("ptt" "petit" nil 1)
("p<>ê" "peut-<2D>être" nil 2)
("qd" "quand" nil 4)
("qq" "quelque" nil 1)
("qqch" "quelque chose" nil 1)
("qqn" "quelqu'un" nil 1)
("qqns" "quelques-uns" nil 1)
("qqs" "quelques" nil 1)
("quelque" "quelque" nil 1)
("ques" "question" nil 1)
("ss" "sous" nil 1)
("ssi" "si et seulement si" nil 1)
("stp" "s'il te pla<6C>ît" nil 1)
("svp" "s'il vous pla<6C>ît" nil 1)
("teh" "the" nil 1)
("tex" "TeX" nil 2)
("tjrs" "toujours" nil 4)
("ts" "tous" nil 1)
("tt" "tout" nil 3)
("tte" "toute" nil 1)
("ttes" "toutes" nil 1)
("ya" "il y a" nil 6)
("yen" "il y en" nil 1)
("<22>ê" "<22>être" nil 1)
))
(define-abbrev-table 'vc-svn-log-view-mode-abbrev-table '())

View File

@ -0,0 +1,211 @@
;;; smart-compile.el --- an interface to `compile'
;; Copyright (C) 1998-2011 by Seiji Zenitani
;; Author: Seiji Zenitani <zenitani@mac.com>
;; $Id$
;; Keywords: tools, unix
;; Created: 1998-12-27
;; Compatibility: Emacs 21 or later
;; URL(en): http://homepage.mac.com/zenitani/comp-e.html
;; URL(jp): http://homepage.mac.com/zenitani/elisp-j.html#smart-compile
;; Contributors: Sakito Hisakura
;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;; This file 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 GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
;;; Commentary:
;; This package provides `smart-compile' function.
;; You can associates a particular file with a particular compile functions,
;; by editing `smart-compile-alist'.
;;
;; To use this package, add these lines to your .emacs file:
;; (require 'smart-compile)
;;
;; Note that it requires emacs 21 or later.
;;; Code:
(defgroup smart-compile nil
"An interface to `compile'."
:group 'processes
:prefix "smarct-compile")
(defcustom smart-compile-alist '(
(emacs-lisp-mode . (emacs-lisp-byte-compile))
(html-mode . (browse-url-of-buffer))
(nxhtml-mode . (browse-url-of-buffer))
(html-helper-mode . (browse-url-of-buffer))
(octave-mode . (run-octave))
("\\.c\\'" . "gcc -Wall -Wextra -W -Wuninitialized -Wunused -Wunused-function -Wunused-parameter -Wunused-value -Wunused-variable -Wshadow -Wdeclaration-after-statement -lm %f -o %n -g -O0")
;; ("\\.c\\'" . "gcc -O2 %f -lm -o %n && ./%n")
("\\.[Cc]+[Pp]*\\'" . "g++ -O2 %f -lm -o %n")
("\\.m\\'" . "gcc -O2 %f -lobjc -lpthread -o %n")
("\\.java\\'" . "javac %f")
("\\.php\\'" . "php -l %f")
("\\.f90\\'" . "gfortran %f -o %n")
("\\.[Ff]\\'" . "gfortran %f -o %n")
("\\.cron\\(tab\\)?\\'" . "crontab %f")
("\\.tex\\'" . (tex-file))
("\\.texi\\'" . "makeinfo %f")
("\\.mp\\'" . "mptopdf %f")
("\\.pl\\'" . "perl -cw %f")
("\\.rb\\'" . "ruby -cw %f")
) "List of compile commands. In argument,
some keywords beginning with '%' will be replaced by:
%F absolute pathname ( /usr/local/bin/netscape.bin )
%f file name without directory ( netscape.bin )
%n file name without extension ( netscape )
%e extension of file name ( bin )
"
:type '(repeat
(cons
(choice
(regexp :tag "Filename pattern")
(function :tag "Major-mode"))
(choice
(string :tag "Compilation command")
(sexp :tag "Lisp expression"))))
:group 'smart-compile)
(put 'smart-compile-alist 'risky-local-variable t)
(defconst smart-compile-replace-alist '(
("%F" . (buffer-file-name))
("%f" . (file-name-nondirectory (buffer-file-name)))
("%n" . (file-name-sans-extension
(file-name-nondirectory (buffer-file-name))))
("%e" . (or (file-name-extension (buffer-file-name)) ""))
))
(put 'smart-compile-replace-alist 'risky-local-variable t)
(defvar smart-compile-check-makefile t)
(make-variable-buffer-local 'smart-compile-check-makefile)
(defcustom smart-compile-make-program "make "
"The command by which to invoke the make program."
:type 'string
:group 'smart-compile)
;;;###autoload
(defun smart-compile (&optional arg)
"An interface to `compile'.
It calls `compile' or other compile function,
which is defined in `smart-compile-alist'."
(interactive "p")
(let ((name (buffer-file-name))
(not-yet t))
(if (not name)(error "cannot get filename."))
;; (message (number-to-string arg))
(cond
;; local command
;; The prefix 4 (C-u M-x smart-compile) skips this section
;; in order to re-generate the compile-command
((and (not (= arg 4)) ; C-u M-x smart-compile
(local-variable-p 'compile-command)
compile-command)
(call-interactively 'compile)
(setq not-yet nil)
)
;; make?
((and smart-compile-check-makefile
(or (file-readable-p "Makefile")
(file-readable-p "makefile")))
(if (y-or-n-p "Makefile is found. Try 'make'? ")
(progn
(set (make-local-variable 'compile-command) "make ")
(call-interactively 'compile)
(setq not-yet nil)
)
(setq smart-compile-check-makefile nil)))
) ;; end of (cond ...)
;; compile
(let( (alist smart-compile-alist)
(case-fold-search nil)
(function nil) )
(while (and alist not-yet)
(if (or
(and (symbolp (caar alist))
(eq (caar alist) major-mode))
(and (stringp (caar alist))
(string-match (caar alist) name))
)
(progn
(setq function (cdar alist))
(if (stringp function)
(progn
(set (make-local-variable 'compile-command)
(smart-compile-string function))
(call-interactively 'compile)
)
(if (listp function)
(eval function)
))
(setq alist nil)
(setq not-yet nil)
)
(setq alist (cdr alist)) )
))
;; If compile-command is not defined and the contents begins with "#!",
;; set compile-command to filename.
(if (and not-yet
(not (memq system-type '(windows-nt ms-dos)))
(not (string-match "/\\.[^/]+$" name))
(not
(and (local-variable-p 'compile-command)
compile-command))
)
(save-restriction
(widen)
(if (equal "#!" (buffer-substring 1 (min 3 (point-max))))
(set (make-local-variable 'compile-command) name)
))
)
;; compile
(if not-yet (call-interactively 'compile) )
))
(defun smart-compile-string (arg)
"Document forthcoming..."
(if (and (boundp 'buffer-file-name)
(stringp buffer-file-name))
(let ((rlist smart-compile-replace-alist)
(case-fold-search nil))
(while rlist
(while (string-match (caar rlist) arg)
(setq arg
(replace-match
(eval (cdar rlist)) t nil arg)))
(setq rlist (cdr rlist))
)
))
arg)
(provide 'smart-compile)
;;; smart-compile.el ends here

View File

@ -0,0 +1,6 @@
#name : else { ... }
# --
else
{
$0
}

View File

@ -0,0 +1,6 @@
#name : for (...; ...; ...) { ... }
# --
for (${1:i = 0}; ${2:i < N}; ${3:i++})
{
$0
}

View File

@ -0,0 +1,6 @@
#name : type fun (args) { ... }
# --
${1:type} ${2:name} (${3:args})
{
$0
}

View File

@ -0,0 +1,7 @@
#name: int main(argc, argv) { ... }
# --
int main(int argc, char** argv)
{
$0
return 0;
}

View File

@ -0,0 +1,6 @@
#name : while (...) { ... }
# --
while (${1:condition})
{
$0
}

View File

@ -0,0 +1,101 @@
# -*- mode: snippet -*-
# contributor: Mads D. Kristensen <madsdk@gmail.com>
# contributor : Song Qiang <tsiangsung@gmail.com>
# contributor : Pierre Neidhardt <ambrevar@gmail.com> 2012-03-17
# key: art
# group: skeleton
# name: \documentclass{article} ...
# --
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
% \usepackage{lmodern}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{${1:Title}}
\author{${2:\textsc{P.~Neidhardt}}}
%%=============================================================================
\usepackage[]{amsmath,amssymb,amsfonts}
\usepackage[]{gensymb}
\usepackage[]{geometry}
\usepackage[]{graphicx}
\usepackage[]{listings}
\usepackage[]{needspace}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
%% Load last.
\usepackage[]{hyperref}
\usepackage[frenchb]{babel}
%% Href.
\hypersetup{
colorlinks=true,
linkcolor=orange,
linktoc=page,
urlcolor=blue,
}
%% Source code.
\lstdefinestyle{customc}{
% numbers=left,
belowcaptionskip=1\baselineskip,
frame=L,
xleftmargin=\parindent,
% framexleftmargin=\parindent,
language=C,
basicstyle=\footnotesize\ttfamily,
keywordstyle=\bfseries\color{green!40!black},
commentstyle=\itshape\color{purple!40!black},
identifierstyle=\color{blue},
stringstyle=\color{orange},
numberstyle=\ttfamily
}
\lstdefinestyle{customasm}{
% numbers=left,
belowcaptionskip=1\baselineskip,
frame=L,
xleftmargin=\parindent,
language=[x86masm]Assembler,
basicstyle=\footnotesize\ttfamily,
commentstyle=\itshape\color{purple!40!black},
}
\lstset{escapechar=@,style=customc}
%% Misc.
\newcommand{\fancybox}[2]{
\begin{figure}[h]
\centering
\caption{#1}
\begin{tikzpicture}
\node[draw,rounded corners]{#2};
\end{tikzpicture}
\end{figure}
}
\newcommand{\comment}[1]{}
% \renewcommand{\thefigure}{\arabic{section}.\arabic{figure}}
% \renewcommand{\arraystretch}{1.5}
\let\latexbak\LaTeX
\renewcommand{\LaTeX}{{\rm \latexbak}}
\let\texbak\TeX
\renewcommand{\TeX}{{\rm \texbak}}
\def\unix{\textsc{Unix}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\maketitle
\tableofcontents
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

View File

@ -0,0 +1,134 @@
# -*- mode: snippet -*-
# contributor : Pierre Neidhardt <ambrevar@gmail.com> 2012-04-27
# key: beam
# group: skeleton
# name: \documentclass{beamer} ...
# --
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[xcolor=latex,svgnames,table]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
% \usepackage{lmodern}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{${1:Title}}
\subtitle{${2:Subtitle}}
\author{${3:\textcolor{structure.fg!60!white}{\textrm{\textsc{P.~Neidhardt}}}}}
\institute{\textcolor{sidebarSection}{${4:Institute}}}
\let\latexbak\LaTeX
\renewcommand{\LaTeX}{{\rm \latexbak}}
\let\texbak\TeX
\renewcommand{\TeX}{{\rm \texbak}}
\def\unix{\textsc{Unix}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Source code.
\usepackage{listings}
\lstdefinestyle{customc}{
% numbers=left,
belowcaptionskip=1\baselineskip,
frame=L,
xleftmargin=\parindent,
% framexleftmargin=\parindent,
language=C,
basicstyle=\footnotesize\ttfamily,
keywordstyle=\bfseries\color{green!40!black},
commentstyle=\itshape\color{purple!40!black},
identifierstyle=\color{blue},
stringstyle=\color{orange},
numberstyle=\ttfamily
}
\lstdefinestyle{customasm}{
% numbers=left,
belowcaptionskip=1\baselineskip,
frame=L,
xleftmargin=\parindent,
language=[x86masm]Assembler,
basicstyle=\footnotesize\ttfamily,
commentstyle=\itshape\color{purple!40!black},
}
\lstset{escapechar=@,style=customc}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Beamer config
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Remove navigation bar.
\beamertemplatenavigationsymbolsempty
%% Colors
\colorlet{sidebarSection}{orange!100!black}
\colorlet{sidebarSub}{yellow!100!black}
%% Themes
\usecolortheme{whale}
%% Background
\setbeamertemplate{background canvas}[vertical shading][top=white,bottom=white]
%% Bars
\setbeamercolor{frametitle}{bg=black, fg=white}
\useoutertheme[height=0pt]{sidebar}
\setbeamertemplate{sidebar canvas left}[horizontal shading][left=white!40!black,right=black]
\setbeamercolor{author in sidebar}{fg=red}
\setbeamercolor{section in sidebar shaded}{fg= sidebarSection}
\setbeamercolor{subsection in sidebar shaded}{fg= sidebarSub}
\setbeamercolor{subsection in sidebar}{fg=white}
\setbeamercolor{title}{fg=white,bg=black}
\setbeamertemplate{title page}[default][colsep=-4bp,rounded=true,shadow=true]
%% Blocks
\setbeamertemplate{blocks}[rounded] [shadow=true]
\setbeamercolor{block title}{fg=white,bg=structure.fg!80!black}
\setbeamercolor{block body}{fg=black,bg=structure.bg}
%% Footline
\setbeamertemplate{footline}[page number]
%% Lists
%% default, triangle, circle, square, ball
\setbeamertemplate{itemize item}[ball]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Locale
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[frenchb]{babel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\titlepage{}
\end{frame}
\def\ftitle{First Title}
\def\fsubtitle{First Subtitle}
\section{\ftitle}
\subsection{\fsubtitle}
\frame[shrink,containsverbatim]{
\frametitle{\ftitle}
\framesubtitle{\fsubtitle}
\begin{lstlisting}[caption=Hello world!]
int main(int argc, char** argv)
{
printf("Hello world\n");
return 0;
}
\end{lstlisting}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

View File

@ -0,0 +1,289 @@
# -*- mode: snippet -*-
# contributor : Xavier Danaux <xdanaux@gmail.com>
# contributor : Pierre Neidhardt <ambrevar@gmail.com> 2012-04-27
# key: let
# group: skeleton
# name: \documentclass{article} ...
# --
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
% \usepackage{lmodern}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%==============================================================================
%% Localization
%%==============================================================================
%% Each language has 2 entries.
%% The one with an argument activates the text, the other one disables it.
% \renewcommand{\locale}{en}
\def\locale{${1:en}}
%%==============================================================================
%% Personal Information
%%==============================================================================
\def\firstname{Pierre}
\def\familyname{Neidhardt}
\def\street{77 rue Bellecombe}
\def\postcode{69006}
\def\city{Lyon}
\def\country{France}
\def\phone{\en{(+33) }09 52 92 86 07}
\def\mobile{\en{(+33) }07 61 08 55 94}
\def\mail{pe.neidhardt@gmail.com}
\def\institute{INSA Lyon}
%%==============================================================================
%% Recipient Information
%%==============================================================================
%% Recipient gender
\def\gender{${2:male}}
%% Recipient
\def\recipientfirstname{${3:Firstname}}
\def\recipientfamilyname{${4:Familyname}}
\def\recipientinstitute{${5:Institute}}
\def\recipientstreet{${6:Street}}
\def\recipientcity{${7:City}}
\def\recipientpostcode{${8:Postcode}}
%%==============================================================================
%% PDF Metadata
%%==============================================================================
\def\FileAuthor{\firstname{} \familyname}
\def\FileTitle{\firstname{} \familyname{}'s cover letter}
\def\FileSubject{Cover letter}
\def\FileKeyWords{\firstname{} \familyname, Cover letter}
%%==============================================================================
%% Aliases
%%==============================================================================
\let\latextemp\LaTeX
\renewcommand{\LaTeX}{{\rm \latextemp}}
%%==============================================================================
%% General options
%%==============================================================================
\usepackage{lmodern}
\usepackage{eukdate}
\usepackage{lipsum}
\usepackage{marvosym}
\usepackage{ifthen}
\usepackage[svgname]{xcolor}
%% Language
\newcommand{\en}[1]{}
\newcommand{\fr}[1]{}
\ifthenelse{\equal{\locale}{en}}{
\renewcommand{\en}[1]{#1}}{}
\ifthenelse{\equal{\locale}{fr}}{
\renewcommand{\fr}[1]{#1}}{}
%% Gender commands.
\newcommand{\male}[1]{}
\newcommand{\female}[1]{}
\ifthenelse{\equal{\gender}{male}}{
\renewcommand{\male}[1]{#1}
}{}
\ifthenelse{\equal{\gender}{female}}{
\renewcommand{\female}[1]{#1}
}
\def\civility{%
\en{\male{M.}\female{Ms.}}%
\fr{\male{Monsieur}\female{Madame}}%
}
%% Greetings toggle.
\newcommand{\greetings}[1]{}
\ifthenelse{\equal{\gender}{}}{}
{\renewcommand{\greetings}[1]{#1}}
%% Compilation options
\usepackage{ifpdf}
\ifpdf
\usepackage[pdftex]{graphicx}
\else
\usepackage[dvips]{graphicx}
\fi
%% Babel
\fr{\usepackage[frenchb]{babel}}
%% Day-of-week translation
\makeatletter
\fr{
\renewcommand\weekday{%
\ifcase\theeuk@date Samedi\or Dimanche\or Lundi\or
Mardi\or Mercredi\or Jeudi\or Vendredi\fi}
}
\newcommand\weekdaylower{%
\ifcase\theeuk@date samedi\or dimanche\or lundi\or
mardi\or mercredi\or jeudi\or vendredi\fi}
\makeatother
%% Layout
\usepackage[scale=0.8]{geometry}
% \en{\setlength{\parindent}{0pt}}
\fr{
\setlength{\parindent}{4ex}
}
\addtolength{\parskip}{6pt}
%% Width of the minipage used to display parts of text on the right.
\newlength{\mpwidth}
\addtolength{\mpwidth}{0.4\textwidth}
\pagestyle{empty}
%% Fonts
\renewcommand{\familydefault}{\sfdefault}
\let\emphtemp\emph
\renewcommand{\emph}{{\rm\emphtemp}}
%% PDF Metadata
\ifpdf
\usepackage[]{hyperref}
\hypersetup{
pdfauthor = \FileAuthor,
pdftitle = \FileTitle,
pdfsubject = \FileSubject,
pdfkeywords = \FileKeyWords,
pdfcreator = \LaTeX,
pdfproducer = \LaTeX,
pdftex,
pdfborder=0,
breaklinks,
baseurl=http://,
pdfpagemode=None,
pdfstartview=XYZ,
pdfstartpage=1,
colorlinks=true,
urlcolor=black
}
\else
\usepackage[dvips]{hyperref}
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%==============================================================================
%% Personal particulars
%%==============================================================================
\en{\hfill}
\begin{minipage}{\mpwidth}
%~ \en{\raggedleft}%
%~ \fr{\raggedright}%
{\bfseries \firstname{} \familyname}
\vspace{0.5em}\newline
\small\itshape%
\street \newline
\postcode\ \city\ -- \country{}
\vspace{0.5em}\newline
\Mobilefone~\mobile \newline
\Telefon~\phone \newline
\Letter~\href{mailto:\mail}{\mail}
\end{minipage}
\vspace{\baselineskip}
%%==============================================================================
%% Recipient particulars
%%==============================================================================
\en{}
\fr{\hfill}
\begin{minipage}{\mpwidth}
{\bfseries \civility{} \recipientfirstname{} \recipientfamilyname}
\vspace{0.5em}\newline
\recipientinstitute{}
\vspace{0.5em}\newline
{\small\itshape
\recipientstreet{} \newline
\recipientpostcode{} \recipientcity{} \newline
}
\end{minipage}
%%==============================================================================
%% Date
%%==============================================================================
\vspace{1em}
\hfill
\begin{minipage}{\mpwidth}
\en{\today}
\fr{\city, le \weekdaylower\ \today}
\end{minipage}\newline%[2em]
%%==============================================================================
%% Object
%%==============================================================================
% \noindent
% \textbf{\en{Object}\fr{Objet}~:}
% This is my object.\newline\vspace{\baselineskip}
%%==============================================================================
%% Content
%%==============================================================================
\greetings{
\en{Dear}\fr{\male{Cher}\female{Chère}} \civility{} \recipientfamilyname,\newline
}
\lipsum[1]
Thanks for your consideration; I am looking forward to hearing from you soon!
%%==============================================================================
%% Closing
%%==============================================================================
\vfill
\en{
Yours sincerely,
}
\fr{
%~ Cordialement,
Veuillez agréer, \civility{}, l'expression de mes sentiments les meilleurs.
}
\vspace{1em}
\hfill
\begin{minipage}{\mpwidth}
\textbf{\firstname\ \familyname}\newline
%\includegraphics[scale=0.75]{signature_blue}
\end{minipage}
%%==============================================================================
%% P.S. & Attachment
%%==============================================================================
\vfill
\noindent\em
\fr{Ci-joint~: Curriculum Vit\ae}
\en{Attachment: Curriculum Vit\ae}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

20
.gtkrc-2.0 Normal file
View File

@ -0,0 +1,20 @@
# DO NOT EDIT! This file will be overwritten by LXAppearance.
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
gtk-theme-name="Clearlooks"
gtk-icon-theme-name="nuoveXT2"
gtk-font-name="Sans 10"
gtk-cursor-theme-name="Vanilla-DMZ-AA"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR
gtk-button-images=0
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"
gtk-xft-rgba="rgb"
gtk-color-scheme="tooltip_fg_color:#000000\nbase_color:#ffffff\nselected_fg_color:#ffffff\ntext_color:#1A1A1A\nbg_color:#EDECEB\ntooltip_bg_color:#F5F5B5\nselected_bg_color:#000033336666\nfg_color:#000000\n"
include "/home/peter/.gtkrc-2.0.mine"

313
.nanorc Normal file
View File

@ -0,0 +1,313 @@
## Sample initialization file for GNU nano.
##
## Please note that you must have configured nano with --enable-nanorc
## for this file to be read! Also note that this file should not be in
## DOS or Mac format, and that characters specially interpreted by the
## shell should not be escaped here.
##
## To make sure a value is disabled, use "unset <option>".
##
## For the options that take parameters, the default value is given.
## Other options are unset by default.
##
## Quotes inside string parameters don't have to be escaped with
## backslashes. The last double quote in the string will be treated as
## its end. For example, for the "brackets" option, ""')>]}" will match
## ", ', ), >, ], and }.
## Use auto-indentation.
set autoindent
## Backup files to filename~.
# set backup
## The directory to put unique backup files in.
# set backupdir ""
## Do backwards searches by default.
# set backwards
## Use bold text instead of reverse video text.
# set boldtext
## The characters treated as closing brackets when justifying
## paragraphs. They cannot contain blank characters. Only closing
## punctuation, optionally followed by closing brackets, can end
## sentences.
##
# set brackets ""')>]}"
## Do case sensitive searches by default.
# set casesensitive
## Constantly display the cursor position in the statusbar. Note that
## this overrides "quickblank".
# set const
## Use cut to end of line by default.
# set cut
## Set the line length for wrapping text and justifying paragraphs.
## If fill is 0 or less, the line length will be the screen width less
## this number.
##
# set fill -8
## Enable ~/.nano_history for saving and reading search/replace strings.
set historylog
## The opening and closing brackets that can be found by bracket
## searches. They cannot contain blank characters. The former set must
## come before the latter set, and both must be in the same order.
##
# set matchbrackets "(<[{)>]}"
## Use the blank line below the titlebar as extra editing space.
# set morespace
## Enable mouse support, if available for your system. When enabled,
## mouse clicks can be used to place the cursor, set the mark (with a
## double click), and execute shortcuts. The mouse will work in the X
## Window System, and on the console when gpm is running.
##
# set mouse
## Allow multiple file buffers (inserting a file will put it into a
## separate buffer). You must have configured with --enable-multibuffer
## for this to work.
##
# set multibuffer
## Don't convert files from DOS/Mac format.
# set noconvert
## Don't follow symlinks when writing files.
# set nofollow
## Don't display the helpful shortcut lists at the bottom of the screen.
# set nohelp
## Don't add newlines to the ends of files.
# set nonewlines
## Don't wrap text at all.
# set nowrap
## Set operating directory. nano will not read or write files outside
## this directory and its subdirectories. Also, the current directory
## is changed to here, so any files are inserted from this dir. A blank
## string means the operating directory feature is turned off.
##
# set operatingdir ""
## Preserve the XON and XOFF keys (^Q and ^S).
# set preserve
## The characters treated as closing punctuation when justifying
## paragraphs. They cannot contain blank characters. Only closing
## punctuation, optionally followed by closing brackets, can end
## sentences.
##
# set punct "!.?"
## Do quick statusbar blanking. Statusbar messages will disappear after
## 1 keystroke instead of 26. Note that "const" overrides this.
##
# set quickblank
## The email-quote string, used to justify email-quoted paragraphs.
## This is an extended regular expression if your system supports them,
## otherwise a literal string. Default:
# set quotestr "^([ ]*[#:>\|}])+"
## if you have extended regular expression support, otherwise:
# set quotestr "> "
## Fix Backspace/Delete confusion problem.
# set rebinddelete
## Fix numeric keypad key confusion problem.
# set rebindkeypad
## Do extended regular expression searches by default.
# set regexp
## Make the Home key smarter. When Home is pressed anywhere but at the
## very beginning of non-whitespace characters on a line, the cursor
## will jump to that beginning (either forwards or backwards). If the
## cursor is already at that position, it will jump to the true
## beginning of the line.
# set smarthome
## Use smooth scrolling as the default.
set smooth
## Enable soft line wrapping (AKA full line display).
# set softwrap
## Use this spelling checker instead of the internal one. This option
## does not properly have a default value.
##
# set speller "aspell -x -c"
## Allow nano to be suspended.
# set suspend
## Use this tab size instead of the default; it must be greater than 0.
# set tabsize 8
## Convert typed tabs to spaces.
# set tabstospaces
## Save automatically on exit, don't prompt.
# set tempfile
## Enable the new (EXPERIMENTAL) generic undo code, not just for line
## cuts.
set undo
## Disallow file modification. Why would you want this in an rcfile? ;)
# set view
## The two single-column characters used to display the first characters
## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in
## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
# set whitespace " "
## Detect word boundaries more accurately by treating punctuation
## characters as parts of words.
# set wordbounds
## Color setup
##
## Format:
##
## syntax "short description" ["filename regex" ...]
##
## The "none" syntax is reserved; specifying it on the command line is
## the same as not having a syntax at all. The "default" syntax is
## special: it takes no filename regexes, and applies to files that
## don't match any other syntax's filename regexes.
##
## color foreground,background "regex" ["regex"...]
## or
## icolor foreground,background "regex" ["regex"...]
##
## "color" will do case sensitive matches, while "icolor" will do case
## insensitive matches.
##
## Valid colors: white, black, red, blue, green, yellow, magenta, cyan.
## For foreground colors, you may use the prefix "bright" to get a
## stronger highlight.
##
## To use multi-line regexes, use the start="regex" end="regex"
## [start="regex" end="regex"...] format.
##
## If your system supports transparency, not specifying a background
## color will use a transparent color. If you don't want this, be sure
## to set the background color to black or white.
##
## If you wish, you may put your syntaxes in separate files. You can
## make use of such files (which can only include "syntax", "color", and
## "icolor" commands) as follows:
##
## include "/path/to/syntax_file.nanorc"
##
## Unless otherwise noted, the name of the syntax file (without the
## ".nanorc" extension) should be the same as the "short description"
## name inside that file. These names are kept fairly short to make
## them easier to remember and faster to type using nano's -Y option.
##
## All regexes should be extended regular expressions.
## Key bindings
## Please see nanorc(5) for more details on this
##
## Here are some samples to get you going
##
# bind M-W nowrap main
# bind M-A casesens search
# bind ^S research main
## Set this if your backspace key sends delete most of the time (2.1.3+)
# bind kdel backspace all
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"
## C/C++
include "/usr/share/nano/c.nanorc"
## Makefiles
include "/usr/share/nano/makefile.nanorc"
## Cascading Style Sheets
include "/usr/share/nano/css.nanorc"
## Debian files
# include "/usr/share/nano/debian.nanorc"
## Gentoo files
# include "/usr/share/nano/gentoo.nanorc"
## HTML
include "/usr/share/nano/html.nanorc"
## PHP
# include "/usr/share/nano/php.nanorc"
## TCL
# include "/usr/share/nano/tcl.nanorc"
## TeX
include "/usr/share/nano/tex.nanorc"
## Quoted emails (under e.g. mutt)
# include "/usr/share/nano/mutt.nanorc"
## Patch files
# include "/usr/share/nano/patch.nanorc"
## Manpages
# include "/usr/share/nano/man.nanorc"
## Groff
# include "/usr/share/nano/groff.nanorc"
## Perl
# include "/usr/share/nano/perl.nanorc"
## Python
# include "/usr/share/nano/python.nanorc"
## Ruby
# include "/usr/share/nano/ruby.nanorc"
## Java
# include "/usr/share/nano/java.nanorc"
## Fortran
# include "/usr/share/nano/fortran.nanorc"
## Objective-C
# include "/usr/share/nano/objc.nanorc"
## OCaml
# include "/usr/share/nano/ocaml.nanorc"
## AWK
# include "/usr/share/nano/awk.nanorc"
## Assembler
# include "/usr/share/nano/asm.nanorc"
## Bourne shell scripts
include "/usr/share/nano/sh.nanorc"
## POV-Ray
# include "/usr/share/nano/pov.nanorc"
## XML-type files
# include "/usr/share/nano/xml.nanorc"

104
.rtorrent.rc Normal file
View File

@ -0,0 +1,104 @@
# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.
# Maximum and minimum number of peers to connect to per torrent.
#min_peers = 40
#max_peers = 100
# Same as above but for seeding completed torrents (-1 = same as downloading)
#min_peers_seed = 10
#max_peers_seed = 50
# Maximum number of simultanious uploads per torrent.
#max_uploads = 15
# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 0
upload_rate = 50
# Default directory to save the downloaded torrents.
directory = ~/temp
# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = ~/.session
# Watch a directory for new torrents, and stop those that have been
# deleted.
schedule = watch_directory,5,5,load_start=~/temp/*.torrent
# Comment because of vim dumb syntax hl */
schedule = untied_directory,5,5,stop_untied=
# Close torrents when diskspace is low.
schedule = low_diskspace,5,60,close_low_diskspace=100M
# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no
# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no
# Port range to use for listening.
#port_range = 6890-6999
# Start opening ports at a random position within the port range.
#port_random = no
# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
#check_hash = no
# Set whetever the client should try to connect to UDP trackers.
#use_udp_trackers = yes
# Alternative calls to bind and ip that should handle dynamic ip's.
#schedule = ip_tick,0,1800,ip=rakshasa
#schedule = bind_tick,0,1800,bind=rakshasa
# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
# encryption = allow_incoming,enable_retry,prefer_plaintext
encryption = allow_incoming,require,require_RC4
# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#
dht = auto
# UDP port to use for DHT.
#
# dht_port = 6881
# Enable peer exchange (for torrents not marked private)
#
# peer_exchange = yes
#
# Do not modify the following parameters unless you know what you're doing.
#
# Hash read-ahead controls how many MB to request the kernel to read
# ahead. If the value is too low the disk may not be fully utilized,
# while if too high the kernel might not be able to keep the read
# pages in memory thus end up trashing.
#hash_read_ahead = 10
# Interval between attempts to check the hash, in milliseconds.
#hash_interval = 100
# Number of attempts to check the hash while using the mincore status,
# before forcing. Overworked systems might need lower values to get a
# decent hash checking rate.
#hash_max_tries = 10

224
.save Executable file
View File

@ -0,0 +1,224 @@
#!/bin/bash
################################################################################
## Home Config Backup Script
## 2012-05-12
################################################################################
## Note for Zsh: because of the KSH-style arrays (index starting at 0), the
## KSH_ARRAYS option must be used.
##==============================================================================
## Options
##==============================================================================
## Set Debug mode on
DEBUG=no
if [ "$DEBUG" = "yes" ]; then
set -x
fi
## Variables
OLDPATH="$(pwd)" # Enclose into a sub or use $OLDPATH
cd "$HOME"
SCRIPTPATH="$(readlink -f $(dirname "$0"))"
COMPRESSION="gz"
ARCHIVENAME="$HOME/home-config-$(date "+%y-%m-%d-%H%M%S")"
ARCEXT="tar.gz"
ARCOPT="cvzf"
print_help()
{
echo "Synopsis:"
echo " $1 [-o ARCHIVENAME] [-m COMPRESSION]"
echo
echo "Usage:"
echo " default: "
echo " -h:\t\tDisplay this help."
echo " -m: compression method among"
echo " * gz (default)"
echo " * xz"
echo " -o: output archive name (without extension)."
echo ""
echo "Note: xz is not available on older Unices."
}
while getopts ":hm:o:" opt; do
case $opt in
h)
print_help "$0"
exit 1
;;
m)
COMPRESSION="$OPTARG"
;;
o)
ARCHIVENAME="$(pwd)/$OPTARG"
;;
?)
print_help "$0"
exit 1
;;
:)
echo "Missing argument."
echo "Use $0 -h for help."
exit 1
;;
esac
done
shift $(($OPTIND - 1))
case $COMPRESSION in
"gz")
ARCEXT="tar.gz"
ARCOPT="cvzf"
;;
"xz")
ARCEXT="tar.xz"
ARCOPT="cvJf"
;;
*)
ARCEXT="tar.gz"
ARCOPT="cvzf"
;;
esac
if [ "${DEBUG}" = "yes" ]; then
echo "COMPRESSION=[$COMPRESSION]"
echo "ARCHIVENAME=[$ARCHIVENAME]"
echo "ARCEXT=[$ARCEXT]"
echo "ARCOPT=[$ARCOPT]"
fi
if [ -e "${ARCHIVENAME}.${ARCEXT}" ]; then
echo "Error: ${ARCHIVENAME}.${ARCEXT} already exists!">&2
exit 0
fi
##==============================================================================
## Arch Linux packages list
##==============================================================================
if [ -e "/usr/bin/pacman" ]; then
ARCH_PKG_OFFICIAL="$HOME/.arch-pkg-official"
ARCH_PKG_EXPLICIT="$HOME/.arch-pkg-explicit"
ARCH_PKG_AUR="$HOME/.arch-pkg-aur"
ARCH_MIRRORS="$HOME/.arch-mirrors"
PKG_LOCAL='pacman -Qq | sort'
PKG_FOREIGN='pacman -Qmq | sort'
PKG_EXPLICIT='pacman -Qeq | sort'
PKG_FILTER='grep \< | cut -f2 -d" "'
diff <(eval "${PKG_LOCAL}") <(eval "${PKG_FOREIGN}") | eval "${PKG_FILTER}" >"${ARCH_PKG_OFFICIAL}-$(hostname)"
eval "${PKG_EXPLICIT}" >"${ARCH_PKG_EXPLICIT}-$(hostname)"
eval "${PKG_FOREIGN}" >"${ARCH_PKG_AUR}-$(hostname)"
cat /etc/pacman.conf | grep "^\[">"${ARCH_MIRRORS}-$(hostname)"
fi
##==============================================================================
## Let's fill the file list:
##==============================================================================
FILELIST=()
# Arch Linux package list
if [ -e "/usr/bin/pacman" ]; then
FILELIST[${#FILELIST[*]}]="$(find . -maxdepth 1 -name '.arch*' -exec basename {} \;)"
fi
# Awesome
FILELIST[${#FILELIST[*]}]="$(find .config/awesome \( -name "*.lua" -o -name "*.sh" \) -type f)"
# cmus
FILELIST[${#FILELIST[*]}]="$(ls .cmus/{autosave,*.theme}) "
# Conky
FILELIST[${#FILELIST[*]}]=".conkyrc"
# Emacs
FILELIST[${#FILELIST[*]}]=".emacs"
FILELIST[${#FILELIST[*]}]=".emacs.d/plugins"
FILELIST[${#FILELIST[*]}]=".emacs.d/abbrev_defs"
# GTK
FILELIST[${#FILELIST[*]}]=".gtkrc-2.0"
FILELIST[${#FILELIST[*]}]=".config/gtk-3.0/settings.ini"
# Luakit
FILELIST[${#FILELIST[*]}]=".config/luakit/"
# LXTerminal
FILELIST[${#FILELIST[*]}]=".config/lxterminal/lxterminal.conf"
# MPlayer
FILELIST[${#FILELIST[*]}]=".mplayer"
# Mutt
# FILELIST[${#FILELIST[*]}]=".muttrc"
# Nano
FILELIST[${#FILELIST[*]}]=".nanorc"
# Netinit
FILELIST[${#FILELIST[*]}]=".netinit"
# Ranger
FILELIST[${#FILELIST[*]}]="$(ls -d --indicator-style=none .config/ranger/*|grep -vi 'pycache\|bookmarks\|history\|tagged')"
# rtorrent
FILELIST[${#FILELIST[*]}]=".rtorrent.rc"
# Shells
FILELIST[${#FILELIST[*]}]=".bashrc"
FILELIST[${#FILELIST[*]}]=".zshrc"
FILELIST[${#FILELIST[*]}]="$(ls .shell.d/*|grep -vi 'bhistory')"
# Taskwarrior
FILELIST[${#FILELIST[*]}]=".taskrc"
# TeXlive
FILELIST[${#FILELIST[*]}]="$(find texmf -type f|grep -vi 'moderncv/examples\|moderncv/manual\|.bzr')"
# Vim
FILELIST[${#FILELIST[*]}]=".vimrc"
# WMFS
FILELIST[${#FILELIST[*]}]=".config/wmfs"
# Xinit
FILELIST[${#FILELIST[*]}]=".xinitrc"
# Xresource
FILELIST[${#FILELIST[*]}]=".Xresources"
# Xscreensaver
FILELIST[${#FILELIST[*]}]=".xscreensaver"
##==============================================================================
## Archiving
##==============================================================================
if [ "$DEBUG" = "yes" ]; then
tar -zcvf "$ARCHIVENAME" -C "$HOME" ${FILELIST[*]} -C "$SCRIPTPATH" "$(basename "$0")" --exclude-vcs
else
tar ${ARCOPT} "${ARCHIVENAME}.${ARCEXT}" -C "$HOME" ${FILELIST[*]} -C "$SCRIPTPATH" "$(basename "$0")" --exclude-vcs >/dev/null
fi
##==============================================================================
## Cleaning
##==============================================================================
cd "$OLDPATH"
## Set Debug mode off
if [ "$DEBUG" = "yes" ]; then
set +x
fi

211
.shell.d/alias_rc Normal file
View File

@ -0,0 +1,211 @@
################################################################################
## Shell Config -- Alias Definitions.
## Date 2011-11-19
################################################################################
##==============================================================================
## General
##==============================================================================
# Warning: if this does not work if you change of shell without relogging, use
# 'source .[shell]rc' instead.
if isShell "bash"; then
alias ..='cd ..'
alias esrc='$EDITOR ~/.bashrc'
alias ssrc='source ~/.bashrc'
fi
if isShell "zsh"; then
alias esrc='$EDITOR ~/.zshrc'
alias ssrc='source ~/.zshrc'
fi
alias cp="cp -i" # confirm before overwriting something
alias xmx='xrdb -merge ~/.Xresources'
alias grep='grep --color=auto'
##==============================================================================
## Zsh power aliases
##==============================================================================
# if isShell "zsh"; then
## Inline aliases, zsh -g aliases can be anywhere in command line
#alias -g G='| grep -'
#alias -g L='| less'
## Now just type the image name to launch irfanview
#alias -s jpg='/usr/bin/gpicview'
# fi
##===============================================================================
## Listing aliases
##==============================================================================
## Enable color support of ls and also add handy aliases.
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
fi
## 'ls' redefinition
alias ls='ls --color=auto -F -v'
## Shortcuts
alias l='ls -1'
alias la='ls -lAh --group-directories-first' # Hidden files
alias lc='ls -ltcrh --group-directories-first' # by change time
alias lk='ls -lSrh --group-directories-first' # by size
alias ll='ls -lh --group-directories-first' # Detailed view with human readable values.
alias lx='ls -lXh --group-directories-first' # sort by extension
##==============================================================================
## Arch Linux aliases
##==============================================================================
[ -e "/usr/bin/pacman" ] && PACMAN_FRONTEND='pacman'
## Use of Pacman-Color
if [ -e "/usr/bin/pacman-color" ]; then
PACMAN_FRONTEND='pacman-color'
if isShell "zsh" ; then
compdef _pacman pacman-color
elif isShell "bash"; then
complete -o default -o nospace -F _pacman pacman-color
fi
fi
## Pacman aliases
if [ "$PACMAN_FRONTEND" = "pacman" ]; then
alias pc='sudo pacman -Scc'
alias pi='sudo pacman -S --needed'
alias pqi='pacman -Qi'
alias pqs='pacman -Qs'
alias psi='pacman -Si'
alias pr='sudo pacman -Rs'
alias pss='pacman -Ss'
alias pu='sudo pacman -Syu'
## Change 'name' and 'size' variables according your locale.
# alias pql='pacman -Qi | awk '"'"'/^Nom/ {pkg=$3} /Taille/ {print $4$5,pkg}'"'"' | sort -n'
alias pql='pacman -Qi | awk '"'"'/^Name/ {pkg=$3} /Size/ {print $4$5,pkg}'"'"' | sort -n'
fi
if [ "$PACMAN_FRONTEND" = "pacman-color" ]; then
alias pc='sudo pacman-color -Scc'
alias pi='sudo pacman -S --needed'
alias pqi='pacman-color -Qi'
alias pqs='pacman-color -Qs'
alias psi='pacman-color -Si'
alias pr='sudo pacman-color -Rs'
alias pss='pacman-color -Ss'
alias pu='sudo pacman-color -Syu'
## Change 'name' and 'size' variables according your locale.
# alias pql='pacman-color -Qi | awk '"'"'/^Nom/ {pkg=$3} /Taille/ {print $4$5,pkg}'"'"' | sort -n'
alias pql='pacman-color -Qi | awk '"'"'/^Name/ {pkg=$3} /Size/ {print $4$5,pkg}'"'"' | sort -n'
fi
## Configuration files
[ -e "/etc/rc.conf" ] && alias ercc='sudo $EDITOR /etc/rc.conf'
##===============================================================================
## Session management
##==============================================================================
## Start X and lock current terminal (press ENTER when back in terminal to prompt for password)
if [ -e "/usr/bin/vlock" ]; then
sx(){
startx &
vlock
}
fi
## Shutdown / Reboot
## Will only work with consolekit and dbus daemons running.
if [ -e "/usr/bin/dbus-send" ]; then
alias halt='dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop'
alias reboot='dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart'
alias restart='dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart'
alias shutdown='dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop'
fi
## Screensaver
[ -e "/usr/bin/xscreensaver-command" ] && alias xss='xscreensaver-command --lock'
##==============================================================================
## Useful commands
##==============================================================================
# List desktop applications
alias applist='grep -r "^Name=" /usr/share/applications/* | cut -d'=' -f2| sort'
## Remove executable attribute
alias nox='find . -type f -exec chmod a-x {} \;'
## Get your external IP
[ -e "/usr/bin/curl" ] && alias myip='curl www.whatismyip.org;echo'
## Extractor -- Useless when using 'atool'.
if [ ! -e "/usr/bin/atool" ]; then
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.tar.xz) tar xvJf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*.xz) unxz $1 ;;
*.exe) cabextract $1 ;;
*) echo "\`$1': unrecognized file compression" ;;
esac
else
echo "\`$1' is not a valid file"
fi
}
fi
## Network discovery
[ -e "/usr/bin/nmap" ] && alias netdiscover='nmap -sP "192.168.1.*"'
# Prevents accidentally clobbering files.
alias mkdir='mkdir -p'
# Reset terminal -- Faster alternative of 'reset'
alias cls='printf "\ec"'
# Display PATH and LD_LIBRARY_PATH in a more readable way
alias echopath='echo -e ${PATH//:/\\n}'
alias echolibpath='echo -e ${LD_LIBRARY_PATH//:/\\n}'
##==============================================================================
## APT aliases
##==============================================================================
if [ -e "/usr/bin/apt-get" ]; then
alias au='sudo apt-get update'
alias ac='sudo apt-get autoremove && sudo apt-get clean'
alias ai='sudo apt-get install'
fi
##==============================================================================
## Emacs
##==============================================================================
if [ -e "/usr/bin/emacs" ]; then
alias emacs='emacsclient -t -a "" -c'
alias emacs-reload="emacsclient -e '(kill-emacs)' >/dev/null 2>&1; /usr/bin/emacs --daemon"
fi
##==============================================================================
## Misc
##==============================================================================
alias printcolors='(x=`tput op` y=`printf %76s`;for i in {0..256};do o=00$i;echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}$x;done)'

76
.shell.d/colors Normal file
View File

@ -0,0 +1,76 @@
##==============================================================================
## Colors for universal support
##==============================================================================
## Reset
Color_Off='\[\e[0m\]' # Text Reset
## Regular Colors
Black='\[\e[0;30m\]' # Black
Red='\[\e[0;31m\]' # Red
Green='\[\e[0;32m\]' # Green
Yellow='\[\e[0;33m\]' # Yellow
Blue='\[\e[0;34m\]' # Blue
Purple='\[\e[0;35m\]' # Purple
Cyan='\[\e[0;36m\]' # Cyan
White='\[\e[0;37m\]' # White
## Bold
BBlack='\[\e[1;30m\]' # Black
BRed='\[\e[1;31m\]' # Red
BGreen='\[\e[1;32m\]' # Green
BYellow='\[\e[1;33m\]' # Yellow
BBlue='\[\e[1;34m\]' # Blue
BPurple='\[\e[1;35m\]' # Purple
BCyan='\[\e[1;36m\]' # Cyan
BWhite='\[\e[1;37m\]' # White
## Underline
UBlack='\[\e[4;30m\]' # Black
URed='\[\e[4;31m\]' # Red
UGreen='\[\e[4;32m\]' # Green
UYellow='\[\e[4;33m\]' # Yellow
UBlue='\[\e[4;34m\]' # Blue
UPurple='\[\e[4;35m\]' # Purple
UCyan='\[\e[4;36m\]' # Cyan
UWhite='\[\e[4;37m\]' # White
## Background
On_Black='\[\e[40m\]' # Black
On_Red='\[\e[41m\]' # Red
On_Green='\[\e[42m\]' # Green
On_Yellow='\[\e[43m\]' # Yellow
On_Blue='\[\e[44m\]' # Blue
On_Purple='\[\e[45m\]' # Purple
On_Cyan='\[\e[46m\]' # Cyan
On_White='\[\e[47m\]' # White
## High Intensty
IBlack='\[\e[0;90m\]' # Black
IRed='\[\e[0;91m\]' # Red
IGreen='\[\e[0;92m\]' # Green
IYellow='\[\e[0;93m\]' # Yellow
IBlue='\[\e[0;94m\]' # Blue
IPurple='\[\e[0;95m\]' # Purple
ICyan='\[\e[0;96m\]' # Cyan
IWhite='\[\e[0;97m\]' # White
## Bold High Intensty
BIBlack='\[\e[1;90m\]' # Black
BIRed='\[\e[1;91m\]' # Red
BIGreen='\[\e[1;92m\]' # Green
BIYellow='\[\e[1;93m\]' # Yellow
BIBlue='\[\e[1;94m\]' # Blue
BIPurple='\[\e[1;95m\]' # Purple
BICyan='\[\e[1;96m\]' # Cyan
BIWhite='\[\e[1;97m\]' # White
## High Intensty backgrounds
On_IBlack='\[\e[0;100m\]' # Black
On_IRed='\[\e[0;101m\]' # Red
On_IGreen='\[\e[0;102m\]' # Green
On_IYellow='\[\e[0;103m\]' # Yellow
On_IBlue='\[\e[0;104m\]' # Blue
On_IPurple='\[\e[10;95m\]' # Purple
On_ICyan='\[\e[0;106m\]' # Cyan
On_IWhite='\[\e[0;107m\]' # White

231
.shell.d/funs_bash Normal file
View File

@ -0,0 +1,231 @@
################################################################################
## Bash specific functions
################################################################################
if isShell "bash"; then
##==============================================================================
## Browse History
##==============================================================================
# Parameters usage -- should be set before sourcing the function.
if [ -d "$SHELLDIR" ]; then
BHISTORY="${SHELLDIR}/bhistory"
else
BHISTORY="$HOME/.bhistory"
fi
BHISTFILESIZE=20
BHISTREVERT=true
BHISTLOADLAST=true
# Where to store the history file.
if [ "$BHISTORY" == "" ]; then
if [ -d "$SHELLDIR" ]; then
BHISTORY="${SHELLDIR}/bhistory"
else
BHISTORY="$HOME/.bhistory"
fi
fi
# History prompted to the user.
# BHISTFILESIZE +1 entry are stored, the additional one
# is for the current directory to be remembered for new session.
[ "$BHISTFILESIZE" == "" ] && BHISTFILESIZE=20
# If true, first listed is last browsed.
[ "$BHISTREVERT" == "" ] && BHISTREVERT=true
# Go back to previous folder when starting a new session.
[ "$BHISTLOADLAST" == "" ] && BHISTLOADLAST=true
# Prevent infinite recursiveness when sourcing multiple times.
unalias cd>/dev/null 2>&1
# SEED is used to generate uniq filenames.
SEED=$(date "+%y-%m-%d-%H%M%S")
# Makes sure destination folder exists.
mkdir -p $(dirname "$BHISTORY")
# Use 'head' or 'tail' depending on BHISTREVERT
if $BHISTREVERT; then
BFUNC=head
BFUNCREV=tail
touch "${BHISTORY}-true"
if [ -e "$BHISTORY" -a -e "${BHISTORY}-false" ]; then
rm -rf "${BHISTORY}-false"
touch "${BHISTORY}-${SEED}_REV"
tac "$BHISTORY" > "${BHISTORY}_${SEED}_REV"
cat "${BHISTORY}_${SEED}_REV" > "$BHISTORY"
rm -rf "${BHISTORY}_${SEED}_REV"
fi
else
BFUNC=tail
BFUNCREV=head
touch "${BHISTORY}-false"
if [ -e "$BHISTORY" -a -e "${BHISTORY}-true" ]; then
rm -rf "${BHISTORY}-true"
touch "${BHISTORY}-${SEED}_REV"
tac "$BHISTORY" > "${BHISTORY}_${SEED}_REV"
cat "${BHISTORY}_${SEED}_REV" > "$BHISTORY"
rm -rf "${BHISTORY}_${SEED}_REV"
fi
fi
# Go back to previous folder when starting a new session.
# Need to put this part before the new 'cd' is set to prevent $HOME from being added as last entry in the history.
if [ $BHISTLOADLAST -a -e $BHISTORY ]; then
LASTPATH="$($BFUNC -n1 $BHISTORY)"
if [[ -e "$LASTPATH" ]]; then
cd "$LASTPATH"
fi
unset LASTPATH
fi
function bcd(){
# First character is an hyphen.
if [ "${1:0:1}" == "-" ]; then
if [ ${#1} -eq 1 ]; then # cd -
cd -
else
DEST=${1:1} # After the hyphen
# Check if the content after the hyphen is a number.
if [[ $DEST == ${DEST//[^0-9]/} ]]; then
let DEST=$DEST # Set DEST as an integer only here to avoid errors.
if $BHISTREVERT; then
let DEST=${DEST}+1
fi
NEWPATH=$(head -n$DEST "$BHISTORY"|tail -n1)
echo ${NEWPATH}
cd "${NEWPATH}"
else
cd "$1"
fi
fi
else
if [ -z "$1" ]; then
cd
else
cd "$1"
fi
fi
## Let's update the history.
touch $BHISTORY
# A buffer is used to avoid flow errors.
if $BHISTREVERT; then
echo ${PWD} >> "${BHISTORY}_$SEED"
cat "$BHISTORY" >> "${BHISTORY}_$SEED"
else
cat "$BHISTORY" >> "${BHISTORY}_$SEED"
echo "${PWD}" >> "${BHISTORY}_$SEED"
fi
# The 'awk' command makes sure there is duplicates.
# If the history size is beyond the limit set by $BHISTFILESIZE+1, it is cut.
# The '+1' is for storing the current folder which is not displayed to the used.
let BHISTSIZEREAL=${BHISTFILESIZE}+1
awk ' !x[$0]++' "${BHISTORY}_$SEED" | $BFUNC -n $BHISTSIZEREAL > "$BHISTORY"
rm "${BHISTORY}_$SEED"
}
function bhistory(){
if [ ! -e "$BHISTORY" ]; then
echo "Browse history empty"
else
let BHISTDISPLAY=$(cat "$BHISTORY"| wc -l)-1
$BFUNCREV -n$BHISTDISPLAY "$BHISTORY"| cat -n
fi
}
# Clean -- buggy?
#unset BFUNC BFUNCREV SEED BHISTSIZEREAL
# Replace 'cd' command
alias cd='bcd'
shopt -s extglob # To allow bash to understand generic expression
shopt -s progcomp # To enable the programmable completion
set +o nounset # Otherwise some completions will fail
complete -A directory cd
##==============================================================================
## Alias auto completion
##==============================================================================
# wrap_alias takes three arguments:
# $1: The name of the alias
# $2: The command used in the alias
# $3: The arguments in the alias all in one string
# Generate a wrapper completion function (completer) for an alias
# based on the command and the given arguments, if there is a
# completer for the command, and set the wrapper as the completer for
# the alias.
#function wrap_alias() {
# [[ "$#" == 3 ]] || return 1
#
# local alias_name="$1"
# local aliased_command="$2"
# local alias_arguments="$3"
# local num_alias_arguments=$(echo "$alias_arguments" | wc -w)
#
# # The completion currently being used for the aliased command.
# local completion=$(complete -p $aliased_command 2> /dev/null)
#
# # Only a completer based on a function can be wrapped so look for -F
# # in the current completion. This check will also catch commands
# # with no completer for which $completion will be empty.
# echo $completion | grep -q -- -F || return 0
#
# local namespace=alias_completion::
#
# # Extract the name of the completion function from a string that
# # looks like: something -F function_name something
# # First strip the beginning of the string up to the function name by
# # removing "* -F " from the front.
# local completion_function=${completion##* -F }
# # Then strip " *" from the end, leaving only the function name.
# completion_function=${completion_function%% *}
#
# # Try to prevent an infinite loop by not wrapping a function
# # generated by this function. This can happen when the user runs
# # this twice for an alias like ls='ls --color=auto' or alias l='ls'
# # and alias ls='l foo'
# [[ "${completion_function#$namespace}" != $completion_function ]] && return 0
#
# local wrapper_name="${namespace}${alias_name}"
#
# eval "
#function ${wrapper_name}() {
# let COMP_CWORD+=$num_alias_arguments
# args=( \"${alias_arguments}\" )
# COMP_WORDS=( $aliased_command \${args[@]} \${COMP_WORDS[@]:1} )
# $completion_function
# }
#"
#
# To create the new completion we use the old one with two
# replacements:
# 1) Replace the function with the wrapper.
# local new_completion=${completion/-F * /-F $wrapper_name }
# 2) Replace the command being completed with the alias.
# new_completion="${new_completion% *} $alias_name"
# eval "$new_completion"
#}
# For each defined alias, extract the necessary elements and use them
# to call wrap_alias.
#eval "$(alias -p | sed -e 's/alias \([^=][^=]*\)='\''\([^ ][^ ]*\) *\(.*\)'\''/wrap_alias \1 \2 '\''\3'\'' /')"
#unset wrap_alias
fi

461
.shell.d/funs_rc Normal file
View File

@ -0,0 +1,461 @@
################################################################################
## Shell -- Functions.
## Date 2012-04-23
################################################################################
##==============================================================================
## Man Pager
##==============================================================================
man()
{
env \
LESS_TERMCAP_mb=$(printf "\e[1;31m") \
LESS_TERMCAP_md=$(printf "\e[1;31m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[1;32m") \
man "$@"
}
##==============================================================================
## Arch Linux Functions
##==============================================================================
## Compare installed packages with list.
# Parameters:
# -m : compare only to foreign local (m)
# -q : see installed packages. Display only not installed packages by default. (\<)
# FILE1 [FILE2...] : file(s) containing package list.
pacman-diff()
{
OPTION_FOREIGN=""
OPTION_LOCAL=">"
pdhelp()
{
echo "Synopsis:"
echo -e " $1 [-m|-e] [-q] FILE"
echo
echo "Usage:"
echo -e " default:\tDisplay packages included in FILE but not installed."
echo -e " -e:\t\tCompare FILE to explicitly installed packages."
echo -e " -h:\t\tDisplay this help."
echo -e " -m:\t\tCompare FILE to foreign installed packages."
echo -e " -q:\t\tDisplay installed packages not included in FILE."
}
OPTION_EXPLICIT=""
OPTION_FOREIGN=""
OPTION_LOCAL=">"
while getopts ":hmqe" opt; do
case $opt in
e)
OPTION_EXPLICIT="e"
;;
h)
pdhelp "$0"
return 1
;;
m)
OPTION_FOREIGN="m"
;;
q)
OPTION_LOCAL="<"
;;
?)
pdhelp "$0"
return 1
;;
:)
echo "Missing argument."
echo "Use $0 -h for help."
return 1
;;
esac
done
shift $(($OPTIND - 1))
if [ $# -eq 0 ]; then
echo "Missing argument."
echo "Use $0 -h for help."
return 1
fi
if [ -e "/usr/bin/pacman" ]; then
diff <(pacman -Qq${OPTION_FOREIGN}${OPTION_EXPLICIT} | sort) <(cat "$*" | sort) | grep "${OPTION_LOCAL}" | cut -f2 -d" "
else
echo "ERROR: pacman is needed."
fi
}
## pacman-deps
# Parameters:
# PACKAGE: if found locally, everything is checked
# locally. Otherwise, everything is checked from the pacman index, which is much
# slower.
if [ -e "/usr/bin/pacman" ]; then
pacman-deps()
{
## Arguments
if [ $# -ne 1 ];then
echo "Requires only one single argument."
return
fi
## Bold High Intensty colors
BIBlack='\e[1;90m' # Black
BIRed='\e[1;91m' # Red
BIGreen='\e[1;92m' # Green
BIYellow='\e[1;93m' # Yellow
BIBlue='\e[1;94m' # Blue
BIPurple='\e[1;95m' # Purple
BICyan='\e[1;96m' # Cyan
BIWhite='\e[1;97m' # White
CReset='\e[0m' # Text Reset
ARROW="${BIBlue}==>${CReset}"
CMD="pacman -Qi"
APP_OUTPUT=$(eval "${CMD} $1" 2>&1)
if [ ! -z "$(echo "$APP_OUTPUT" | grep "^error:")" ];then
CMD="pacman -Si"
APP_OUTPUT=$(eval "${CMD} $1" 2>&1)
# Make sure package is available online.
if [ ! -z "$(echo "$APP_OUTPUT" | grep "^error:")" ];then
echo "Package not found!"
return
fi
fi
## List of dependencies. Note that it is stored as an ARRAY!
DEPLIST=($( echo "$APP_OUTPUT" | grep "Depends"| sed -e 's/Depends On.*: //g' | sed -e 's/[>=<][^ ]*//g'))
DEPLIST_INFO="$(eval "$CMD ${DEPLIST[*]}" 2>&1)"
SKIPPED_DEPS="$(echo "$DEPLIST_INFO" | awk '/^error:/ {print $3}')"
SIZE_ARRAY="$(echo "$DEPLIST_INFO" | awk '/^Installed Size/ {print $4}' | sed -e 's/\.[[:digit:]]*//g')"
echo -e "${ARROW} ${BIGreen}Deps size for ${BIYellow}$1${CReset}"
echo "$DEPLIST_INFO" | awk '/^Name/ {pkg=$3} /^Installed Size/ {print $4 " " $5,pkg}' | sort -n
TOTAL_SIZE=0
for i in $(echo "$SIZE_ARRAY"); do
TOTAL_SIZE=$(($TOTAL_SIZE+$i))
done
echo -e "${ARROW} ${BIGreen}Summary${CReset}"
echo "$APP_OUTPUT"
echo -e "${BIRed}Deps size${CReset} : $(echo "${TOTAL_SIZE}") KiB"
TOTAL_SIZE=$(($TOTAL_SIZE+$(echo "$APP_OUTPUT" | awk '/^Installed Size/ {print $4}'| sed -e 's/\.[[:digit:]]*//g')))
echo -e "${BIRed}Total size${CReset} : $(echo "${TOTAL_SIZE}") KiB"
if [ ! -z "$SKIPPED_DEPS" ]; then
echo -e "$ARROW${BIPurple} Warning!${CReset} Errors were ecountered on"
echo -e "$SKIPPED_DEPS"
fi
}
## TODO: completion does not work as is. It requires pacman arguments like -S or -Q.
## There should be a way to use it.
# if isShell "zsh" ; then
# compdef _pacman pacman-deps
# elif isShell "bash"; then
# complete -o default -o nospace -F _pacman pacman-deps
# fi
fi
##==============================================================================
## LaTeX functions
##==============================================================================
# Warning: use this function with caution. It may drastically improve
# compression of some PDF files, but in some case, the output filesize will be
# greater! You should not use it over PDF files embedding pictures as well.
pdfcompress ()
{
if [ $# -lt 1 -o $# -gt 2 ]; then
echo "Usage: pdfcompress PDFFILE [DESTFILE]"
return
fi
if [ ! -f "$1" ]; then
echo "$1 is not a valid PDF file!"
fi
INPUTFILE="$1"
if [ -z "$2" ]; then
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile="${INPUTFILE%%.*}-COMPRESSED.pdf" "${INPUTFILE}"
rm -rf "${INPUTFILE}"
mv "${INPUTFILE%%.*}-COMPRESSED.pdf" "${INPUTFILE}"
else
OUTPUTFILE="$2"
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile="${OUTPUTFILE}" "${INPUTFILE}"
fi
}
# This function will clean TeX/LaTeX project folders recursively.
function texclean ()
{
if [ -z "$1" ]; then
WORKDIR="$PWD"
else
WORKDIR="$1"
fi
echo "$(find "$WORKDIR" \
-name "*.aux" -o \
-name "*.idx" -o \
-name "*.ilg" -o \
-name "*.ind" -o \
-name "*.lof" -o \
-name "*.log" -o \
-name "*.nav" -o \
-name "*.out" -o \
-name "*.snm" -o \
-name "*.tns" -o \
-name "*.toc")"
rm -f $(find "$WORKDIR" \
-name "*.aux" -o \
-name "*.idx" -o \
-name "*.ilg" -o \
-name "*.ind" -o \
-name "*.lof" -o \
-name "*.log" -o \
-name "*.nav" -o \
-name "*.out" -o \
-name "*.snm" -o \
-name "*.tns" -o \
-name "*.toc")
}
##==============================================================================
## Project Archiving
##==============================================================================
archive-project ()
{
if [ $# -eq 1 ]; then
ARCPATH="$(dirname $(readlink -f "$1"))"
ARCSOURCE="$(basename $(readlink -f "$1"))"
ARCNAME="${ARCSOURCE}-$(date +%y-%m-%d-%H%M%S).tgz"
(cd "$ARCPATH" && \
tar cvzf "$ARCNAME" "$ARCSOURCE" --exclude-vcs)
else
ARCSOURCE="$(basename $PWD)"
ARCNAME="$(basename "$ARCSOURCE")-$(date +%y-%m-%d-%H%M%S).tgz"
if [ $# = 0 ];then
(cd "$PWD/.." && \
tar cvzf "$ARCNAME" "$ARCSOURCE" --exclude-vcs)
else
unset FILELIST
for i;do
FILELIST+="$i "
done
# FIXME: Does not work with zsh
tar cvzf "$ARCNAME" ${FILELIST} --exclude-vcs
fi
fi
}
##==============================================================================
## Network operations
##==============================================================================
if [ -e "/usr/bin/nmap" ]; then
function networkmap() {
echo "$1"
for SCANIP in $( nmap -sL "$1" | grep -i "\([[:digit:]]\+\.\)\{3,\}[[:digit:]]\+" | awk '{print $5}' ); do
sudo nmap -oX - -n -sT -T Normal -O -sR -I -F -P0 "$SCANIP"
echo
done
}
fi
##==============================================================================
## File & strings related functions
##==============================================================================
## Search
function search()
{
find . -name "*$1*"
}
## Find a file with a pattern in name:
function ff()
{ find . -type f -iname '*'$*'*' -ls ; }
## Find a file with pattern $1 in name and Execute $2 on it:
fe()
{
if [ $# -lt 2 ]; then
find . -name "*$1*" -exec $2 $3 {} \;
fi
}
# { find . -type f -iname '*'$1'*' -exec "${2:-file}" {} \; ; }
## Clean current folder
cleanvcs()
{
unset CHOICE
echo "This will clean current folder from all VCS control files."
echo -n "Proceed ? [y/N] "
while [ -z "$CHOICE" ];
do
# read 'Proceed [y/N] ' CHOICE
read CHOICE
done
CHOICE=$(echo $CHOICE | tr '[:upper:]' '[:lower:]')
if [ "$CHOICE" = "y" ]; then
find . -type d -name ".svn" -exec rm -rf {} \;
echo "VCS files cleaned."
fi
}
## Cut last n lines in file, 10 by default.
function cuttail()
{
nlines=${2:-10}
#sed -n -e :a -e "1,${nlines}!{P;N;D;};N;ba" $1
head $1 -n$(($(cat $1|wc -l) - $nlines))
}
## Cut first n lines in file, 10 by default.
function cuthead()
{
nlines=${2:-10}
tail $1 -n$(($(cat $1|wc -l) - $nlines))
}
## Move filenames to lowercase.
## Use ranger + bulkrename + vim/emacs (+ TwindleCase) for more interactivity.
function renamelower()
{
for file ; do
filename=${file##*/}
case "$filename" in
*/*)
dirname==${file%/*} ;;
*)
dirname=.;;
esac
nf=$(echo $filename | tr A-Z a-z)
newname="${dirname}/${nf}"
if [ "$nf" != "$filename" ]; then
mv "$file" "$newname"
echo "lowercase: $file --> $newname"
else
echo "lowercase: $file not changed."
fi
done
}
## Swap 2 filenames around.
function renameswap()
{
local TMPFILE=tmp.$$
mv "$1" $TMPFILE
mv "$2" "$1"
mv $TMPFILE "$2"
}
## Finds directory sizes and lists them for the current directory.
dirsize ()
{
du -shx * .[a-zA-Z0-9_]* 2> /dev/null | \
egrep '^ *[0-9.]*[MG]' | sort -n > /tmp/list
egrep '^ *[0-9.]*M' /tmp/list
egrep '^ *[0-9.]*G' /tmp/list
rm -rf /tmp/list
}
## Make dir and go into it.
mkcd () {
mkdir -p "$*"
cd "$*"
}
## Vim: search the vim reference manual for a keyword
## usage: :h <keyword>
if [ -e "/usr/bin/vim" ]; then
:h() { vim --cmd ":silent help $@" --cmd "only"; }
fi
## sanitize - set file/directory owner and permissions to normal values (644/755)
## usage: sanitize <file>
sanitize()
{
chmod -R u=rwX,go=rX "$@"
chown -R ${USER}:users "$@"
}
## sanitize - set file/directory owner and permissions to normal values (644/755)
## usage: sanitize <file>
asciify()
{
asciify_help()
{
echo
echo "Synopsis:"
echo -e "\tConvert non-ASCII characters to their ASCII equivalent."
echo
echo "Usage:"
echo -e "\t$1 FILES"
echo
}
if [ $# -eq 0 ]; then
echo "Missing arguments."
asciify_help $0
return
fi
for i; do
sed -i 's/[àáâä]/a/g' "$i"
sed -i 's/[éèêë]/e/g' "$i"
sed -i 's/[ïîí]/i/g' "$i"
sed -i 's/[öôó]/o/g' "$i"
sed -i 's/[ùúûü]/u/g' "$i"
sed -i 's/[À]/A/g' "$i"
sed -i 's/[ÉÈ]/E/g' "$i"
sed -i 's/[ñ]/n/g' "$i"
sed -i 's/[œ]/oe/g' "$i"
sed -i 's/[Œ]/Oe/g' "$i"
sed -i 's/[æ]/ae/g' "$i"
sed -i 's/[Æ]/Ae/g' "$i"
sed -i 's/[ç]/c/g' "$i"
sed -i 's/[Ç]/C/g' "$i"
done;
}

64
.shell.d/keys_zsh Normal file
View File

@ -0,0 +1,64 @@
################################################################################
## Zsh Key bindings
## Date 2011-11-19
################################################################################
##==============================================================================
## Zsh keys
##==============================================================================
# http://mundy.yazzy.org/unix/zsh.php
# http://www.zsh.org/mla/users/2000/msg00727.html
## Bindings functions:
# backward-char
# backward-delete-char
# backward-delete-to-slash
# backward-word
# beginning-of-history # PageUp
# beginning-of-line # Home
# delete-char # Del
# down-line-or-history
# down-line-or-search
# emacs-backward-word
# emacs-forward-word
# end-of-history # PageDown
# end-of-line # End
# forward-char
# forward-word
# quoted-insert # Ins
# up-line-or-history
# up-line-or-search
# expand-or-complete-prefix ## completion in the middle of a line
if isShell "zsh"; then
bindkey -e # Emacs bindings
## Set '/' as a word delimiter.
autoload -U select-word-style
select-word-style bash
## ???
# typeset -g -A key
## For non RH/Debian xterm, can't hurt for RH/Debian xterm.
if [ "xterm" = "$TERM" ]; then
bindkey "\e[3~" delete-char
bindkey "\e[1;5D" backward-word
bindkey "\e[1;5C" forward-word
bindkey "\eOH" beginning-of-line
bindkey "\eOF" 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
## For FreeBSD console.
# bindkey "\e[H" beginning-of-line
# bindkey "\e[F" end-of-line
fi

69
.shell.d/main_rc Normal file
View File

@ -0,0 +1,69 @@
################################################################################
## Shell Config -- Main
## Date 2011-11-19
################################################################################
##==============================================================================
## Pager
##==============================================================================
## Make 'less' more friendly for non-text input files, see lesspipe(1).
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
## Choose pager.
export MANPAGER="less -s"
##==============================================================================
## Time display (with ls command for example)
##==============================================================================
export TIME_STYLE=+"| %d/%m/%Y %H:%M | "
##==============================================================================
## Title
##==============================================================================
## If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
# ;;
#*)
# ;;
#esac
##==============================================================================
## File access rights
##==============================================================================
## Result for 027 is: rwxr-x---
umask 027
##==============================================================================
## Variables
##==============================================================================
## Path
export PATH=.:$PATH
## System locale
# export LC_MESSAGES=fr_FR.utf8
## Default text editor
EDITOR=nano
if [ "" != "$(command -v vim)" ]; then
EDITOR=vim
fi
if [ "" != "$(command -v emacs)" ]; then
alias emacs='emacsclient -t'
EDITOR=emacs
# EDITOR="emacsclient --alternate-editor emacs +%d %s"
fi
export EDITOR
## Internet Browser
[ -e "/usr/bin/firefox" ] && export BROWSER="firefox"
[ -e "/usr/bin/luakit" ] && export BROWSER="luakit"
## Android SDK
[ -e "/opt/android-sdk" ] && export ANDROID_HOME=/opt/android-sdk/

177
.shell.d/options_bash Normal file
View File

@ -0,0 +1,177 @@
################################################################################
## Bash specific options
################################################################################
if isShell "bash"; then
## Enable programmable completion features (you don't need to enable
## this, if it's already enabled in /etc/bash.bashrc and /etc/profile
## sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
## Sudo completion
complete -cf sudo
set +o nounset # Otherwise some completions will fail
set completion-ignore-case on
set show-all-if-ambiguous on
## Use TAB to switch between completions instead of waiting for the next character.
#bind '"\t":menu-complete'
export FIGNORE=".o:~" # A list of suffixes to ignore when performing filename completion
set filec # To search and fill the complete name of a file (with <Esc>)
##======================================================================
## History management
##======================================================================
export HISTCONTROL=ignoredups # don't put duplicate lines in the history. See bash(1) for more options
export HISTFILESIZE=1000 # Define number of previous commands stored
export HISTIGNORE="&:bg:fg:ll:h:ls:la:la:lk:clear:exit:history"
export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S_%a "
##======================================================================
## Various options
##======================================================================
set -o notify # Jobs notify shell about their states immediately
#set ignoreeof # To avoid accidentally quitting the shell with <Ctrl-D>
#shopt -u mailwarn # Disable the shell ability to warn about incoming mail
shopt -s cdable_vars # if cd arg is not valid, assumes its a var defining a dir
shopt -s cdspell # To correct minor error in the directory spelling (during cd)
shopt -s checkhash
shopt -s checkwinsize # update the value of LINES and COLUMNS after each command if altered
shopt -s cmdhist # save multi-line commands in history as single line
shopt -s dirspell
shopt -s dotglob # include dotfiles in pathname expansion
shopt -s expand_aliases # expand aliases
shopt -s extglob # enable extended pattern-matching features
shopt -s histappend # append to (not overwrite) the history file
shopt -s hostcomplete # attempt hostname expansion when @ is at the beginning ofa word
shopt -s no_empty_cmd_completion # No completion on an empty line
shopt -s nocaseglob # pathname expansion will be treated as case-insensitive
shopt -s progcomp #To enable the programmable completion
##==============================================================================
## PS1 -- Full width bar with informations.
##==============================================================================
## An external function is needed to update $COLUMNS value, as well as path, time, and other variables.
function PSBAR ()
{
# Initialization.
BARCOLOR=$BBlue
OUTPUT="$BARCOLOR["
SYMBOLVAR='='
CENTERVAR=" $(date +%H:%M:%S) "
# Truncated path.
local PWDMAXLEN=$(($COLUMNS/2-${#CENTERVAR}/2-3)) # '3' stands for '[ $SYMBOLVAR'.
local TRUNC_SYMBOL="..."
if [[ $PWD == $HOME* ]]; then
newPWD="~${PWD#$HOME}"
else
newPWD=${PWD}
fi
if [ ${#newPWD} -gt $PWDMAXLEN ]; then
local PWDOFFSET=$(( ${#newPWD} - $PWDMAXLEN + ${#TRUNC_SYMBOL} ))
newPWD="${TRUNC_SYMBOL}${newPWD:$PWDOFFSET:$PWDMAXLEN}"
fi
# Truncated login information.
local LOGINFO="$(whoami)@$HOSTNAME"
if [ ${#LOGINFO} -gt $(($COLUMNS/2-${#CENTERVAR}/2-3)) ] # '3' stands for '$SYMBOLVAR ]'
then
LOGINFO=$USER
if [ ${#LOGINFO} -gt $(($COLUMNS/2-${#CENTERVAR}/2-3)) ] # '3' stands for '$SYMBOLVAR ]'
then
unset LOGINFO
fi
fi
# Left and right side. Empty if terminal width is too small.
if [ $COLUMNS -gt 50 ]
then
LEFTSIDEVAR="$newPWD "
RIGHTSIDEVAR=" $LOGINFO"
fi
# Left side.
OUTPUT="$OUTPUT$BPurple$LEFTSIDEVAR"
# Reset bar color
OUTPUT="$OUTPUT$BARCOLOR"
# In case of odd values.
if [ $(($COLUMNS%2)) -eq 1 ]
then
OUTPUT="$OUTPUT$SYMBOLVAR"
fi
# Fill 'OUTPUT' variable with the desired chars.
for i in $( seq $(($COLUMNS/2-${#LEFTSIDEVAR}-${#CENTERVAR}/2-1)) ) # '1' stands for '['
do
OUTPUT="$OUTPUT$SYMBOLVAR"
done
# Center.
OUTPUT="$OUTPUT$Color_Off$CENTERVAR"
# Reset bar color
OUTPUT="$OUTPUT$BARCOLOR"
# Fill 'OUTPUT' variable with the desired chars.
for i in $( seq $(($COLUMNS/2-${#CENTERVAR}/2-${#RIGHTSIDEVAR}-1)) ) # '1' stands for ']'
do
OUTPUT="$OUTPUT$SYMBOLVAR"
done
# Right side.
OUTPUT="$OUTPUT$BGreen$RIGHTSIDEVAR"
# Reset bar color
OUTPUT="$OUTPUT$BARCOLOR"
# Close bar
OUTPUT="$OUTPUT]\n"
# Prompt.
if [ $(id -u) -eq 0 ]
then
# Root access
OUTPUT="$OUTPUT$BRed# $Color_Off"
else
# Normal user
OUTPUT="$OUTPUT$BYellow$ $Color_Off"
fi
# Set result to PS1.
PS1="$OUTPUT"
}
##==============================================================================
## Add informations to history.
##==============================================================================
#PROMPT_COMMAND='hpwd=$(history 1); hpwd="${hpwd# *[0-9]* }"; if [[ ${hpwd%% *} == "cd" ]]; then cwd=$OLDPWD; else cwd=$PWD; fi; hpwd="${hpwd% ### *} ### $cwd"; history -s "$hpwd;"'
##==============================================================================
## PS1
##==============================================================================
## PS1 using PSBAR function.
#PROMPT_COMMAND='PSBAR'
## Simple PS1
PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[1;32m\]\$\[\e[m\] '
fi

104
.shell.d/options_zsh Normal file
View File

@ -0,0 +1,104 @@
################################################################################
## Zsh specific options
## Date 2011-11-19
################################################################################
if isShell "zsh"; then
##==============================================================================
## History options
##==============================================================================
HISTFILE=~/.zshistfile
HISTSIZE=1000
SAVEHIST=1000
setopt hist_ignore_all_dups
setopt hist_ignore_space # Commands beginning with a space won't be recorded.
setopt appendhistory
##==============================================================================
## Various
##==============================================================================
# setopt completealiases # Not recommended.
setopt autocd # When only dirname is entered, then auto cd to it.
# setopt extendedglob nomatch notify # ???
unsetopt beep # ???
##==============================================================================
## VCS
##==============================================================================
## TODO: work on it...
# autoload -Uz vcs_info zstyle ':vcs_info:*' enable git hg svn
# autoload -Uz vcs_info
##==============================================================================
## Dir stack
##==============================================================================
DIRSTACKSIZE=20
setopt autopushd pushdsilent pushdtohome
setopt pushdignoredups
# setopt pushdminus ## This revert the +/- operators.
alias dh='dirs -v'
if [[ -f ~/.zdirs ]] && [[ ${#dirstack[*]} -eq 0 ]]; then
dirstack=( $(< ~/.zdirs) )
popd > /dev/null
fi
precmd() {
dirs -l >! ~/.zdirs
}
##==============================================================================
## ???
##==============================================================================
zstyle :compinstall filename "$HOME/.zshrc"
##==============================================================================
## Completion
##==============================================================================
autoload -Uz compinit
compinit
zstyle ':completion:*' menu select
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
zstyle ':completion:*:commands' rehash true # New binaries in path get recognized.
zstyle ':completion:*' completer _complete _match _approximate ## Allow approximate
zstyle ':completion:*:match:*' original only
zstyle ':completion:*:approximate:*' max-errors 1 numeric
## Tab completion for PID :D -- Useless ?
# zstyle ':completion:*:*:kill:*' menu yes select
# zstyle ':completion:*:kill:*' force-list always
##==============================================================================
## TESTING
##==============================================================================
# Remove RPS1 after <enter>
setopt transient_rprompt
# Color vars
autoload -U colors terminfo
colors
# Zargs pawa
autoload -U zargs
##==============================================================================
## Prompt
##==============================================================================
autoload -U promptinit
promptinit
prompt adam2
##==============================================================================
## Colors for dirs.
##==============================================================================
eval `dircolors -b`
fi

19
.shell.d/personal_rc Normal file
View File

@ -0,0 +1,19 @@
########################################################################
## Shell -- Personal Definitions.
## Date 2012-04-22
########################################################################
##======================================================================
## Personal
##======================================================================
if [ -e "/media/data1/Personal" ]; then
PERSONAL="/media/data1/Personal"
elif [ -e "$HOME/Dropbox/Personal" ]; then
PERSONAL="$HOME/Dropbox/Personal"
fi
[ -e /media/data1/TEMP ] && TEMP="/media/data1/TEMP"
# alias todo='$EDITOR $PERSONAL/TODO/TODO.txt'
# alias todo='emacsclient -t $PERSONAL/TODO/TODO.txt'

34
.taskrc Normal file
View File

@ -0,0 +1,34 @@
# [Created by task 2.0.0 4/10/2012 20:38:31]
# Taskwarrior program configuration file.
# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-faq',
# 'man task-tutorial', 'man task-color', 'man task-sync' or 'man taskrc'
# Here is an example of entries that use the default, override and blank values
# variable=foo -- By specifying a value, this overrides the default
# variable= -- By specifying no value, this means no default
# #variable=foo -- By commenting out the line, or deleting it, this uses the default
# Use the command 'task show' to see all defaults and overrides
# Files
data.location=~/.task
# Color theme (uncomment one to use)
#include /usr/share/doc/task/rc/light-16.theme
# include /usr/share/doc/task/rc/light-256.theme
#include /usr/share/doc/task/rc/dark-16.theme
# include /usr/share/doc/task/rc/dark-256.theme
#include /usr/share/doc/task/rc/dark-red-256.theme
#include /usr/share/doc/task/rc/dark-green-256.theme
#include /usr/share/doc/task/rc/dark-blue-256.theme
#include /usr/share/doc/task/rc/dark-violets-256.theme
#include /usr/share/doc/task/rc/dark-yellow-green.theme
#include /usr/share/doc/task/rc/dark-gray-256.theme
## Custom colors
color.pri.L=rgb245
color.pri.M=rgb255
color.pri.H=rgb250
## Aliases
alias.addh=add prio:H

282
.vimrc Normal file
View File

@ -0,0 +1,282 @@
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Vim config
" Date 2011-10-28
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" All system-wide defaults are set in $VIMRUNTIME/archlinux.vim (usually just
" /usr/share/vim/vimfiles/archlinux.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vimrc), since archlinux.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing archlinux.vim since it alters the value of the
" 'compatible' option.
" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages.
runtime! archlinux.vim
" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim'
" Or better yet, read /usr/share/vim/vim72/vimrc_example.vim or the vim manual
" and configure vim to your own liking!
" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on
" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
set background=dark
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
if has("autocmd")
filetype plugin indent on
endif
" Source a global configuration file if available
" XXX Deprecated, please move your changes here in /etc/vim/vimrc
"if filereadable("/etc/vim/vimrc.local")
" source /etc/vim/vimrc.local
"endif
" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set hidden " Hide buffers when they are abandoned
"set ignorecase " Do case insensitive matching
"set mouse=a " Enable mouse usage (all modes) in terminals
set autoindent
set autowrite " Automatically save before commands like :next and :make
set hlsearch
set incsearch " Incremental search
set number
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set smartcase " Do smart case matching
set smartindent
set smarttab
" Mapleader
let mapleader = ","
" Toggle autoindent when pasting with mouse
nnoremap <F2> :set invpaste paste?<CR>
set pastetoggle=<F2>
set showmode
" Colortheme
"colorscheme anotherdark
" Press Space to turn off highlighting and clear any message already displayed.
nnoremap <silent> <Space> :nohlsearch<Bar>:echo<CR>
" Replace visual selection
vnoremap <C-r> "hy:%s/<C-r>h//gc<left><left><left>
" Substitution with incrementing numbers
function! SubsInc(str1, str2, init, step)
let @i=a:init
execute("%s/".a:str1."/\\=\"".a:str2."\".@i.(setreg('i',@i+".a:step.")?'':'')/g")
endfunction
" Toggle Comment
imap <C-e> <ESC><leader>c<Space>i
nmap <C-e> <leader>c<Space>
vmap <C-e> <leader>c<Space>
" Duplicate line
imap <C-d> <ESC>yypi
nmap <C-d> yyp
" Tab Navigation Like Firefox
"nmap <C-S-tab> :tabprevious<CR>
"nmap <C-tab> :tabnext<CR>
"map <C-S-tab> :tabprevious<CR>
"map <C-tab> :tabnext<CR>
"imap <C-S-tab> <Esc>:tabprevious<CR>i
"imap <C-tab> <Esc>:tabnext<CR>i
"nmap <C-t> :tabnew<CR>
"imap <C-t> <Esc>:tabnew<CR>
" Increment correctly 'case' statement in bash scripts. Useless ??
"let g:sh_indent_case_labels=1
" Title case
function! TwiddleCase(str)
if a:str ==# toupper(a:str)
let result = tolower(a:str)
elseif a:str ==# tolower(a:str)
let result = substitute(a:str,'\(\<\w\+\>\)', '\u\1', 'g')
else
let result = toupper(a:str)
endif
return result
endfunction
vnoremap ~ ygv"=TwiddleCase(@")<CR>Pgv
" Format sentence (first letter upper, last char dot).
map <silent> <C-p> :s/\(\w\)\([^\.]*\)\.\=/\u\1\2./g<CR>:noh<CR>
" Cursor moves
imap <C-up> <Esc>{i
imap <C-down> <Esc>}i
"nmap <C-up> {
"nmap <C-down> }
"vmap <C-up> {
"vmap <C-down> }
" Toggle Insertion / Normal
"inoremap <C-q> <Esc>
"nmap <C-q> i
" Spellchecking
set spelllang=en,fr
map <F4> 1z=
imap <F4> <Esc>1z=i
" Toggle spellchecking ???
"map <silent> <F5> :set spell!<CR>
map <silent> <F5> :set spell!<CR>
noremap <silent> <Leader>w :call ToggleWrap()<CR>
function ToggleWrap()
if &wrap
echo "Wrap OFF"
setlocal nowrap
set virtualedit=all
silent! nunmap <buffer> <Up>
silent! nunmap <buffer> <Down>
silent! nunmap <buffer> <Home>
silent! nunmap <buffer> <End>
silent! iunmap <buffer> <Up>
silent! iunmap <buffer> <Down>
silent! iunmap <buffer> <Home>
silent! iunmap <buffer> <End>
else
echo "Wrap ON"
setlocal wrap linebreak nolist
set virtualedit=
setlocal display+=lastline
noremap <buffer> <silent> <Up> gk
noremap <buffer> <silent> <Down> gj
noremap <buffer> <silent> <Home> g<Home>
noremap <buffer> <silent> <End> g<End>
inoremap <buffer> <silent> <Up> <C-o>gk
inoremap <buffer> <silent> <Down> <C-o>gj
inoremap <buffer> <silent> <Home> <C-o>g<Home>
inoremap <buffer> <silent> <End> <C-o>g<End>
endif
endfunction
set nowrap
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Plugins
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Plugin: ShowMarks
"map <F4> :ShowMarksToggle<CR>
" Plugin: Vim-Taglist
let Tlist_Ctags_Cmd = "/usr/bin/ctags"
let Tlist_WinWidth = 40
" Plugin: NERDTree toggle
map <silent> <F3> :NERDTreeToggle<CR>
" Plugin: LaTeX Suite
"set grepprg=grep\ -nH\ $*
let g:tex_flavor = "LaTeX"
let g:Tex_CompileRule_pdf = 'pdflatex --interaction=nonstopmode $*'
let g:Tex_DefaultTargetFormat ='pdf'
"let TTarget pdf
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Abbreviations
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"iab item itemize
iab Arch Arch Linux
iab arch architecture
iab auto automatique
iab Bcp Beaucoup
iab bcp beaucoup
iab biblio bibliothèque
iab Chai Je ne sais
iab chai je ne sais
iab config configuration
iab configs configurations
iab Dc Donc
iab dc donc
iab dep dépendance
iab deps dépendances
iab dispo disponible
iab dispos disponibles
iab distro distribution
iab Ds Dans
iab ds dans
iab easy easylist
iab fun function
iab info information
iab infos informations
iab latex LaTeX
iab linux GNU/Linux
iab lng language
iab lst lstlisting
iab mail e-mail
iab Mm Même
iab mm même
iab Mnt Maintenant
iab mnt maintenant
iab pb problème
iab ms mais
iab Ms Mais
iab pbs problèmes
iab Pcq Parce que
iab pcq parce que
iab pgrm programme
iab pgrms programmes
iab Plsu Plus
iab plsu plus
iab poru pour
iabPeut-être
iabpeut-être
iab Qd Quand
iab qd quand
iab Qq Quelque
iab qq quelque
iab qqch quelque chose
iab Qqch Quelque chose
iab Qqn Quelqu'un
iab qqn quelqu'un
iab Qqns Quelques-uns
iab qqns quelques-uns
iab Qqs Quelques
iab qqs quelques
iab ques question
iab Ss Sous
iab ss sous
iab stp s'il te plaît
iab svp s'il vous plaît
iab teh the
iab tex TeX
iab tjrs toujours
iab Tjrs Toujours
iab ts tous
iab tt tout
iab tte toute
iab ttes toutes
iab var variable
iab Ya Il y a
iab ya il y a
iab Yen Il y en
iab yen il y en

47
.xinitrc Normal file
View File

@ -0,0 +1,47 @@
#!/bin/sh
################################################################################
## XINITRC
## Last updated: 2012-04-23
################################################################################
## Config (for rxvt)
[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources
## Useful tools
numlockx on
amixer set PCM 80%
# xscreensaver -no-splash &
##==============================================================================
## My apps
##==============================================================================
# [ -e /usr/bin/emacs ] && emacs --daemon
# dropboxd &
# parcellite &
# clementine &
# thunderbird &
##==============================================================================
## Launch session
##==============================================================================
# [ -e /usr/bin/awesome ] && exec ck-launch-session dbus-launch awesome
[ -e /usr/bin/awesome ] && exec ck-launch-session dbus-launch awesome
# [ -e /usr/bin/startlxde ] && exec ck-launch-session startlxde
# exec ck-launch-session dbus-launch wmfs2
# exec ck-launch-session dbus-launch wmfs
# exec ck-launch-session dbus-launch startkde
# exec ck-launch-session dbus-launch cinnamon
# exec ck-launch-session gnome-session
## WMII
#exec wmii
#until wmii; do
# true
#done
################################################################################
## Wallpaper
################################################################################
# feh --bg-fill "$HOME/pictures/arch_linux_wallpaper_by_mokkujin-d3j1se0.png"

50
.zshrc Normal file
View File

@ -0,0 +1,50 @@
################################################################################
## Shell Config -- Master File
## Date 2011-11-19
################################################################################
##==============================================================================
## If not running interactively, don't do anything
##==============================================================================
## Useless for Zsh ?
[ -z "$PS1" ] && return
##==============================================================================
## Base functions
##==============================================================================
isShell()
{
if [ "$1" = "$(ps | grep $$ | awk '{print $4}')" ]; then
return 0
else
return 1
fi
}
safeSource()
{
if [ -f "$1" ]; then
source "$1"
return 0
else
echo "Warning: $1 not found when sourcing!"
return 1
fi
}
##==============================================================================
## Sourcing
##==============================================================================
SHELLDIR="$HOME/.shell.d"
safeSource "${SHELLDIR}/main_rc" # Should be sourced first.
safeSource "${SHELLDIR}/options_zsh"
safeSource "${SHELLDIR}/funs_rc"
safeSource "${SHELLDIR}/alias_rc"
safeSource "${SHELLDIR}/keys_zsh"
safeSource "${SHELLDIR}/personal_rc"