home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
text
/
jed
/
macros
/
stackwins
< prev
Wrap
Text File
|
1995-02-27
|
1KB
|
89 lines
; (c) 1992-3 J.Harper
; macro to stack windows
; (stackwins <dir> <type>)
; <dir> `x' or `y' (direction to stack in)
; <type> `a', `v' or `f' (what windows to stack)
; now ignores sleeping windows.
(macro `stackwins'
{
(local
`maxx' (info `screenx')
`maxy' (info `screeny')
`maxwin' @
`actwin' 0
`i' @
`type' (arg 2 `s' `type (a/v/f)> ')
)
(select
(== type `a')
{
(= `maxwin' (info `windows'))
}
(== type `v')
{
(= `maxwin' (info `views'))
}
(== type `f')
{
(= `maxwin' (info `files'))
}
{
(settitle (format `error: unknown type %s' type))
(return)
}
)
(= `i' 0)
(while {(!= i maxwin)}
{
(if (! (info `asleep'))
{
(= `actwin' (+ actwin 1))
})
(= `i' (+ i 1))
(nextwind type)
})
(if (== (arg 1 `s' `direction (x/y)> ') `y')
{
(local
`sizey' (/ maxy actwin)
`curry' 0
)
(= `i' 0)
(while {(!= i maxwin)}
{
(if (! (info `asleep'))
{
(position 0 curry maxx sizey)
(= `curry' (+ curry sizey))
})
(nextwind type)
(= `i' (+ i 1))
})
}
{
(local
`sizex' (/ maxx actwin)
`currx' 0
)
(= `i' 0)
(while {(!= i maxwin)}
{
(if (! (info `asleep'))
{
(position currx 0 sizex maxy)
(= `currx' (+ currx sizex))
})
(nextwind type)
(= `i' (+ i 1))
})
})
})