summaryrefslogtreecommitdiff
path: root/TODO
blob: a07302563543cad127e97545512f64d80f55b5fb (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
80
81
82
83
84
85
86
87
88
89
90
BUGS:

- Audit the code for memory leaks, I don't clean up things diligently on
  destroy of things, especially surrounding X resources I presume.

- There seems to be a problem with automatically focusing the remaining window
  when the focused window is unmanaged.  Seems like I can simply repro. this by
  starting iceweasel in an empty desktop.  It seems to be due to the 10x10 plugin
  container window, why are we tripped up by this little window?  Why is this
  window managed but not focusable? fucking X

- Shelving a window doesn't focus it in the shelf context (is this limited to
  only migration shelving?)

- A floating window in the shelf, even when rendered as focused, doesn't behave
  as it's focused.... this is really annoying.  I really need to formalize the
  multi-window (new window) behavior within the shelf, it's totally undefined
  currently, I just avoid launching things in the shelf and don't run apps which
  create windows from within it.

  ... 

  Window creation while in the shelf is still a bit odd.  The shelf isn't
  intended to be a multi-window context, but it probably makes sense to
  allow temporary situations on new windows in the shelf where windows
  coexist/potentially overlap.  In such a situation, the new window should
  be mapped and raised but not focused, as well as being flagged as shelved.
  Focusing the newly created window via Mod1+Tab or a click-to-focus should
  not unmap the currently focused window, but should focus the new window,
  temporarily adopting virtual-desktop behavior within the shelf.  If the
  window is closed/destroyed, the previously focused shelved window resumes
  focus.  If the shelf is exited and reentered, the newly created and
  shelved window becomes the exclusively mapped and focused window.  The
  multi-window state within the shelf is a transient one which ceases to
  occur the moment the shelf context is left or a subsequent Alt+Tab further
  cycles the focused shelf, unmapping the currently mapped windows.

- Mod1+d destruction of an empty virtual desktop should probably require double
  press of the 'd', and perhaps a visual indicator of emminent destruction after
  the initial 'd'.


FEATURES:

- It would be useful if fullscreened windows obscured their border when they are
  not obscured, as-is I lose a pixel on each edge in fullscreen xterms just so I
  can see if the window is focused or not via the border color.  This is only
  appreciated when focus is potentially ambiguous.  Come up with a good approach
  which allows obstruction of the border while still showing the border in
  potentially ambiguous situations.

- Mod1+enter currently toggles between the currently user-specified (starts out
  at client-configured) dimensions, and full-screen.  I think it would be useful
  to support 3 states, the clients originally configured dimensions, the
  user-specified dimensions (if they have been varied from the client-configured
  dimensions) and full-screen.  This needs more thought, because it might not 
  be very intuitive to sometimes have 3 persisted window states vs. 2, depending
  on if the user has reconfigured the window dimensions, perhaps it should just
  always be 3 but sometimes 2 of them are identical.

- Mod1+right click resizing should insert a short delay before actually applying
  motion events for resizing, this better facilitates the use case of
  click-focusing without raising, without accidental resizes occuring.  This
  window of time could also be leveraged to discover on what axis the resize is
  to occur (compound vs x vs y).  The resize outcome of the motion events which
  occur in this delay period should still become realized rather than discarded,
  should the resize last long enough to become realized rather than suppressed
  and treated as only a focus without raise event.

- Window cycling should probably be reversible (shift+Mod1+Tab?)

- Window placement is static, at least cascade, preferably intelligent
  placement resorting to cascade when the desktop is filled.  I actually like how
  wmaker 'auto mode' tries to fill open spaces with window placement then falls
  back to cascade once no open spaces exist to accomodate the created window's
  preferred size.

- Virtual desktop genesis needs to query the user for the name, and create a
  full-screen xterm running screen -S $desktopname for the root (or something)

- Implement screen lock (right now I use xlock, I want something integrated which
  does the following:
  * disable sysrq on screen lock via /proc/sys/kernel/sysrq, restores sysrq on unlock

  * disable VT switching on screen lock (unsure how right now), restore VT switching
    on unlock

  * if possible, disable ctrl-alt-backspace, allowing me to run Xorg with this enabled
    without making my desktop totally insecure.  When unlocked I like this ability, but
    when locked it can't be available for obvious reasons.
© All Rights Reserved