Docking windows?

xivulon xivulon at gmail.com
Thu Dec 1 03:14:05 CET 2005


What about having an option to use a dockable/notebook interface at the
window manager level? It could probably be done with fairly little
overhead/code provided the following are implemented:

1) Border locking, i.e. when a border is resized, the adiacent windows are
also resized. It can be implemented by registering a resize action of a
window whith the border resize event of an adjacent window. Such
"registration" takes place whenever a new window is docked or undocked.

2) Drop zones. i.e. 9 icons displayed whenever a window is moved. 4 icons on
the borders of the screen (screen-dropzones). 5 icons in the middle of the
docked window under the cursor (window-dropzones). When a window is dropped
on one of such icons it gets docked in the appropriate position ( i.e. other
windows are appropriately resized and the borders are locked). The 4
screen-dropzones  will place the window on the  sides/top/bottom of the
screen with the window maximed either vertically or horizontally. The 5
window-dropzones dock the window using half of the space available in the
window under cursor (up/down/left/right) or as a new tab (middle).  If a
window is dropped anywhere else or is maximized it becomes a floating
window. When a docked window is maximized and then restored it gets docked
in its previous position.

3) Windows tabs. Could be inserted inside current window borders (below the
statusbar) as opposed to being attached on the outside as in fluxbox. This
will allow to use current themes and have little impact on other windowing
operations.

Other than the dropzone icons, tabs and some pointer feedback (bidirectional
arrow when pointer is over a border),  no other change to visual elements is
required. Most of the code involves "smart resizing", half of which can be
implemented via border locking.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.xfce.org/pipermail/xfce4-dev/attachments/20051201/41780b67/attachment.html>


More information about the Xfce4-dev mailing list