commit 3cff6fff61f6b8f37e1e1e9408406eb16ad0823d
parent 44cea2d241c7e2cdfb6727db01593220de8a8371
Author: Anselm R. Garbe <garbeam@wmii.de>
Date: Mon, 12 Jun 2006 12:11:22 +0200
updated TODO
Diffstat:
3 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/TODO.wmii-4 b/TODO.wmii-4
@@ -1,17 +1,6 @@
- fs2.c refactorings
- implement /lbar/ and /rbar/ (first label of /rbar/ should take up the rest available space)
-- idea for column mode:
- 100: is the current default mode with fallback (shows arbitrary clients)
- 0: is the current max mode, shows only one client at the time (same bahvior
- as current) n: shows n clients, in stacking mode, using the
- selected client as center,
- n == 1 is current stacking mode,
- n == equal will use the center of (n/2),
- n == unequal has always a center element.
- Visible clients should only change when a formerly hidden
- (stacked) client is made visible. So, when the fifth client is focused
- and made visible, the third would disappear (with n=2) -- this means on
- boundaries, like in mutt(1).
+- idea for column mode: add collapsing to each Frame, add revert Xrectangle, remove column modes, add max flag to each Frame (maximizes to area until next navigation action within this area)
- do better relaxation (remove /def/border and calculate borders dynamically)
- re-introduce mouse based resizals (titlebar and border)
- liblitz: window abstraction (creation, events), can be reused in menu and bar
diff --git a/cmd/wm/frame.c b/cmd/wm/frame.c
@@ -18,9 +18,10 @@ create_frame(Area *a, Client *c)
f->id = id++;
f->area = a;
f->client = c;
- f->rect = c->rect;
+ f->revert = f->rect = c->rect;
f->rect.width += 2 * def.border;
f->rect.height += def.border + height_of_bar();
+ f->collapsed = False;
a->sel = f;
c->sel = f;
diff --git a/cmd/wm/wm.h b/cmd/wm/wm.h
@@ -118,7 +118,9 @@ struct Frame {
Area *area;
unsigned short id;
XRectangle rect;
+ XRectangle revert;
Client *client;
+ Bool collapsed;
};
struct Client {