                          (if @(:shift-mode controller) :bright :dim)))
     
     (render-cue-grid controller)
-
-    ;; Activate the arrow buttons for directions in which scrolling is possible.
-    (let [[origin-x origin-y] @(:origin controller)]
-      (when (pos? origin-x)
-        (swap! (:next-text-buttons controller)
-              assoc (:left-arrow control-buttons)
-              (button-state (:left-arrow control-buttons) :dim)))
-      (when (pos? origin-y)
-        (swap! (:next-text-buttons controller)
-              assoc (:down-arrow control-buttons)
-              (button-state (:down-arrow control-buttons) :dim)))
-      (when (> (- (controllers/grid-width (:cue-grid (:show controller))) origin-x) 7)
-        (swap! (:next-text-buttons controller)
-              assoc (:right-arrow control-buttons)
-              (button-state (:right-arrow control-buttons) :dim)))
-      (when (> (- (controllers/grid-height (:cue-grid (:show controller))) origin-y) 7)
-        (swap! (:next-text-buttons controller)
-              assoc (:up-arrow control-buttons)
-              (button-state (:up-arrow control-buttons) :dim))))
-
+    (update-scroll-arrows controller)
+    
     ;; Make the User button bright, since we live in User mode
     (swap! (:next-text-buttons controller)
            assoc (:user-mode control-buttons)

        fx-info @(:active-effects (:show controller))
        fx (:effects fx-info)
        fx-meta (:meta fx-info)
        num-skipped (- (count fx-meta) room)]
    (if (seq fx)
      (do (loop [fx (drop num-skipped fx)
                 fx-meta (drop num-skipped fx-meta)
                 x first-cell]
            (let [effect (:effect (first fx))
                  info (first fx-meta)

  [controller note]
  (let [room (room-for-effects controller)
        fx-info @(:active-effects (:show controller))
        fx (:effects fx-info)
        fx-meta (:meta fx-info)
        num-skipped (- (count fx-meta) room @(:effect-offset controller))
        fx (vec (drop num-skipped (:effects fx-info)))
        fx-meta (vec (drop num-skipped (:meta fx-info)))
        offset (- 4 room)
        x (quot note 2)
        index (- x offset)
