mirror of
https://github.com/xmonad/xmonad.git
synced 2025-07-30 19:51:52 -07:00
40 lines
1.5 KiB
Plaintext
40 lines
1.5 KiB
Plaintext
- tasks before 0.1:
|
|
- Code clean up after tiling and StackSet changes
|
|
- Make sure the quickchecks make sense with the new StackSet
|
|
|
|
- think about the statusbar/multithreading.
|
|
Three shared TVars:
|
|
windowTitle :: TVar String
|
|
workspace :: TVar Int
|
|
statusText :: TVar String
|
|
Three threads:
|
|
Main thread, handles all of the events that it handles now. When
|
|
necessary, it writes to workspace or windowTitle
|
|
|
|
Status IO thread, the algorithm is something like this:
|
|
forever $ do
|
|
s <- getLine
|
|
atomic (writeTVar statusText s)
|
|
|
|
Statusbar drawing thread, waits for changes in all three TVars, and
|
|
redraws whenever it finds a change.
|
|
|
|
- tiling:
|
|
- Layout calculation: the current algorithm is crude, windows overlap
|
|
- windows slightly overlap on i386, do not overlap on amd64,
|
|
implies that it's not xmonad's fault?
|
|
- make focus remain between workspace switches
|
|
- change focus in the StackSet structure on EnterNotify
|
|
- let mod+enter demote a master window
|
|
|
|
* Tile vertically/ resize height.
|
|
|
|
- Xinerama bugs:
|
|
- Closing the last window in a workspace moves focus to another Xinerama
|
|
screen.
|
|
- Focus goes to other Xinerama screen when changing to empty window and
|
|
create new window.
|
|
- Focus doesn't always follow mouse or mouse click across Xinerama screens;
|
|
sometimes focus will only switch with key command to switch to that
|
|
screen.
|