diff -uNr ratpoison.orig/src/actions.c ratpoison/src/actions.c --- ratpoison.orig/src/actions.c 2005-12-09 03:58:45.000000000 +0100 +++ ratpoison/src/actions.c 2005-12-09 06:07:08.000000000 +0100 @@ -277,6 +277,8 @@ add_command ("setenv", cmd_setenv, 2, 2, 2, "Variable: ", arg_STRING, "Value: ", arg_REST); + add_command ("sfrestore", cmd_sfrestore, 1, 1, 1, + "Frames: ", arg_REST); add_command ("shrink", cmd_shrink, 0, 0, 0); add_command ("source", cmd_source, 1, 1, 1, "File: ", arg_REST); @@ -4444,6 +4446,78 @@ } cmdret * +cmd_sfrestore (int interactively, struct cmdarg **args) +{ + int out_of_screen = 0; + int number_of_frames = 0; + int j; + long x; + char *dup; + char *token; + char *ptr; + struct sbuf *buffer[num_screens]; + + /* initialize frameset-buffer for each screen */ + for (j=0; j