Committed most of the home config files.
parent
f6c5637c0d
commit
ffa6b50281
|
@ -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
|
|
@ -0,0 +1,6 @@
|
|||
[options]
|
||||
[core]
|
||||
[extra]
|
||||
[community]
|
||||
[multilib]
|
||||
[archlinuxfr]
|
|
@ -0,0 +1,4 @@
|
|||
[options]
|
||||
[core]
|
||||
[extra]
|
||||
[community]
|
|
@ -0,0 +1,6 @@
|
|||
[options]
|
||||
[core]
|
||||
[extra]
|
||||
[community]
|
||||
[multilib]
|
||||
[archlinuxfr]
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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"
|
|
@ -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
|
|
@ -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)
|
||||
-- }}}
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
[ -d /usr/share/awesome/themes/default ] && cp -rn "/usr/share/awesome/themes/default/*" "${HOME}/.config/awesome/themes/custom/"
|
|
@ -0,0 +1,3 @@
|
|||
[Settings]
|
||||
gtk-theme-name = Adwaita
|
||||
gtk-fallback-icon-theme = gnome
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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)
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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))"
|
|
@ -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))"
|
|
@ -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
|
||||
|
|
@ -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]"
|
||||
# }
|
|
@ -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]
|
|
@ -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]
|
|
@ -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]
|
|
@ -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]
|
|
@ -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]
|
|
@ -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]
|
|
@ -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]
|
|
@ -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"
|
||||
|
|
@ -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))
|
|
@ -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 '())
|
||||
|
|
@ -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
|
|
@ -0,0 +1,6 @@
|
|||
#name : else { ... }
|
||||
# --
|
||||
else
|
||||
{
|
||||
$0
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
#name : for (...; ...; ...) { ... }
|
||||
# --
|
||||
for (${1:i = 0}; ${2:i < N}; ${3:i++})
|
||||
{
|
||||
$0
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
#name : type fun (args) { ... }
|
||||
# --
|
||||
${1:type} ${2:name} (${3:args})
|
||||
{
|
||||
$0
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
#name: int main(argc, argv) { ... }
|
||||
# --
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
$0
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
#name : while (...) { ... }
|
||||
# --
|
||||
while (${1:condition})
|
||||
{
|
||||
$0
|
||||
}
|
|
@ -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}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
@ -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}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
@ -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}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
@ -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"
|
|
@ -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"
|
|
@ -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
|
|
@ -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
|
|
@ -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)'
|
|
@ -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
|
|
@ -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
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -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
|
|
@ -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/
|
||||
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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'
|
|
@ -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
|
|
@ -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
|
||||
iab Pê Peut-être
|
||||
iab pê peut-ê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
|
|
@ -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"
|
|
@ -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"
|
||||
|
Loading…
Reference in New Issue