(when (null window-system)
  (display-time-mode)
  (when (string-match "\\`screen" (getenv "TERM"))
    (mapc (lambda (x)
	    (define-key function-key-map (car x) (cdr x)))
	  (nconc 
	   ;; rxvt-unicode
	   '(("\e[1~" . [home])
             ("\e[4~" . [end])
             ("\e[5~" . [prior])
             ("\e[6~" . [next])
             ("\eOa" . [C-up])
             ("\eOb" . [C-down])
             ("\eOc" . [C-right])
             ("\eOd" . [C-left])
	     ("\e[a" . [S-up])
	     ("\e[b" . [S-down])
	     ("\e[c" . [S-right])
	     ("\e[d" . [S-left])
             ("\eOm" . [kp-subtract])
             ("\eOj" . [kp-multiply])
             ("\eOo" . [kp-divide])
             ("\eOM" . [kp-enter]))
           ;; gnome-terminal
           '(("\eO3A" . [M-up])
             ("\eO3B" . [M-down])
             ("\eO3C" . [M-right])
             ("\eO3D" . [M-left])
             ("\eO5A" . [C-up])
             ("\eO5B" . [C-down])
             ("\eO5C" . [C-right])
             ("\eO5D" . [C-left])
             ("\eO7A" . [C-M-up])
             ("\eO7B" . [C-M-down])
             ("\eO7C" . [C-M-right])
             ("\eO7D" . [C-M-left])
             ("\e[Z" . [S-iso-lefttab]))))))