xinitrc: Don't clobber xbound in start-xterms.
[profile] / xinitrc
diff --git a/xinitrc b/xinitrc
index 60a11e6..1d3a83c 100755 (executable)
--- a/xinitrc
+++ b/xinitrc
@@ -91,6 +91,9 @@ initialize () {
   run init xset r rate 500 50
   run init xset m 2 1
 
+  ## Key mappings.
+  xmodmap -e 'keysym BackSpace = BackSpace BackSpace'
+
   ## Gnome settings.
   case $vnc in no) run bginit gnome-settings-daemon ;; esac
 }
@@ -113,6 +116,8 @@ start-window-manager () {
 ###--------------------------------------------------------------------------
 ### Random useful clients.
 
+start-clients-local () { :; }
+
 start-clients () {
   ## Mail notification.
   run bginit mail-notification
@@ -130,6 +135,9 @@ start-clients () {
 
   ## Panel.
   case $vnc in no) run bginit gnome-panel ;; esac
+
+  ## Local clients.
+  start-clients-local
 }
 
 ###--------------------------------------------------------------------------
@@ -200,7 +208,7 @@ start-emacs () {
 start-xterms () {
 
   ## Initialize some parameters.
-  declare -i x="ecols * e_colwd + e_hextra"
+  declare -i x="ecols * e_colwd + e_hextra" xb=xbound
   declare -i n=0 pgx=0 l h y ht
   declare -i hstd="35 * t_lineht + t_vextra" hmin="25 * t_lineht + t_vextra"
 
@@ -208,9 +216,9 @@ start-xterms () {
   while :; do
 
     ## Start a new iteration.
-    if ((x + t_wd > xbound)); then
+    if ((x + t_wd > xb)); then
       if ((n >= 3)); then break; fi
-      x="pgx + XWIDTH" pgx="pgx + XWIDTH" xbound="xbound + XWIDTH"
+      x="pgx + XWIDTH" pgx="pgx + XWIDTH" xb="xb + XWIDTH"
     fi
 
     ## Make large xterms.
@@ -286,6 +294,10 @@ EOF
 ###--------------------------------------------------------------------------
 ### Actually start things up.
 
+if [ -f $HOME/.xinitrc-local ]; then
+  . $HOME/.xinitrc-local
+fi
+
 case "$start" in
   yes)
     info "starting standard clients"