Months of work are finally paying off. The window manager is almost complete -- only small stuff like not allowing windows to be moved or resized, window alignment and a few BWindow flags, focus follow mouse (and the bugs I did not found so far :-), or things that slipped past me) remain to be implemented. We have support for all kinds of windows specified in the BeBook: Normal, Floating App/Subset/All, Modal App/Subset/All windows. Beside those, I added support for 2 kinds of windows: one is used by Tracker and it is the backmost window and the other one will be available only for the system -- it will have focus and will be above ALL other windows.
Workspace support has also been implemented. One can move a window from one workspace to another in an app by calling BWindow::SetWorkspaces() or just by holding its tab and changing workspaces.
Here are some pictures of the window manager in action. The number on the left of window name represents application's team_id:
Next, we have 4 workspaces and put 2 windows workspaces 1, 2, and 3. They were moved by holding window tab and changing workspaces with the keyboard. |
bye,
Adi.