summaryrefslogtreecommitdiff
path: root/TODO
blob: 88b7080c7805ff081ae5e385c53595cc82c934cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
-*- text -*-

In order of importance:

* Changing focus from keyboard

  Save the subwindows of the root window and focus each when pressing
  modkey + user_key_change. First option always last focused window.

  Partly done. I have added a linked list of all windows and can walk
  around them in a simple window ring.

  We need to re-arrange the list so the last focused window gets to be
  the next in ring. Perhaps simply move the focused window to head of
  list after finishing focusing? How do we know when we're finished?
  Both Tab and Mod2 are released. Use a mode?

* Virtual screens/workspaces

  Partially done. Still needed:

  - Handle fixed windows when doing keyboard focus. Do we need them in
    all lists? Or a special list for fixed windows?

  - A window might be on one, several or all virtual screens. Add
    width something like Mod2-f for "all virtual screens" and perhaps
    something like Mod2-a <n>, where <n> is 1--9 for virtual screens.
    Better ways? Note that this seems to be incompatible with the EWMH
    _NET_WM_DESKTOP hint we're currently using.

* "M" and "X" should toggle.

  Store original geom in X properties for the window.

* Move to corners: YU BN.

  Quickly move a window to the corners of the screen, a la evilwm.

* CTWM-like resize, at least with the mouse.

* Use window resizing hints.

  Done, but needs looking over. Needs to use the data in the window
  list instead of asking the server every time.

* Special treatment when someone resizes a maximed window... Should it
  be possible at all? Set new border width when they do it.
  
  Possibly set and read hint about maximized state.

* Figure out why unclutter doesn't work in default mode

  It creates a subwindow and sends a synthetic enter notify back to
  the client.

  unclutter -grab works, though, but that mucks with slock. It makes
  slock unlock the screen after ~20 seconds!

* Flag to disable dontmoveoff?

* GTK apps has some extra windows that are initially unmapped. How do
  we handle these? 

  When we're starting and a GTK program is already running, these
  windows becomes visible on a workspace. How do we handle them? How
  do we know we're not supposed to map them, ever?

* RandR/Xinerama

  Get physical screen characteristics for every screen. Maximize and
  move to corners should consider the screen it's on.

* Key to move to another physical screen.

* Use xcb-event's event handlers?

* Configurable keys.

* Configuration file.