# $Id: .xinitrc,v 1.60 2025/09/30 04:26:03 grog Exp grog $
echo === .xinitrc
me=`hostname -s`
X=/home/local/X
# Decide on widow mangler
FVWM=fvwm3
# XXX Fix this!
xhost +
xrdb -load $X/.Xdefaults-$me
# One offs
case $me in

  dereel)
    kbdcontrol </dev/ttyv0 -r 250.46
    xset -dpms
#    nvidia-settings --load-config-only
    . ~/xe&
    xset m 1 1
  ;;

  eureka)
    $X/xm             # set up keyboard and mouse
    # Get key map.  For some reason it's different from hydra.
    xmodmap $X/keyboard/sun-map
# XXX check this    nvidia-settings --load-config-only
    . ~/xe&
#    xset m 2 1   # for ALDI mouse
    xset m 1 1
    if [ $DISPLAY = ":0" ]; then
      xterm -name "xterm"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display $DISPLAY.0 -geometry 120x75+53+0 -fn fixed -e bin/lesslog &
      xterm -name "xterm"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display $DISPLAY.0 -geometry 120x27-53+0 -fn fixed -e top -s1 20 &
      xterm -name "xterm"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display $DISPLAY.0 -geometry 120x75-53+0 -fn fixed -e tail -F public_html/net/nbnlinkstats &
   fi
  ;;

  cojones)
    xmodmap -e .xmodmap
  ;;

  hydra)
    $X/xm             # set up keyboard and mouse
    # Get key map
    xmodmap $X/keyboard/sun-map-hydra
    nvidia-settings --load-config-only
    . ~/xe& 			# start xearth
#    xset m 2 1   # for ALDI mouse
    xset m 1 1
    if [ $DISPLAY = ":0" ]; then # XXX
#      xterm -name "xterm"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display $DISPLAY.0 -geometry 120x75+53+0 -fn fixed -e bin/lesslog &
#      xterm -name "xterm"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display $DISPLAY.0 -geometry 120x27-53+0 -fn fixed -e top -s1 20 &
#      xterm -name "xterm"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display $DISPLAY.0 -geometry 120x75-53+0 -fn fixed -e tail -F public_html/net/nbnlinkstats &
      xterm -name "xterm" -display $DISPLAY.0 -e bin/lesslog &
      xterm -name "xterm" -display $DISPLAY.0 -geometry 120x27-53+0 -e top -s1 20 &
      xterm -name "xterm" -display $DISPLAY.0 -geometry 120x75-53+0 -e tail -F public_html/net/nbnlinkstats &
   fi
  ;;

  lagoon | lagune)
    xmodmap -e 'keysym Alt_L = Meta_L Meta_L'
    setxkbmap -model pc105 -layout de -option compose:rwin -variant nodeadkeys
    xinput set-prop "pointer:Logitech USB Receiver" "libinput Accel Speed" -0.5
    xinput set-prop "pointer:Logitech USB Receiver" "libinput Middle Emulation Enabled" 1
    xinput set-prop "Microsoft Basic Optical Mouse"  "libinput Middle Emulation Enabled" 1
# Also:
# setxkbmap -model pc105 -layout us -option compose:rwin
    sleep 2    # XXX
    xclock  -digital -strftime "%A, %e %B %Y, %T" -geometry 400x26-0+0 -update 1 &
    emacs -geometry -0-0 -iconic &
    /usr/local/bin/xterm -name "xterm-lx"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display :0.0 -geometry 100x65+53+0 -fn 9x15 -e /usr/local/bin/mutt &
    kklondike -iconic &
    firefox -iconic &
    xcalc -geometry -80-20 -iconic &
    /usr/local/bin/xterm -name "xterm-rx"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display :0.0 -geometry 100x65-53+0 -fn 9x15 -iconic -e /usr/local/bin/bash &
    /home/local/bin/xearth &
    /home/local/bin/xearth -display lagoon:0.1 &
    /usr/local/bin/xpat2 &
    xset m 1 0
  ;;

  teevee | tiwi)
#    sleep 10
#    echo xmodmap ~/.xmodmap-$me > ~/xmodmap.log
# XXX tweak this until it works
#    xmodmap ~/.xmodmap-$me > ~/xmodmap.log < /dev/tty
    if [ $DISPLAY = ":0" ]; then
    (cd /spool/Images && xterm -name "xterm-lx"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display :0.0 -geometry 90x50+15+0 -fn 10x20 -e /usr/local/bin/bash) &
    (cd /spool/Videos && xterm -name "xterm-lsxraz"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display :0.0 -geometry 90x50+15+0 -fn 10x20 -e /usr/local/bin/bash) &
    (cd /spool/Series && xterm -name "xterm-rx"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display :0.0 -geometry 90x50-15+0 -fn 10x20 -e /usr/local/bin/bash) &
    (cd /spool/Docco && xterm -name "xterm-rsxrad"  -bg BlanchedAlmond -s -sl 2048 -sb -ls -j -rw -display :0.0 -geometry 90x50-15+0 -fn 10x20 -e /usr/local/bin/bash) &
    firefox &
    sleep 2
    fi
    xv -root backdrops/Kangaroos-47-nodung-1080.jpeg &
  ;;

  tvremote)
    maintain x2x -north -to teevee:0 &
    ;;

  *)
    xmodmap ~/.xmodmap-$me ;;

esac

while :; do

  case $me in

# eureka and hydra are special
  eureka | hydra)
      if [ "$me" = "eureka" ]; then
	FVWM=fvwm2		# XXX
      fi
      echo --- display $me$DISPLAY with $FVWM
#      xdpyinfo
    case $DISPLAY in

      ":0")
	  DISPLAY=$DISPLAY xclock  -digital -strftime "%A, %e %B %Y, %T" -geometry 400x29+1220-14 -update 1 &
echo	  $FVWM -display $DISPLAY -f $X/.fvwm/fvwm2rc-$me$DISPLAY
	  $FVWM -display $DISPLAY -f $X/.fvwm/fvwm2rc-$me$DISPLAY.0
# For the moment (20260112), we only have one display
#	  $FVWM -display $DISPLAY.1 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.1 &
#	  $FVWM -display $DISPLAY.2 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.2 &
#	  $FVWM -display $DISPLAY.3 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.3 &
#	  DISPLAY=$DISPLAY.1 xclock  -digital -strftime "%A, %e %B %Y, %T" -geometry 400x29+1220-14 -update 1
	  ;;

      ":1")
	  echo $FVWM -display $DISPLAY.0 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.0
	  $FVWM -display $DISPLAY.0 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.0
	  ;;

# XXX test
      ":2")
	  $FVWM -display $DISPLAY.0 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.0 &
	  $FVWM -display $DISPLAY.1 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.1 &
	  $FVWM -display $DISPLAY.2 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.2 &
	  $FVWM -display $DISPLAY.3 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.3 &
	  DISPLAY=$DISPLAY xclock  -digital -strftime "%A, %e %B %Y, %T" -geometry 400x29+1220-14 -update 1 &
	  DISPLAY=$DISPLAY.1 xclock  -digital -strftime "%A, %e %B %Y, %T" -geometry 400x29+1220-14 -update 1
	  ;;

      ":3")
# This is now a single display, like :1.
	  xterm &		# XXX
	  DISPLAY=$DISPLAY xclock  -digital -strftime "%A, %e %B %Y, %T" -geometry 400x29+1220-14 -update 1  &
# 	  DISPLAY=$DISPLAY.1 xclock  -digital -strftime "%A, %e %B %Y, %T" -geometry 400x29+1220-14 -update 1 &
	  $FVWM -display $DISPLAY.0 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.0
# CARE: No & at end of last entry
#	  $FVWM -display $DISPLAY.1 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.1
	  ;;

      ":4")			# Another test, 20240727
echo	  $FVWM -display $DISPLAY.0 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.0 &
	  $FVWM -display $DISPLAY.0 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.0 &
echo	  $FVWM -display $DISPLAY.1 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.1 &
	  $FVWM -display $DISPLAY.1 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.1 &
echo	  $FVWM -display $DISPLAY.2 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.2 &
	  $FVWM -display $DISPLAY.2 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.2 &
echo	  $FVWM -display $DISPLAY.3 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.3 &
	  $FVWM -display $DISPLAY.3 -f $X/.fvwm/fvwm3rc-$me$DISPLAY.3 &
	  DISPLAY=$DISPLAY xclock  -digital -strftime "%A, %e %B %Y, %T" -geometry 400x29+1220-14 -update 1 &
	  DISPLAY=$DISPLAY.1 xclock  -digital -strftime "%A, %e %B %Y, %T" -geometry 400x29+1220-14 -update 1
	  ;;

      esac

   ;;

# dereel was special, now no more?
#  dereel)
#    if [ "$DISPLAY" = ":1" ]; then
#	fvwm2 -s -display :1.0 -f $X/.fvwm/fvwm2rc-$me:1.0
#    else
#	fvwm2 -s -display :0.0 -f $X/.fvwm/fvwm2rc-$me:0.0 &
#	fvwm2 -s -display :0.1 -f $X/.fvwm/fvwm2rc-$me:0.1 &
#	fvwm2 -s -display :0.2 -f $X/.fvwm/fvwm2rc-$me:0.2
#    fi
#   ;;

# And Yvonne doesn't want a second display
#   lagoon)
#	fvwm2 -s -display :0.0 -f $X/.fvwm/fvwm2rc-$me:0.0
#	fvwm2 -s -display :0.1 -f $X/.fvwm/fvwm2rc-$me:0.1
#   ;;

  teevee)			# XXX migrating to fvwm3
      FVWM=fvwm3
      $FVWM -display $DISPLAY.0 -f $X/.fvwm/fvwm3rc-$me:0.0 ;;

# Default for machines with only one display
  *)
    echo $FVWM -display $DISPLAY.0 -f $X/.fvwm/fvwm3rc-$me:0.0
    $FVWM -display $DISPLAY.0 -f $X/.fvwm/fvwm3rc-$me:0.0 ;;

  esac
  echo status $?
done
