chiark / gitweb /
Found on mariner (already did .bashrc and .emacs)
[ian-dotfiles.git] / scripts / xterm-CT
1 #!/bin/sh
2 set -e
3 titlebase="$1"
4 shift
5 touch "$HOME/.counters/l.$DISPLAY"
6 newcount=`with-lock-ex -w "$HOME/.counters/l.$DISPLAY" perl -e '
7         chdir($ARGV[2]) or die $!;
8         $tb= unpack("H*",$ARGV[1]); $found=0;
9         open(X,"v.$ARGV[0]\0") or die $!;
10         open(Z,">n.$ARGV[0]\0") or die $!;
11         while (<X>) {
12                 if (m/^(\d+) $tb$/o && !$found++) {
13                         $nx= $1+1;
14                 } else {
15                         print Z "$_" or die $!;
16                 }
17         }
18         if (!defined($nx)) { $nx= 1; }
19         print Z "$nx $tb\n" or die $!;
20         close(Z) or die $!;
21         rename("n.$ARGV[0]","v.$ARGV[0]") or die $!;
22         print "$nx\n";
23 ' "$DISPLAY" "$titlebase" "$HOME/.counters"`
24 exec xterm -T "$titlebase"' ['$newcount']' "$@"