TODO
-*- text -*-
* Extended Window Manager Hints (EWMH)
- Use the new xcb-ewmh for the EWMH hints.
I suggest listing least these in _NET_SUPPORTED (* marks
implemented):
_NET_NUMBER_OF_DESKTOPS, _NET_WM_DESKTOP*,
_NET_WM_STATE, _NET_WM_STATE_STICKY,
_NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_HIDDEN,
_NET_WM_STATE_FULLSCREEN, _NET_ACTIVE_WINDOW
_NET_NUMBER_OF_DESKTOPS can be set to the constant WORKSPACES.
* add xbindkeys/xchainkeys
* Write a better README.md
* resizing like in monsterwm? no pointer warp and be able to resize the 4 corners
* change the pointer while moving or resizing
* make the resize only draw lines
* the keep aspect ratio with mouse
* configs in a text file, dynamically updated
* Handle new modes on physical outputs. What do we have to do?
* A separate workspace list for every monitor.
* static Makefile problem
* Menu
We might need a menu for hidden windows. Since I'm probably
implementing menu windows anyway, perhaps I should add a menu with
basic window functions, like 9wm and twm. This way, one might use
the window manager without keyboard, if necessary. Not much work if
I have to do the menu anyway... But also chords?
On the other hand, see hidden.c and forthcoming external menu
program.
* Chords
Maybe have mouse button chords to do move and resize? Configurable
if on or off?
Idea from Christian Neukirchen.
* Gaps on borders for docks, status windows et cetera.
Keep space reserved for Conky, dzen2 et cetera.
Also respect EWMH hints _NET_WM_TYPE_DOCK and _NET_WM_TYPE_DESKTOP.
* Code cleaning
- Use bitfields instead of extra lists for workspaces?