]> icculus.org git repositories - mikachu/openbox.git/blob - util/epist/DESIGN
proper scoping
[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, or strings, maybe both.
6  - no interactive string inputs
7 - A config file that doesn't suck
8
9
10 - exec
11 - iconify
12 - raise
13 - lower
14 - close
15 - move to desktop
16 - send to desktop
17 - toggle shade
18 - sticky
19 - move window
20 - resize window
21 - next/prev window (special orders like stacking, grouping, etc?)
22 - maximize/minimize
23 - no stupid window
24 - toggle keybindings
25 - menus?
26
27 class Action {
28  enum type;
29  char *string;
30  int param;
31  Action next;
32 }
33
34 option <name> <value>;
35
36 action [name] <key> <type> <parameter>;
37
38 chain [name] <key> {
39         <action name>,
40         <action name>,
41         ...
42         }
43
44 eg:
45  action emacs C-e exec emacs;
46  action C-a exec aterm -fn smoothansi;
47  action xmms C-x exec xmms;
48
49 chain M-q {
50         emacs,
51         xmms
52         }
53
54 Would produce M-q C-e -> emacs, M-q C-x -> xmms, C-a -> aterm.
55
56