43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
T is max height in row
|
|
S(T) is all widgets with height T
|
|
R(T) is all widgets with height < T
|
|
X is len(R) > 0 ? 1 : 0
|
|
C is len(S) + X
|
|
Make row
|
|
Make C columns
|
|
Place S
|
|
Recurse with R; place result
|
|
|
|
|
|
1 2 3 4 5
|
|
cpu/2............... mem/1. 6:procs/2..........
|
|
3:temp/1. 2:disk/2......... |..................
|
|
|........ |................ |..................
|
|
|........ power/2.......... |..................
|
|
net/2............... batt.. |..................
|
|
|
|
1 2 3 4 5
|
|
cpu/2............... 6:procs/2........ mem/1...
|
|
2:disk/2............ |................ 3:temp/1
|
|
|................... |................ |.......
|
|
power/2............. |................ |.......
|
|
net/2............... |................ batt
|
|
|
|
1 2 3 4 5
|
|
1x2................. 3x2.............. 1x1..... 221 221
|
|
2x2................. ||||||||||||||||| 3x1..... 21 2x1
|
|
|||||||||||||||||||| ||||||||||||||||| ||||||||
|
|
1x1...... 1x1...... 1x2.............. 1x1..... 1121
|
|
1x2................. 1x2.............. |||||||| 22 22x
|
|
1x1...... 1x4................................... 14
|
|
|
|
initial columns = initial row
|
|
fill
|
|
pattern for row
|
|
does pattern fit columns?
|
|
yes: place widgets
|
|
no: new row w/ new columns; fill
|
|
|
|
does fit
|
|
cw < patt_c_w
|