#!/bin/rc
. /bin/riostart/common.rc
# -- FUNS
fn TopRow{
{ xlen=$1 ; shift 1 } # param 1: list x length
{ x=$*(1-$xlen) ; shift $xlen } # param 2: list x
{ ylen=$1 ; shift 1 } # param 3: list y length
{ y=$*(1-$ylen) ; shift $ylen } # param 4: list y
# -- stats
window -r ($x(1) $y(1) \
`{echo $x(2) - 260|bc} $y(2)) stats -lme term.home nine.home
# -- vdir
window -r (`{echo $x(2) - 250|bc} $y(1) \
`{echo $x(3) + 250|bc} $y(2)) vdir
# -- winwatch
window `{echo $x(3) + 260|bc}^,^$y(1)^,^$x(4)^,^$y(2) winwatch -e '^(clock|winwatch|stats|faces|vdir)'
}
fn MidRow{
{ xlen=$1 ; shift 1 } # param 1: list x length
{ x=$*(1-$xlen) ; shift $xlen } # param 2: list x
{ ylen=$1 ; shift 1 } # param 3: list y length
{ y=$*(1-$ylen) ; shift $ylen } # param 4: list y
w=`{echo $x(4) - $x(1)|bc}
h=`{echo $y(4) - $y(3)|bc}
PutWsDim $w $h
# -- Workspaces
window -hide -r ($x(1) $y(3) $x(4) $y(4)) rio -i riostart/ws/www
window -hide -r ($x(1) $y(3) $x(4) $y(4)) rio -i riostart/ws/irc
# -- acme
window -r ($x(1) $y(3) $x(4) $y(4)) acme -c3 -a
# -- rc (left|right)
window -hide -scroll -r ($x(1) $y(3) $x(2) $y(4)) 'label rc:left; rc'
window -hide -scroll -r ($x(3) $y(3) $x(4) $y(4)) 'label rc:right; rc'
# -- rcpu (left|right)
window -hide -scroll -r ($x(1) $y(3) $x(2) $y(4)) 'label nine:rc:left; rcpu -p'
window -hide -scroll -r ($x(3) $y(3) $x(4) $y(4)) 'label nine:rc:right; rcpu -p'
}
fn BotRow{
{ xlen=$1 ; shift 1 } # param 1: list x length
{ x=$*(1-$xlen) ; shift $xlen } # param 2: list x
{ ylen=$1 ; shift 1 } # param 3: list y length
{ y=$*(1-$ylen) ; shift $ylen } # param 4: list y
# -- kmesg
window -scroll -r ($x(1) $y(5) \
`{echo $x(2) - 90|bc} $y(6)) 'label console:term; tail +0f /dev/kmesg'
# -- clock
window -r (`{echo $x(2) - 80|bc} $y(5) \
`{echo $x(3) + 80|bc} $y(6)) clock
# -- faces
window -scroll -r (`{echo $x(3) + 90|bc} $y(5) \
$x(4) $y(6)) faces -i
}
fn TileScreen{
Dim=(`{ScrDim}) # screen dimension (W x H)
W=$Dim(1)
H=$Dim(2)
s=5 # space from border
w=`{echo $W | awk '{print $1/2}'} # window width ratio
h=`{echo $H | awk '{print $1/10}'} # window height ratio
# x..list of x point pairs (2 columns -> 2 pairs)
x=(`{echo $w $s | awk '{printf("%d %d %d %d",
(0*$1)+$2 , (1*$1)-$2,
(1*$1)+$2 , (2*$1)-$2)}'})
# y..list of y point pairs (3 rows -> 3 pairs)
y=(`{echo $h $s | awk '{printf("%d %d %d %d %d %d",
(0*$1)+$2 , ( 1*$1)-$2,
(1*$1)+$2 , ( 9*$1)-$2,
(9*$1)+$2 , (10*$1)-$2)}'})
TopRow $#x ($x) $#y ($y)
MidRow $#x ($x) $#y ($y)
BotRow $#x ($x) $#y ($y)
}
# -- MAIN
TileScreen