change how the widgets' _dirty flag works so that all inheritence levels of the widge...
[mikachu/openbox.git] / util / epist / DESIGN
1 Epist design notes, by woodblock
2 --------------------------------
3
4 - Chained keybindings like emacs, and I suppose vi if you're wierd like that.
5 - most actions can take extra parameters. probably only numbers,
6   or strings, maybe both.
7 - no interactive string inputs
8 - A config file that doesn't suck
9
10
11 - exec
12 - iconify
13 - raise
14 - lower
15 - close
16 - move to desktop
17 - send to desktop
18 - toggle shade
19 - sticky
20 - move window
21 - resize window
22 - next/prev window (special orders like stacking, grouping, etc?)
23 - maximize/minimize
24 - no stupid window
25 - toggle keybindings
26 - menus?
27
28 class Action {
29  enum type;
30  char *string;
31  int param;
32  Action next;
33 }
34
35 option <name> <value>;
36
37 action [name] <key> <type> <parameter>;
38
39 chain [name] <key> {
40         <action name>,
41         <action name>,
42         ...
43         }
44
45 eg:
46  action emacs C-e exec emacs;
47  action C-a exec aterm -fn smoothansi;
48  action xmms C-x exec xmms;
49
50 chain M-q {
51         emacs,
52         xmms
53         }
54
55 Would produce M-q C-e -> emacs, M-q C-x -> xmms, C-a -> aterm.
56
57