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
|
Some BUGS:
- keyboardfocus stays in window, if cursor is over it and herbstluftwm-focus goes away
- set range for some integer-setting-values
- don't always re-layout all if only one thing changes (e.g. border_color)
- don't reset border width on each layouting
- herbstclient: add timeout if server doesnot respond
- herbstclient: errorstatus2string2stderr
- herbstclient: -h
- add function to put window into tag (and use it in manage, merge_tag, move)
- the default panel.sh spawns too many shells and doesnot clean them up
properly at quit. you should do something like killall panel.sh when
logging out (this is only a workaround!).
- Ensure stacking order is right (TODO: frame_restack())
- Also handle stacking order right when switching desktops to avoid
flickering. the xmonad-mailinglist tells:
When changing desktop, you can map all the windows on the new desktop
with a higher z-value than any of the windows on the old desktop, then
unmap all the windows on the old desktop.
- separate layout.[hc] into modules: layout, monitor, tag
- raise_on_click doesn't work if raise_on_click and numlock is enabled
- raise_on_click doesn't work with gnome-settings-daemon
- window_gap actually should be called frame_gap
- window_focus is called twice when switching desktops (before mapping
windows and after mapping them). TODO: only do it once.
- also update window title if *only* the _NET_WM_NAME changes
Planned features:
- dump/load floating values
- jumpto urgent
- (optional) move cursor after focus change
- optional focus selection after frame_split
- focus_follows_mouse based on frames/monitors
- mouse bindings in tiling mode
- better xcompmgr support
- keybind with keycodes
- chain keys/key chains/...
- lastfocused{window,frame,tag} - commands
- own X-Properties to indicate window state (fullscreen, pseudotile, float,...)
- bind multiple commands to one keycombindation via keybind, keybindadd
- double window border to give a good contrast to dark backgrounded and
light backgrounded windows.
- provide multiple mechanisms to split clients to child frames:
* 100:0 (and vice versa)
* 50:50
* clients before focus to the first child, others to the second
- automatic split command which splits along the longest side
- catchall for frames (this frame will catch all new clients)
- try to find a empty frame for new clients
- (currently unknown) handling of WM_TRANSIENT_FOR
- move clients in pseudotile mode
- allow clients to change their own floating size or even position (and
make it configurable per rules)
- transparent frames
- add a commant close_or_remove that closes the current window or removes
the current frame if it is empty
|