This commit is contained in:
2014-11-07 17:37:04 +01:00
parent b323c66209
commit f04a4da714
19 changed files with 268 additions and 338 deletions

3
i3/i3/.gitignore vendored
View File

@@ -1 +1,2 @@
session.config session.*.config
testing/

View File

@@ -19,7 +19,8 @@
set $mod Mod4 set $mod Mod4
# The default terminal # The default terminal
set $terminal urxvtc #-e bash -c "tmux -q has-session && exec tmux attach-session -d || exec tmux new-session -n$USER -s$USER@$HOSTNAME" set $terminal ~/bin/start-urxvtc.sh
#-e bash -c "tmux -q has-session && exec tmux attach-session -d || exec tmux new-session -n$USER -s$USER@$HOSTNAME"
# Path to the exit script # Path to the exit script
set $path_i3exit ~/.i3/scripts/i3exit.bash set $path_i3exit ~/.i3/scripts/i3exit.bash
@@ -39,16 +40,16 @@
set $signal_reboot reboot set $signal_reboot reboot
set $signal_shutdown shutdown set $signal_shutdown shutdown
set $workspace1 1 set $workspace1 1:web
set $workspace2 2 set $workspace2 2
set $workspace3 3 set $workspace3 3
set $workspace4 4 set $workspace4 4
set $workspace5 5 set $workspace5 5
set $workspace6 6 set $workspace6 6:irc
set $workspace7 7 set $workspace7 7:music
set $workspace8 8 set $workspace8 8:notes
set $workspace9 9 set $workspace9 9:mail
set $workspace10 10 set $workspace10 10:im
set $key_workspace1 1 set $key_workspace1 1
set $key_workspace2 2 set $key_workspace2 2
@@ -181,7 +182,7 @@
### START APPLICATIONS ##################################################### ### START APPLICATIONS #####################################################
bindsym $mod+d exec j4-dmenu-desktop --dmenu="dmenu -fn 'DejaVu Sans Mono:size=11' -b -i -l 10 -p '>' -nb '#222222' -nf '#ffffff' -sb '#e16b40' -sf '#000000'" bindsym $mod+d exec j4-dmenu-desktop --dmenu="dmenu -fn 'DejaVu Sans:size=11' -i -p '>' -nb '#000000' -nf '#ffffff' -sb '#e16b40' -sf '#000000'"
bindsym $mod+Return exec $terminal bindsym $mod+Return exec $terminal
bindsym $mod+F1 exec firefox bindsym $mod+F1 exec firefox
@@ -291,10 +292,10 @@ client.urgent #2f343a #900000 #ffffff #900000
for_window [class="^URxvt$"] border 1pixel for_window [class="^URxvt$"] border 1pixel
for_window [class="^Cairo-dock$"] floating enable , border none for_window [class="^Cairo-dock$"] floating enable , border none
for_window [class="^Pavucontrol$"] floating enable , border normal for_window [class="^Pavucontrol$"] floating enable , border normal
for_window [title="^Skype.*for Linux$" ] floating enable , border none
for_window [class="^Chromium$" ] border none for_window [class="^Chromium$" ] border none
for_window [class="^yad-status$" ] floating enable , border none for_window [class="^yad-status$" ] floating enable , border none
for_window [class="^Docky$" ] floating enable , border none for_window [class="^Docky$" ] floating enable , border none
for_window [title="^Skype.*for Linux$" ] floating enable , border none
for_window [class="^Skype$" ] border none for_window [class="^Skype$" ] border none
for_window [class="^Steam$" ] border none for_window [class="^Steam$" ] border none
for_window [class="^Eclipse$" ] border none for_window [class="^Eclipse$" ] border none
@@ -304,9 +305,21 @@ client.urgent #2f343a #900000 #ffffff #900000
for_window [class="^Evince$" ] border none for_window [class="^Evince$" ] border none
for_window [class="^Designer$" ] border none for_window [class="^Designer$" ] border none
for_window [class="^main\.py$" ] floating enable for_window [class="^main\.py$" ] floating enable
for_window [class="^Xfce4-panel$"] floating enable #for_window [class="^Xfce4-panel$"] floating enable
for_window [class="^Thunderbird"] border none for_window [class="^Thunderbird$"] border none
for_window [instance="^shutdown-menu$"] border normal for_window [instance="^shutdown-menu$"] border normal
for_window [class="^VirtualBox$" ] border normal
assign [class="^Thunderbird"] $workspace9 #assign [class="^Thunderbird"] $workspace9
assign [class="^Firefox$" ] $workspace1
assign [title=".*[Ss]team.*" ] $workspace5
assign [class=".*[Ss]team.*" ] $workspace5
assign [class="^Quassel$" ] $workspace6
assign [instance="^ncmpcpp$" ] $workspace7
assign [class="^Zim$" ] $workspace8
assign [class="^Thunderbird$" ] $workspace9
assign [class="^Skype$"] $workspace10 assign [class="^Skype$"] $workspace10

View File

@@ -1,10 +1,23 @@
exec --no-startup-id dropboxd &
# bind some keys # bind some keys
bindsym XF86Sleep exec --no-startup-id $path_i3exit suspend bindsym XF86Sleep exec --no-startup-id $path_i3exit suspend
bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master %5+ bindsym XF86AudioRaiseVolume exec --no-startup-id bash $HOME/.i3/scripts/pa-volume.bash set-vol +5 ; exec --no-startup-id "bash $HOME/.i3/scripts/update-status.bash"
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master %5- bindsym XF86AudioLowerVolume exec --no-startup-id bash $HOME/.i3/scripts/pa-volume.bash set-vol -5 ; exec --no-startup-id "bash $HOME/.i3/scripts/update-status.bash"
# keys seemingly switched
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -dec 5 ; exec --no-startup-id "bash $HOME/.i3/scripts/update-status.bash"
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -inc 5 ; exec --no-startup-id "bash $HOME/.i3/scripts/update-status.bash"
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
bindsym XF86AudioPrev exec --no-startup-id mpc prev
bindsym XF86AudioNext exec --no-startup-id mpc next
# font for window titles. ISO 10646 = Unicode
font pango:DejaVu Sans Mono 11
bindsym $mod+o exec --no-startup-id "bash -c '~/development/projects/xautorandr/xautorandr ; kill -SIGUSR2 $(cat $HOME/.var/run/wallchanger.pid)'"
bindsym $mod+p exec --no-startup-id "bash -c 'kill -SIGUSR1 $(cat $HOME/.var/run/wallchanger.pid)'"
# start i3bar to display a workspace bar (plus the system information i3status # start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available) # finds out, if available)
@@ -13,7 +26,6 @@ bar {
mode dock mode dock
position top position top
# show a tray area
tray_output primary tray_output primary
# show workspace buttons # show workspace buttons
@@ -21,20 +33,19 @@ bar {
id bar-0 id bar-0
font pango:DejaVu Sans Mono 8 font pango:DejaVu Sans, Icons 9
colors { colors {
background #000000 background #000000
statusline #ffffff statusline #ffffff
separator #666666 separator #e16b40
focused_workspace #4c7899 #285577 #ffffff focused_workspace #e16b40 #000000 #ffffff
active_workspace #333333 #5f676a #ffffff active_workspace #000000 #5f676a #ffffff
inactive_workspace #333333 #222222 #888888 inactive_workspace #000000 #000000 #dddddd
urgent_workspace #2f343a #900000 #ffffff urgent_workspace #D00000 #D00000 #000000
} }
i3bar_command i3bar i3bar_command i3bar
#status_command i3status -c ~/.i3/i3status.d/netbook.conf
status_command bash ~/.i3/i3bar_wrapper.bash ~/.i3/conky/netbook.conkyrc status_command bash ~/.i3/i3bar_wrapper.bash ~/.i3/conky/netbook.conkyrc
} }

View File

@@ -18,7 +18,6 @@ font pango:DejaVu Sans Mono 11
bindsym $mod+o exec --no-startup-id "bash -c '~/development/projects/xautorandr/xautorandr ; kill -SIGUSR2 $(cat $HOME/.var/run/wallchanger.pid)'" bindsym $mod+o exec --no-startup-id "bash -c '~/development/projects/xautorandr/xautorandr ; kill -SIGUSR2 $(cat $HOME/.var/run/wallchanger.pid)'"
bindsym $mod+p exec --no-startup-id "bash -c 'kill -SIGUSR1 $(cat $HOME/.var/run/wallchanger.pid)'" bindsym $mod+p exec --no-startup-id "bash -c 'kill -SIGUSR1 $(cat $HOME/.var/run/wallchanger.pid)'"
# start i3bar to display a workspace bar (plus the system information i3status # start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available) # finds out, if available)
bar { bar {
@@ -36,14 +35,14 @@ bar {
font pango:DejaVu Sans, Icons 11 font pango:DejaVu Sans, Icons 11
colors { colors {
background #222222 background #000000
statusline #ffffff statusline #ffffff
separator #e16b40 separator #e16b40
focused_workspace #e16b40 #222222 #ffffff focused_workspace #e16b40 #000000 #ffffff
active_workspace #222222 #5f676a #ffffff active_workspace #000000 #5f676a #ffffff
inactive_workspace #222222 #222222 #bbbbbb inactive_workspace #000000 #000000 #dddddd
urgent_workspace #000000 #de1e15 #000000 urgent_workspace #D00000 #D00000 #000000
} }
i3bar_command i3bar i3bar_command i3bar

View File

@@ -1,5 +1,4 @@
# vim:set filetype=conkyrc: # vim:set filetype=conkyrc:
# TODO: coloring of LOAD should depend on number of cpus, as it scales accordingly
out_to_console yes out_to_console yes
out_to_ncurses no out_to_ncurses no
out_to_stderr no out_to_stderr no
@@ -12,127 +11,59 @@ double_buffer yes
update_interval 1.0 update_interval 1.0
update_interval_on_battery 1.0 update_interval_on_battery 1.0
mpd_host 10.11.11.190
mpd_port 6600
# pad_percents is useless without use_spacer, but the latter leads to some ugly gaps # pad_percents is useless without use_spacer, but the latter leads to some ugly gaps
#pad_percents 2 #pad_percents 2
#use_spacer left #use_spacer left
#${mpd_artist} - ${mpd_title} ${mpd_elapsed}/${mpd_length}\
TEXT TEXT
[ [\
${if_existing /sys/class/net/wlp2s0}\ { "full_text" : "\
{ "full_text" : " \ ${if_mpd_playing}\
W: \ ${if_match "${mpd_status}" == "Paused"}\
${if_up wlp2s0}\ \
${if_match "${addr wlp2s0}" != "No Address"}\
${wireless_essid wlp2s0} (${wireless_link_qual_perc wlp2s0}%)\
${else}\ ${else}\
No Address\ \
${endif}\ ${endif}\
${mpd_title} ${mpd_elapsed}/${mpd_length}\
${else}\ ${else}\
down\  stopped\
${endif}\ ${endif}\
" , "color" : "\ " , "name" : "mpd_toggle" },\
${if_up wlp2s0}\
${if_match "${addr wlp2s0}" != "No Address"}\
${if_match ${wireless_link_qual_perc wlp2s0} <= 25}\
\#FF0000\
${else}${if_match ${wireless_link_qual_perc wlp2s0} <= 50}\
\#FFFF00\
${else}\
\#00FF00\
${endif}\
${endif}\
${else}\#FFFF00\
${endif}\
${else}\#FF0000\
${endif}\
" },
${endif}
\ \
\ \
\ \
${if_existing /sys/class/net/enp0s3} { "full_text" : "  \
{ "full_text" : " \ ${texeci 5 bash $HOME/.i3/scripts/pa-volume.bash status} " , "color" : "\#FFFFFF" , "name" : "volume" },\
E: \
${if_up enp0s3}\
${addr enp0s3}\
${else}\
down\
${endif}\
" , "color" : "\
${if_up enp0s3}\
${if_match "${addr enp0s3}" != "No Address"}\#00FF00\
${else}\#FFFF00\
${endif}\
${else}\#FF0000\
${endif}\
" },
${endif}
\ \
\ \
\ \
${if_existing /sys/class/net/enp1s0} ${if_existing /sys/class/power_supply/BAT1}\
{ "full_text" : " \ ${texeci 10 bash $HOME/.i3/scripts/status.d/battery.bash conky}\
E: \
${if_up enp1s0}\
${addr enp1s0}\
${else}\
down\
${endif}\
" , "color" : "\
${if_up enp1s0}\
${if_match "${addr enp1s0}" != "No Address"}\#00FF00\
${else}\#FFFF00\
${endif}\
${else}\#FF0000\
${endif}\
" },
${endif}
\
\
\
${if_existing /sys/class/net/eth0}
{ "full_text" : " \
E: \
${if_up eth0}\
${addr eth0}\
${else}\
down\
${endif}\
" , "color" : "\
${if_up eth0}\
${if_match "${addr eth0}" != "No Address"}\#00FF00\
${else}\#FFFF00\
${endif}\
${else}\#FF0000\
${endif}\
" },
${endif}\ ${endif}\
\ \
\ \
\ \
${if_existing /sys/class/power_supply/BAT0}\ { "full_text" : "  ${kernel} " , "color" : "\#FFFFFF" , "name" : "sysinfo" },\
{ "full_text" : " BAT: ${battery_short BAT0} "\
, "color" : "\
${if_match ${battery_percent BAT0} < 10}\#FF0000\
${else}${if_match ${battery_percent BAT0} < 30}\#FFFF00\
${else}\#00FF00\
${endif}\
${endif}\
" },
${endif}\
\ \
\ \
\ \
{ "full_text" : " VOL: \ { "full_text" : "  ${texeci 60 bash ~/.i3/scripts/status.d/conky_pacman.bash} " , "color" : "\#FFFFFF" , "name" : "pacman" },\
${if_match ${mixer} == 0}\
mute\
${else}\
${mixer}%\
${endif}\
" , "color" : "\#FFFFFF" },
\ \
\ \
\ \
{ "full_text" : " ${time %a %F %T} " , "short_text" : " ${time %a %T} " , "color" : "\#FFFFFF" , "name" : "time" } { "full_text" : "  $uptime_short " , "color" : "\#FFFFFF" , "name" : "sysinfo" },\
\
\
\
{ "full_text" : "  ${time %a %F %T} " , "color" : "\#FFFFFF" , "name" : "time" },\
\
\
\
{ "full_text" : "" }\
], ],

View File

@@ -11,122 +11,32 @@ double_buffer yes
update_interval 1.0 update_interval 1.0
update_interval_on_battery 1.0 update_interval_on_battery 1.0
mpd_host 10.11.11.190
mpd_port 6600
# pad_percents is useless without use_spacer, but the latter leads to some ugly gaps # pad_percents is useless without use_spacer, but the latter leads to some ugly gaps
#pad_percents 2 #pad_percents 2
#use_spacer left #use_spacer left
#${mpd_artist} - ${mpd_title} ${mpd_elapsed}/${mpd_length}\
TEXT TEXT
[\ [\
{ "full_text" : "\ { "full_text" : "\
${if_running mpd}\
${if_mpd_playing}\ ${if_mpd_playing}\
${if_match "${mpd_status}" == "Paused"}\ ${if_match "${mpd_status}" == "Paused"}\
 \  \
${else}\ ${else}\
 \  \
${endif}\ ${endif}\
${mpd_artist} - ${mpd_title} ${mpd_elapsed}/${mpd_length}\ ${mpd_title} ${mpd_elapsed}/${mpd_length}\
${else}\ ${else}\
 stopped\  stopped\
${endif}\
${else}\
 down\
${endif}\ ${endif}\
" , "name" : "mpd_toggle" },\ " , "name" : "mpd_toggle" },\
\ \
\ \
\ \
${if_existing /sys/class/net/wlp2s0}\
{ "full_text" : "  \
${if_up wlp2s0}\
${if_match "${addr wlp2s0}" != "No Address"}\
${wireless_essid wlp2s0} (${wireless_link_qual_perc wlp2s0}%)\
${else}\
No Address\
${endif}\
${else}\
down\
${endif}\
" , "color" : "\
${if_up wlp2s0}\
${if_match "${addr wlp2s0}" != "No Address"}\
${if_match ${wireless_link_qual_perc wlp2s0} <= 25}\
\#FF0000\
${else}${if_match ${wireless_link_qual_perc wlp2s0} <= 50}\
\#FFFF00\
${else}\
\#FFFFFF\
${endif}\
${endif}\
${else}\#FFFF00\
${endif}\
${else}\#FF0000\
${endif}\
" , "name" : "wireless" },\
${endif}\
\
\
\
${if_existing /sys/class/net/enp0s3}\
{ "full_text" : " \
enp0s3: \
${if_up enp0s3}\
${addr enp0s3}\
${else}\
down\
${endif}\
" , "color" : "\
${if_up enp0s3}\
${if_match "${addr enp0s3}" != "No Address"}\#00FF00\
${else}\#FFFF00\
${endif}\
${else}\#FF0000\
${endif}\
" },\
${endif}\
\
\
\
${if_existing /sys/class/net/enp1s0}\
{ "full_text" : " \
enp1s0: \
${if_up enp1s0}\
${addr enp1s0}\
${else}\
down\
${endif}\
" , "color" : "\
${if_up enp1s0}\
${if_match "${addr enp1s0}" != "No Address"}\#00FF00\
${else}\#FFFF00\
${endif}\
${else}\#FF0000\
${endif}\
" },\
${endif}\
\
\
\
${if_existing /sys/class/net/eth0}\
{ "full_text" : " \
eth0: \
${if_up eth0}\
${addr eth0}\
${else}\
down\
${endif}\
" , "color" : "\
${if_up eth0}\
${if_match "${addr eth0}" != "No Address"}\#00FF00\
${else}\#FFFF00\
${endif}\
${else}\#FF0000\
${endif}\
" },\
${endif}\
\
\
\
{ "full_text" : "  \ { "full_text" : "  \
${texeci 5 bash $HOME/.i3/scripts/pa-volume.bash status} " , "color" : "\#FFFFFF" , "name" : "volume" },\ ${texeci 5 bash $HOME/.i3/scripts/pa-volume.bash status} " , "color" : "\#FFFFFF" , "name" : "volume" },\
\ \
@@ -142,7 +52,7 @@ ${endif}\
\ \
\ \
\ \
{ "full_text" : " ${texeci 60 bash ~/.i3/scripts/status.d/conky_pacman.bash} " , "color" : "\#FFFFFF" , "name" : "pacman" },\ { "full_text" : " ${texeci 60 bash ~/.i3/scripts/status.d/conky_pacman.bash} " , "color" : "\#FFFFFF" , "name" : "pacman" },\
\ \
\ \
\ \

View File

@@ -1,9 +1,11 @@
#!/bin/bash #!/bin/bash
host="$(hostname --short)"
# main configuration file that is always used # main configuration file that is always used
MAIN_CONF="$HOME/.i3/config" MAIN_CONF="$HOME/.i3/config"
# temporary configuration file used for this session # temporary configuration file used for this session
SESSION_CONF="$HOME/.i3/session.config" SESSION_CONF="$HOME/.i3/session.${host}.config"
# directory that contains host specific configuration # directory that contains host specific configuration
CONF_DIR="$HOME/.i3/config.d" CONF_DIR="$HOME/.i3/config.d"
# file that should be used when no host specific configuration present # file that should be used when no host specific configuration present
@@ -11,21 +13,19 @@ DEFAULT_CONF="$CONF_DIR/default"
LOGFILE="$LOGDIR/i3/genconfig.log" LOGFILE="$LOGDIR/i3/genconfig.log"
host_specific_conf="$CONF_DIR/$host.config"
log() { log() {
echo "[$(date +%FT%T)] $*" >> "$LOGFILE" echo "[$(date +%FT%T)] $*" >> "$LOGFILE"
} }
host="$(hostname)"
host_specific_conf="$CONF_DIR/$host.config"
# if it's a symlink to $MAIN_CONF, cat will fail # if it's a symlink to $MAIN_CONF, cat will fail
[[ -f "$SESSION_CONF" ]] && rm "$SESSION_CONF" [[ -f "$SESSION_CONF" ]] && rm "$SESSION_CONF"
if [[ ! -f "$host_specific_conf" ]] && [[ ! -f "$DEFAULT_CONF" ]]; then if [[ ! -f "$host_specific_conf" ]] && [[ ! -f "$DEFAULT_CONF" ]]; then
# if there is no host-specific configuration and no default one, just use # if there is no host-specific configuration and no default one, just use
# the main config # the main config
log "neither config for host $host nor default config at $DEFAULT_CONF found, using main only" log "neither config for host $host at $host_specific_conf nor default config at $DEFAULT_CONF found, using main only"
ln -sf "$MAIN_CONF" "$SESSION_CONF" ln -sf "$MAIN_CONF" "$SESSION_CONF"
else else
# either use the host specific config if present, or the default if not # either use the host specific config if present, or the default if not

View File

@@ -28,6 +28,10 @@ setvol() {
echo "capping at 100 percent" echo "capping at 100 percent"
newvol=100 newvol=100
fi fi
if [[ $newvol -lt 0 ]]; then
echo "capping at 0 percent"
newvol=0
fi
echo "newvol $newvol" echo "newvol $newvol"
else else
newvol="$1" newvol="$1"

View File

@@ -2,7 +2,7 @@
updates=$(pacman -Quq | wc -l) updates=$(pacman -Quq | wc -l)
if [[ $updates -eq 0 ]] ; then if [[ $updates -eq 0 ]] ; then
echo "no updates" echo "up to date"
elif [[ $updates -eq 1 ]] ; then elif [[ $updates -eq 1 ]] ; then
echo "1 update" echo "1 update"
else else

21
i3/i3/scripts/weather.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/sh
#AccuWeather (r) RSS weather tool for conky
#
#USAGE: weather.sh <locationcode>
#
#(c) Michael Seiler 2007
METRIC=1 #Should be 0 or 1; 0 for F, 1 for C
if [ -z $1 ]; then
echo
echo "USAGE: weather.sh <locationcode>"
echo
exit 0;
fi
curl -s http://rss.accuweather.com/rss/liveweather_rss.asp\?metric\=${METRIC}\&locCode\=$1 | grep "Currently" | head -1 | grep -o 'Currently:[^<]*' | cut -d ' ' -f 2- | tr ':' ','
# | perl -ne 'if (/Currently/) {chomp;/\<title\>Currently: (.*)?\<\/title\>/; print "$1"; }' |sed s/\:// |tr [A-Z] [a-z]

View File

@@ -10,7 +10,7 @@
# be disabled and audio files will only be accepted over ipc socket (using # be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol. # file:// protocol) or streaming files over an accepted protocol.
# #
music_directory "~/music/library" music_directory "/media/shared/music/library"
# #
# This setting sets the MPD internal playlist directory. The purpose of this # This setting sets the MPD internal playlist directory. The purpose of this
# directory is storage for playlists created by MPD. The server will use # directory is storage for playlists created by MPD. The server will use

View File

@@ -7,15 +7,20 @@ chromium
chrony chrony
codespell codespell
conky conky
connman
cowsay cowsay
cronie cronie
d-feet d-feet
dd_rescue dd_rescue
deluge deluge
dhclient
dialog dialog
dnsmasq
dnsutils dnsutils
dosfstools dosfstools
easy-rsa easy-rsa
ebtables
ed
efibootmgr efibootmgr
encfs encfs
feh feh
@@ -28,6 +33,7 @@ gcc-multilib
gcolor2 gcolor2
ghostscript ghostscript
git git
gksu
gptfdisk gptfdisk
grub grub
gsmartcontrol gsmartcontrol
@@ -62,8 +68,10 @@ lxappearance
mousepad mousepad
mpc mpc
mpd mpd
mumble
ncmpcpp ncmpcpp
net-tools net-tools
nftables
nmap nmap
ntfs-3g ntfs-3g
openbsd-netcat openbsd-netcat
@@ -85,11 +93,11 @@ python-pyqt4
python-pyqt5 python-pyqt5
python-sphinx python-sphinx
python-virtualenv python-virtualenv
qemu
qtcurve-gtk2 qtcurve-gtk2
qtcurve-qt4 qtcurve-qt4
qtcurve-qt5 qtcurve-qt5
quassel-client quassel-monolithic
quassel-core
ranger ranger
redshift redshift
reflector reflector
@@ -99,10 +107,14 @@ rxvt-unicode-terminfo
samba samba
scrot scrot
skype skype
sl
smplayer
sshfs sshfs
steam steam
strace
stress stress
subversion subversion
tcpdump
thunderbird thunderbird
tk tk
tmux tmux
@@ -131,9 +143,11 @@ wpa_actiond
wpa_supplicant wpa_supplicant
xbindkeys xbindkeys
xclip xclip
xcompmgr
xcursor-vanilla-dmz xcursor-vanilla-dmz
xf86-input-synaptics xf86-input-synaptics
xf86-video-intel xf86-video-intel
xfce4-notifyd
xorg-server xorg-server
xorg-sessreg xorg-sessreg
xorg-utils xorg-utils

View File

@@ -1,3 +1,5 @@
new-session -A -s 's-1'
set -g default-terminal 'screen-256color' set -g default-terminal 'screen-256color'
set -g utf8 on set -g utf8 on
@@ -9,13 +11,16 @@ set -g prefix C-a
unbind C-b unbind C-b
bind C-a send-prefix bind C-a send-prefix
unbind C-j
set -s escape-time 0 set -s escape-time 0
set-window-option -g aggressive-resize on set-window-option -g aggressive-resize on
setw -g mode-mouse on setw -g mode-mouse on
# set -g mouse-select-pane on set -g mouse-select-pane on
# set -g mouse-resize-pane on set -g mouse-resize-pane on
# set -g mouse-select-window on set -g mouse-select-window on
set -g mode-keys vi set -g mode-keys vi
@@ -56,7 +61,7 @@ set-window-option -g window-status-current-attr bold
set-window-option -g window-status-current-format ' #I: #W #F ' set-window-option -g window-status-current-format ' #I: #W #F '
set-window-option -g monitor-activity on set-window-option -g monitor-activity on
#set -g visual-activity on set -g visual-activity on
set-window-option -g automatic-rename on set-window-option -g automatic-rename on
set-window-option -g automatic-rename-format '#{pane_current_command}' set-window-option -g automatic-rename-format '#{pane_current_command}'
@@ -74,7 +79,7 @@ set -g pane-active-border-fg red
#set -g status-style 'bg=black,fg=white,none' #set -g status-style 'bg=black,fg=white,none'
set -g status-left ' #[bg=#E5F200,fg=#000000] #{session_name} #[bg=default] #[bg=#90FF00,fg=#000000] #{host} #[bg=default] ' set -g status-left ' #[bg=#E5F200,fg=#000000] #{session_name} #[bg=default] #[bg=#90FF00,fg=#000000] #{host} #[bg=default] '
set -g status-left-length 20 set -g status-left-length 100
# vertical = | in this case # vertical = | in this case
unbind % unbind %

View File

@@ -35,9 +35,6 @@ call vundle#begin()
Plugin 'gmarik/vundle' Plugin 'gmarik/vundle'
" solarized color theme
Plugin 'altercation/vim-colors-solarized'
" monokai color theme " monokai color theme
Plugin 'sickill/vim-monokai' Plugin 'sickill/vim-monokai'
@@ -68,42 +65,27 @@ Plugin 'tpope/vim-speeddating'
" git integration " git integration
Plugin 'tpope/vim-fugitive' Plugin 'tpope/vim-fugitive'
" buffer expolorer
"Plugin 'fholgado/minibufexpl.vim'
" shows a code outline
Plugin 'majutsushi/tagbar'
" python specific stuff " python specific stuff
Plugin 'klen/python-mode' Plugin 'klen/python-mode'
" incremental visual mode " incremental visual mode
Plugin 'terryma/vim-expand-region' "Plugin 'terryma/vim-expand-region'
"
" splitting single line code "Plugin 'wincent/Command-T'
Plugin 'AndrewRadev/splitjoin.vim' "
"Plugin 'sjl/gundo.vim'
" motion to two characters "
Plugin 'justinmk/vim-sneak'
" alignment operator
Plugin 'tommcdo/vim-lion'
Plugin 'wincent/Command-T'
Plugin 'sjl/gundo.vim'
Plugin 'kien/ctrlp.vim' Plugin 'kien/ctrlp.vim'
"
Plugin 'PeterRincker/vim-argumentative' "Plugin 'PeterRincker/vim-argumentative'
"
Plugin 'wellle/targets.vim' "Plugin 'wellle/targets.vim'
"
Plugin 'Lokaltog/vim-easymotion' "Plugin 'Lokaltog/vim-easymotion'
"
Plugin 'terryma/vim-multiple-cursors' "Plugin 'terryma/vim-multiple-cursors'
"
Plugin 'flazz/vim-colorschemes' "Plugin 'flazz/vim-colorschemes'
call vundle#end() call vundle#end()
@@ -195,8 +177,8 @@ set hlsearch " highlight matches in a search
set wrapscan " wrap searches at the end of the file set wrapscan " wrap searches at the end of the file
set ignorecase " ignore case when only searching for set ignorecase " ignore case when only searching for
" lowercase set smartcase " lowercase letters, case sensitive
set smartcase " letters, case sensitive otherwis " otherwise
set foldenable " auto-fold code set foldenable " auto-fold code
@@ -357,19 +339,37 @@ autocmd BufWinEnter *.* silent loadview
":au WinEnter * :setlocal number relativenumber ":au WinEnter * :setlocal number relativenumber
":au WinLeave * :setlocal nonumber norelativenumber ":au WinLeave * :setlocal nonumber norelativenumber
nnoremap <up> <nop> ""nnoremap <up> <nop>
nnoremap <down> <nop> ""nnoremap <down> <nop>
nnoremap <left> <nop> ""nnoremap <left> <nop>
nnoremap <right> <nop> ""nnoremap <right> <nop>
inoremap <up> <nop> ""inoremap <up> <nop>
inoremap <down> <nop> ""inoremap <down> <nop>
inoremap <left> <nop> ""inoremap <left> <nop>
inoremap <right> <nop> ""inoremap <right> <nop>
nmap <C-n> :bnext<CR>
nmap <C-p> :bprev<CR>
" default emacs movements for command line
cnoremap <C-a> <Home>
cnoremap <C-b> <Left>
cnoremap <C-f> <Right>
cnoremap <C-d> <Delete>
cnoremap <M-b> <S-Left>
cnoremap <M-f> <S-Right>
cnoremap <M-d> <S-right><Delete>
cnoremap <Esc>b <S-Left>
cnoremap <Esc>f <S-Right>
cnoremap <Esc>d <S-right><Delete>
cnoremap <C-g> <C-c>
inoremap jj <ESC> inoremap jj <ESC>
nnoremap <leader>v <C-w>v<C-w>l nnoremap <leader>v <C-w>v<C-w>l
nmap ; :CtrlPBuffer<CR>
" no more ex mode " no more ex mode
nnoremap Q <nop> nnoremap Q <nop>

View File

@@ -2,7 +2,7 @@
Xcursor.theme: Vanilla-DMZ Xcursor.theme: Vanilla-DMZ
URxvt.scrollBar: false URxvt.scrollBar: false
URxvt.font: xft:DejaVu Sans Mono:size=10.5 URxvt.font: xft:Droid Sans Mono:size=11
URxvt.letterSpace: -1 URxvt.letterSpace: -1

View File

@@ -11,7 +11,7 @@ log() {
echo "[$(date +%FT%T)] $*" >> "$LOGFILE" echo "[$(date +%FT%T)] $*" >> "$LOGFILE"
} }
log "START" log "xinitrc startup"
if [ -d /etc/X11/xinit/xinitrc.d ]; then if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do for f in /etc/X11/xinit/xinitrc.d/*; do
@@ -64,24 +64,13 @@ redshift_colortemp="5500:3700"
# start mpd # start mpd
if ! pgrep --euid hannes --exact '^mpd$' ; then if ! pgrep --euid hannes --exact '^mpd$' ; then
log "mpd is not running, starting mpd" log "mpd is not running, starting mpd"
mpd "$HOME/.mpd/mpd.conf" & mpd "$HOME/.mpd/mpd.conf" & &>> $LOGFILE
else else
log "mpd already running, will not start another instance" log "mpd already running, will not start another instance"
fi fi
start the urxvt daemon
if pgrep urxvtd >/dev/null 2>&1; then
log "urxvtd already running"
else
log "starting urxvtd"
urxvtd -q -q -o
fi
log "starting zim in tray" log "starting zim in tray"
zim --plugin trayicon zim --plugin trayicon & &>> $LOGFILE
log "starting conky clock on desktop"
(sleep 3 && conky -c "$HOME/.conky/clock.conkyrc" &>> $LOGFILE) &
# start the pulseaudio volume control tray applet # start the pulseaudio volume control tray applet
log "starting pasystray" log "starting pasystray"
@@ -91,10 +80,19 @@ pasystray & &>> $LOGFILE
log "starting dropboxd" log "starting dropboxd"
nice -n 10 ionice -c 3 dropboxd & &>> $LOGFILE nice -n 10 ionice -c 3 dropboxd & &>> $LOGFILE
log "starting conky clock on desktop"
{
sleep 1
conky -c "$HOME/.conky/clock.conkyrc"
} & &>> $LOGFILE
# start the wallpaper changer # start the wallpaper changer
log "starting $path_wallchanger" log "starting $path_wallchanger"
$path_wallchanger "$wallpaper_directory" "$wallpaper_interval" "$wallpaper_fallback" & {
echo $! > "$wallchanger_pidfile" sleep 0
$path_wallchanger "$wallpaper_directory" "$wallpaper_interval" "$wallpaper_fallback" &
echo $! > "$wallchanger_pidfile"
} & &>> $LOGFILE
# start redshift # start redshift
log "starting redshift-gtk" log "starting redshift-gtk"
@@ -108,12 +106,21 @@ setxkbmap -layout "$keyboard_layout" -variant "$keyboard_variant" & &>> $LOGFILE
log "setting key repeat delay" log "setting key repeat delay"
xset r rate "$keyboard_repeat_delay" "$keyboard_repeat_speed" & &>> $LOGFILE xset r rate "$keyboard_repeat_delay" "$keyboard_repeat_speed" & &>> $LOGFILE
log "starting alarm clock applet"
alarm-clock-applet --hidden & &>> $LOGFILE
log "starting composite manager"
xcompmgr & &>> $LOGFILE
log "starting network tray application"
nm-applet & &>> $LOGFILE
# disable auto screen disable # disable auto screen disable
xset -dpms xset -dpms & &>> $LOGFILE
xset s off xset s off & &>> $LOGFILE
# execute the host-specific .xinitrc-addition # execute the host-specific .xinitrc-addition
hostfile="$HOME/.xinitrc.d/$(hostname).xinitrc" hostfile="$HOME/.xinitrc.d/$(hostname --short).xinitrc"
log "looking for host specific xinitrc addition at $hostfile" log "looking for host specific xinitrc addition at $hostfile"
if [[ -f "$hostfile" ]] ; then if [[ -f "$hostfile" ]] ; then
log "found it. executing" log "found it. executing"
@@ -124,7 +131,7 @@ fi
if [[ -f ~/.Xresources ]] ; then if [[ -f ~/.Xresources ]] ; then
log "found ~/.Xresources, merging it into xrdb" log "found ~/.Xresources, merging it into xrdb"
xrdb -merge ~/.Xresources & &>> $LOGFILE xrdb -merge ~/.Xresources &>> $LOGFILE
else else
log "~/.Xresources not found" log "~/.Xresources not found"
fi fi

View File

@@ -2,3 +2,5 @@
# enable vertical edge scrolling # enable vertical edge scrolling
synclient VertEdgeScroll=1 synclient VertEdgeScroll=1
xrandr --output LVDS-0 --primary

View File

@@ -1,4 +1,10 @@
# exec startx breaks some logind fuckery, without exec it works # exec startx breaks some logind fuckery, without exec it works
tmux start-server & #tmux start-server &
(eval $(ssh-agent) ; ssh-add) >/dev/null 2>&1 & eval $(ssh-agent -s)
export EDITOR="vim"
export VISUAL="vim"
export PATH="$HOME/bin:$PATH"
export BROWSER="firefox"
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx

View File

@@ -1,3 +1,26 @@
[[ -z "$PS1" ]] && return
### SHELL OPTIONS
setopt EXTENDED_HISTORY
setopt HIST_EXPIRE_DUPS_FIRST
setopt HIST_VERIFY
setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY
setopt AUTO_CD
setopt APPEND_HISTORY
setopt HIST_IGNORE_DUPS
setopt NOHIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_SPACE
setopt CORRECT
setopt RM_STAR_SILENT
setopt BG_NICE
setopt CHECK_JOBS
setopt HUP
setopt LONG_LIST_JOBS
# emacs-like keybindings
bindkey -e
autoload -U promptinit autoload -U promptinit
promptinit promptinit
@@ -9,6 +32,13 @@ compinit
zstyle ':completion:*' menu select zstyle ':completion:*' menu select
setopt completealiases setopt completealiases
autoload -U edit-command-line
zle -N edit-command-line
bindkey '^xe' edit-command-line
bindkey '^x^e' edit-command-line
#[[ -n "${key[PageUp]}" ]] && bindkey "${key[PageUp]}" history-beginning-search-backward #[[ -n "${key[PageUp]}" ]] && bindkey "${key[PageUp]}" history-beginning-search-backward
#[[ -n "${key[PageDown]}" ]] && bindkey "${key[PageDown]}" history-beginning-search-forward #[[ -n "${key[PageDown]}" ]] && bindkey "${key[PageDown]}" history-beginning-search-forward
@@ -49,13 +79,6 @@ man() {
man "$@" man "$@"
} }
### VARIABLES
export EDITOR="vim"
export VISUAL="vim"
export PATH="$PATH:$HOME/bin"
export BROWSER="firefox"
### BOOKMARKS ### BOOKMARKS
bm() { bm() {
case "$1" in case "$1" in
@@ -72,27 +95,6 @@ bm() {
} }
### SHELL OPTIONS
setopt EXTENDED_HISTORY
setopt HIST_EXPIRE_DUPS_FIRST
setopt HIST_VERIFY
setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY
setopt AUTO_CD
setopt APPEND_HISTORY
setopt HIST_IGNORE_DUPS
setopt NOHIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_SPACE
setopt CORRECT
setopt RM_STAR_SILENT
setopt BG_NICE
setopt CHECK_JOBS
setopt HUP
setopt LONG_LIST_JOBS
bindkey -e
[[ $TERM == "urxvt" ]] && export TERM="rxvt-unicode" [[ $TERM == "urxvt" ]] && export TERM="rxvt-unicode"
[[ $TERM == "screen" ]] && export TERM="screen-256color" [[ $TERM == "screen" ]] && export TERM="screen-256color"
@@ -127,7 +129,7 @@ alias b='cd $OLDPWD'
alias cs="cryptsetup" alias cs="cryptsetup"
alias le_haxxor_1='clear && dmesg | pv -qL $[10 + (RANDOM % 10)]' alias le_haxxor_1='clear && dmesg | pv -qL $[10 + (RANDOM % 10)]'
alias le_haxxor_2='clear && hexdump -C /dev/urandom | grep "1e 4c"' alias le_haxxor_2='clear && hexdump -C /dev/urandom | pv -qlL 2'
alias YOLO="pacman -Syu --force" alias YOLO="pacman -Syu --force"
@@ -215,6 +217,10 @@ ruler() {
done done
} }
if ! (ssh-add -l | grep -q 'id_rsa') ; then
ssh-add
fi
addext() { addext() {
[[ -z "$1" ]] || [[ -z "$2" ]] && { echo "Usage: $0 <file> <extension>" ; return } [[ -z "$1" ]] || [[ -z "$2" ]] && { echo "Usage: $0 <file> <extension>" ; return }
mv "$1" "$1$2" mv "$1" "$1$2"
@@ -264,7 +270,7 @@ myip4() {
} }
myip6() { myip6() {
curl "http://ipv6.icanhazip.com" 1>/dev/null 2>&1 || echo "no ip6" curl "http://ipv6.icanhazip.com" || echo "no ip6"
} }
alias myip="myip4" alias myip="myip4"