#!/usr/athena/bin/perl

$newws = shift(@ARGV);

exit if(fork());

$xwininfo = `xwininfo`;

$*=1;

$xwininfo =~ /Window id: (0x[^ ]+) /;
$id = $1;

&readstate();
$sws{$id} = $newws;
&writestate();

sub readstate {
    open(WS, "/tmp/.workspaces.$ENV{'USER'}");
    while(<WS>){
	($wid, $ws, $state) = split;
	$sws{$wid} = $ws;
	$state{$wid} = $state;
    }
    close(WS);
}

sub writestate {
    open(WS, ">/tmp/.workspaces.$ENV{'USER'}");
    for $wid (keys %sws){
	print WS "$wid $sws{$wid} $state{$wid}\n";
    }
    close(WS);
}
