public wiki contents of
git clone git://
Log | Files | Refs (2469B)

      1 Dynamic window management
      2 =========================
      3 We think that static window management as seen in Ion or wmi-10 is a far too
      4 rigid and inflexible working environment. In [acme](,
      5 larswm, and oberon, dynamic window management frees the user from these
      6 limitations. The user can start as many applications and windows as he likes,
      7 and easily arrange them in a useful way, helped by the window manager - the
      8 working environment changes with the tasks the user is performing. The
      9 experience is very fluid and natural. Similar concepts have been introduced in
     10 wmii and dwm.
     12 Dynamic window management states that it is the window manager's job to manage
     13 windows - and not the user's job to have to set up some specialized layout that
     14 will only work for one specific work scenario. This has been the larswm motto
     15 for a long time. In contrast to static window management, the user rarely has
     16 to think about how to organize windows, no matter what he is doing or how many
     17 applications are running at the same time. The window manager adapts to the
     18 current environment and helps the user manage and mold it to his needs, rather
     19 than forcing it to use a preset, fixed layout and trying to shoehorn all
     20 windows and applications into it.
     22 Dynamic window management has many advantages - you can create and tear down
     23 whole working environments in a matter of seconds rather than spending time
     24 fine-tuning a fixed layout that cannot work well in all cases. The number and
     25 nature of windows you work with changes all the time, and a dynamic window
     26 manager lets you adapt to that and always efficiently use your precious screen
     27 real estate.
     29 Some will argue that you should setup a different static workspace for each of
     30 the tasks you perform (one for web browsing, one for email reading, one for
     31 coding, etc.), but that is just a workaround for the limitations of static
     32 window management, and it doesn't account for the many sub-usage patterns each
     33 main task has.
     35 For example: the layout you use during debugging would probably be quite
     36 different to the one used during refactoring, you might want to have a patch
     37 someone emailed you in view while you look at some code, or edit a
     38 configuration file while you look at a man page or website. Dynamic window
     39 management lets you mix and match on the fly to always have the windows you
     40 need in view, and only the windows you need, without the need to reserve extra
     41 space which you may or may not end up using.