     else if(is_command(str, "eshift"))   do_elastic_shift(sub_args[0]);
     else if(is_command(str, "pshift"))   do_power_shift(sub_args[0]);
     else if(is_command(str, "pshifto"))  power_shift_object(sub_args[0], sub_args[1]);
+    else if(is_command(str, "window"))   set_window(sub_args[0]);
     else if(is_command(str, "demo"))     do_demo();
     else if(is_command(str, "static"))   start_static();
     else if(is_command(str, "red"))      push_color(red);

#define EASE_COUNT 32
#define POWER_EASE_COUNT 24
#define EASE_DELAY 2
#define POWER_EASE_DELAY 2
#define EASE_ANIM_MARGIN 15

#define ANIM_LED_COUNT 64

  }
}

// for limiting effects to preserve later pixels
int window = 0;

void push_color(rgb_color color, bool display = false, int effect = NO_EFFECT, rgb_color *buffer = colors, int max = window){
  if(max == 0){
    max = ANIM_LED_COUNT;
  }
  shift_buffer(buffer, true, max);
  
  buffer[0] = color;
